The 3D viewer draws every camera the same colour. Make coverage legible: colour or highlight each camera by whether it currently sees the object, and shade the overlap regions.
Scope
- For a chosen frame (or across the animation from the sibling animate issue), colour each camera frustum by its
in_view flag for that frame (e.g. green = sees the object, grey = blind), read straight from the manifest's per-camera in_view.
- Optionally draw a light ray/line from each seeing-camera to the object, so overlap (2+ cameras on one object) is obvious.
- Add a small legend / per-frame coverage count.
Acceptance
- On the
handoff_ltr scene, a rendered frame clearly shows the left camera green early and grey late, the right cameras the reverse, and the wide camera green throughout.
- Reads
in_view from the manifest (no reprojection in the viewer). ruff + mypy clean.
Pointers
scripts/view_scene_3d.py, src/multicam_sim/handoff_ltr.py (its test documents the exact coverage pattern), manifest entities[*].frames[*].points[*].per_cam[*].in_view.
The 3D viewer draws every camera the same colour. Make coverage legible: colour or highlight each camera by whether it currently sees the object, and shade the overlap regions.
Scope
in_viewflag for that frame (e.g. green = sees the object, grey = blind), read straight from the manifest's per-camerain_view.Acceptance
handoff_ltrscene, a rendered frame clearly shows the left camera green early and grey late, the right cameras the reverse, and the wide camera green throughout.in_viewfrom the manifest (no reprojection in the viewer). ruff + mypy clean.Pointers
scripts/view_scene_3d.py,src/multicam_sim/handoff_ltr.py(its test documents the exact coverage pattern), manifestentities[*].frames[*].points[*].per_cam[*].in_view.