Formalize scene viewport interaction frame helpers

This commit is contained in:
2026-04-04 01:42:35 +08:00
parent a920ca7a6a
commit e636abb76d
5 changed files with 531 additions and 79 deletions

View File

@@ -1,5 +1,26 @@
# SceneViewport Overlay/Gizmo Rework Checkpoint
## Update 2026-04-04 Phase 5F
### Interaction Frame/Request Glue Formalization Completed
- Added `SceneViewportInteractionFrame.h` to formalize:
- scene viewport tool visibility/state derivation
- frame geometry derivation from viewport rect and mouse position
- per-frame interaction/gizmo context assembly
- interaction resolve request construction
- `SceneViewPanel` no longer assembles tool visibility booleans, local mouse coordinates, overlay frame references, or interaction resolve requests inline.
- The panel now consumes `SceneViewportToolState`, `SceneViewportFrameGeometry`, and `SceneViewportInteractionFrameState` instead of stitching together those frame-level inputs itself.
- Added focused editor tests covering tool-state mapping, frame geometry, interaction frame state, and resolve request assembly.
### Verification
- `cmake --build build --config Debug --target editor_tests -- /p:BuildProjectReferences=false`
- `build/tests/Editor/Debug/editor_tests.exe --gtest_filter=SceneViewportNavigationTest.*:SceneViewportInteractionFrameTest.*: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 5E
### Navigation/Input State Formalization Completed