Formalize scene viewport navigation input helpers

This commit is contained in:
2026-04-04 01:28:53 +08:00
parent c3680258e0
commit a920ca7a6a
7 changed files with 558 additions and 188 deletions

View File

@@ -1,5 +1,28 @@
# SceneViewport Overlay/Gizmo Rework Checkpoint
## Update 2026-04-04 Phase 5E
### Navigation/Input State Formalization Completed
- Added `SceneViewportEditorModes.h` to move shared scene viewport editor mode enums out of `SceneViewPanel.h`.
- Added `SceneViewportNavigation.h` as the formal navigation/input helper layer for:
- tool shortcut resolution
- look/pan drag state transitions
- mouse/keyboard capture requests
- `SceneViewportInput` assembly
- interaction-resolution gating
- `SceneViewPanel` now owns one `SceneViewportNavigationState` instead of multiple raw drag booleans and no longer assembles scene viewport input inline.
- Removed the dead `m_loggedLookDelta` / `m_loggedPanDelta` panel state that no longer influenced runtime behavior.
- Added focused editor tests for shortcut mapping, drag transitions, capture flags, input assembly, and interaction gating.
### Verification
- `cmake --build build --config Debug --target editor_tests -- /p:BuildProjectReferences=false`
- `build/tests/Editor/Debug/editor_tests.exe --gtest_filter=SceneViewportNavigationTest.*:SceneViewportInteractionActionsTest.*:SceneViewportInteractionResolverTest.*:SceneViewportTransformGizmoCoordinatorTest.*:SceneViewportOverlayRenderer_Test.*:SceneViewportOverlayProviderRegistryTest.*:ViewportRenderFlowUtilsTest.*`
- `cmake --build build --config Debug --target XCEditor`
All commands completed successfully in `Debug`.
## Update 2026-04-04 Phase 5D
### Stage-Oriented Gizmo Frame API Completed