# A real camera into the viewer, and the worked example of wiring this node to # something that is not a test fixture. # # Not run by CI: it needs a camera and it fetches dora-webcam over the network. # dataflow.yml is the gate, and needs neither. # # This needs anonymous read access to the camera's repository. dora-cli 1.0.1 # fetches through libgit2 with no credential callback, so ssh:// cannot # authenticate at all and anything asking for credentials fails with "remote # authentication required but no callback set". On Gitea, marking the repository # public is not enough: a repository inside a private organization is internal # and answers an anonymous clone with 401, so the organization must be public. # # `strict_types` is deliberately absent. A camera publishes an image and nothing # else, and `dora validate --strict` warns about every *typed* input this node # declares that a dataflow leaves unwired -- depth, camera_info and text here. # The wiring is correct; the strictness is aimed at the self-contained dataflow, # which drives all of them. nodes: - id: camera git: https://gitea.liria.cl/liria/dora-webcam.git tag: v0.1.1 build: uv pip install . path: dora-webcam inputs: tick: dora/timer/millis/33 outputs: - image # dora-webcam's own manifest says this, but a `git:` node's manifest is not # read at validate time -- only at build. Repeating it here is what makes # the two contracts checked against each other now rather than at runtime. output_types: image: std/media/v1/Image - id: view path: dora-image-view build: uv pip install . inputs: image: camera/image