Scene view: WASD/arrow navigation + recalibrate zoom + dynamic zoom based on distance
Goal
Add keyboard-based scene navigation (WASD / arrow keys equivalent) and fix the overly sensitive zoom calibration. Also research and implement dynamic zoom/pan where the movement speed scales with distance from the point of interest (similar to Unity, Unreal, Blender).
Context / integration points
- Scene view camera controller (
editor/or related files). - Currently: zoom power is too high even at minimum setting.
- No keyboard navigation — only mouse-based orbit/pan/zoom exists.
- Dynamic zoom: in many engines (Unity, Unreal, Blender), zoom and pan speed adapt based on how far the camera is from the focus point or the scene center. This makes it comfortable to navigate both tiny micro-details and massive open worlds without constant sensitivity tweaking.
Research required
- Investigate how Unity implements its "dynamic" zoom/pan (distance-dependent scaling).
- Investigate how Unreal Engine implements its camera navigation speed.
- Investigate how Blender implements its "auto depth" zoom.
- Document the findings and propose the best approach for Turian's scene view.
Design
- WASD / arrow keys for forward/backward/strafe movement in the scene view.
- Q/E for up/down (optional, or Space/Shift for vertical).
- Zoom recalibration: reduce sensitivity and/or use logarithmic scaling.
- Dynamic zoom: zoom speed decreases when close to the origin/focus and increases when far away.
- Dynamic pan: pan speed scales with camera distance to the focus plane.
- Consider a "focus" mode: press F to focus on selected object and set zoom distance relative to object size.
- All settings should be configurable (zoom speed, pan speed, whether dynamic scaling is enabled).
Tasks
- Research dynamic zoom/pan implementation in Unity, Unreal, Blender
- Document findings and propose approach
- Implement WASD/arrow key camera movement
- Recalibrate zoom power (reduce base sensitivity)
- Implement dynamic zoom (speed scales with distance from focus)
- Implement dynamic pan (speed scales with distance from focus plane)
- Add focus-selected-object (F key) support
- Make sensitivity settings configurable (persist in editor settings)
Acceptance criteria
- WASD/arrow keys move the camera in the scene view.
- Zoom is comfortable at both macro and micro scales.
- Dynamic zoom/pan makes navigation feel natural regardless of scene scale.
- Pressing F focuses on the selected object.
- Settings are persisted and configurable.