Type
Overview
The initial editor camera is free-fly/orbit oriented. Large production scenes require predictable depth precision, scene-aware navigation, and optional walk/ground-constrained movement.
Context
This is a follow-up after real scene raycasts and robust input ownership. It should not add large-world precision complexity to the current viewport correctness fixes.
Depends on #781 and #782.
What needs to be done
- Define near/far-plane and depth-precision policy for editor cameras.
- Evaluate and implement editor origin rebasing or high-precision camera/world coordinates where scene scale requires it.
- Add optional terrain/geometry collision, ground lock, and walk mode.
- Define Free, Orbit, and Walk navigation modes with visible state/UI feedback.
- Use selection bounds or cursor-hit results for scene-aware pivots.
- Document behavior, limits, and migration implications for existing scenes.
Resources
- ZEngine/ZEngine/Rendering/Cameras/FlyCamera.cpp
- Tetragrama/Controllers/EditorCameraController.cpp
- ZEngine/ZEngine/Rendering/Scenes/RenderScene.h
- ZEngine/docs/future-plan/fly-camera-redesign.md
Testing
- Add numeric stability tests for configured large-world ranges.
- Add CPU tests for navigation-mode transitions and collision/ground-lock behavior.
- Manually test free, orbit, and walk workflows on representative large scenes.
Acceptance criteria
Estimated effort
2–4 weeks
Type
Overview
The initial editor camera is free-fly/orbit oriented. Large production scenes require predictable depth precision, scene-aware navigation, and optional walk/ground-constrained movement.
Context
This is a follow-up after real scene raycasts and robust input ownership. It should not add large-world precision complexity to the current viewport correctness fixes.
Depends on #781 and #782.
What needs to be done
Resources
Testing
Acceptance criteria
Estimated effort
2–4 weeks