docs: add visualization conventions and update visualizer defaults

This commit is contained in:
2026-02-08 07:38:23 +00:00
parent d07c244817
commit dc2d34dd7c
9 changed files with 392 additions and 7 deletions
@@ -0,0 +1,17 @@
## 2026-02-08: Visualization Conventions Documentation
### Key findings from codebase analysis:
- `visualize_extrinsics.py` went through 7+ iterations (commits `6113d0e``d07c244`)
- The core confusion was conflating Plotly view transforms with data-frame transforms
- `world_to_plot()` is now a no-op identity function — all data stays in OpenCV frame
- Plotly `camera.up = {y:-1}` is the correct way to render Y-down data without transforming it
- `autorange: "reversed"` was a red herring — it flips tick labels, not data
- `inside_network.json` uses a different world frame (Fusion/gravity-aligned) than calibrate_extrinsics.py (ArUco marker object frame)
- README.md has 3 stale references to removed flags: `--pose-convention`, `--world-basis`, `--diagnose`
### Conventions confirmed:
- Poses are `world_from_cam` (solvePnP result is inverted before saving)
- RGB = XYZ color convention for axis triads
- All units are meters
- `--origin-axes-scale` controls origin triad independently from `--scale`