diff --git a/docs/session_summaries/2026-01-28-documentation-update-relative-rendering.md b/docs/session_summaries/2026-01-28-documentation-update-relative-rendering.md new file mode 100644 index 0000000..d3be035 --- /dev/null +++ b/docs/session_summaries/2026-01-28-documentation-update-relative-rendering.md @@ -0,0 +1,59 @@ +# 2026-01-28 - Documentation Update for Relative Rendering + +## Changes Made + +Updated rendering documentation to accurately reflect the actual implementation of the relative rendering system. The original planning document (`docs/planning/local_rendering_frame.md`) described a dual-frame local rendering system that was not implemented. The actual solution was simpler: relative rendering with linear scaling and child indicators. + +## Commits + +1. `2b68e2e` - Update rendering documentation to reflect relative rendering implementation + +## Documentation Updates + +### `docs/rendering.md` (+46 lines, updated) + +**Updated sections:** +- **Overview**: Changed from "logarithmic distance scaling" to "linear distance scaling, relative rendering with child indicators" +- **RenderState struct**: + - Removed: `previous_selected_body`, `was_following_body` + - Added: `last_target_index`, `camera_target_enabled` +- **Scaling Factors**: + - Changed from logarithmic scaling with separate size scale (0.02) + - To linear scaling with unified distance/size scale (1e-9 for both) + - Removed `scale_radius()` log10 formula +- **Camera System**: Added documentation for `get_initial_camera_distance()` function +- **Child Indicators**: New section added: + - NASA Eyes-style hollow circles (20px radius, 2px thickness) + - Text label centered inside + - White for bodies, cyan for spacecraft + - Only shown when body selected + - Uses `GetWorldToScreen()` after `EndMode3D()` +- **Relative Rendering**: New section added: + - Body selected: body at origin, children relative, full float precision + - Spacecraft selected: parent relative to spacecraft, no siblings + - Benefits: improved visibility, better precision, auto camera positioning +- **Render Order**: Added child indicators at position 6 +- **Module Functions**: Added `get_initial_camera_distance()` to Camera section +- **TODO Items**: Added 2 items from planning doc: + 1. Distant Bodies (indicators for non-children) + 2. Smooth Frame Transitions (interpolation) + +### `docs/planning/local_rendering_frame.md` (deleted, -596 lines) + +Removed the original planning document as it described an unimplemented dual-frame system. Relevant TODO items were preserved in rendering.md. + +## Net Line Count + +**Total changes: +46, -610 lines** + +## Remaining Issues + +None. Documentation now accurately reflects the actual implementation. + +## Next Steps + +Ready to merge `render-fix` branch back to `main`. + +## Technical Reference Update + +The `docs/technical_reference.md` file does not need updates - it correctly references `docs/rendering.md` for complete rendering documentation and does not contain conflicting information.