Init Repo

This commit is contained in:
2026-06-03 09:00:11 +08:00
commit 9be48d8b9e
155 changed files with 14827 additions and 0 deletions
@@ -0,0 +1,30 @@
## ADDED Requirements
### Requirement: Transform manipulator renders only in the focused viewport tile
The transform gizmo (manipulator) SHALL render and accept input only in the tile that was most recently clicked. All other tiles SHALL NOT display the gizmo.
#### Scenario: Focused tile shows gizmo, other tile does not
- **WHEN** the user clicks in tile A (making it focused), then selects a prim
- **THEN** the transform gizmo appears over the selection in tile A only; tile B shows no gizmo
#### Scenario: Move focus to another tile
- **WHEN** the user clicks in tile B while tile A was focused
- **THEN** the gizmo disappears from tile A and appears in tile B over the selection
### Requirement: Manipulator mode and space are global
The manipulator tool mode (Select/Move/Rotate/Scale) and transform space (World/Object) SHALL be global settings shared across all tiles, owned by the `ViewportPanel` container.
#### Scenario: Change manipulator mode in focused tile
- **WHEN** the user presses W (Move) while tile A is focused
- **THEN** the mode switches to Move globally, and if the user clicks in tile B, tile B's gizmo is in Move mode
### Requirement: Keyboard shortcuts route to focused tile
Keyboard shortcuts for the manipulator (Q/W/E/R), frame selection (F), frame all (A), and maximize toggle (Space) SHALL only apply to the focused tile.
#### Scenario: Frames selection in focused tile only
- **WHEN** the user presses F while tile A is focused
- **THEN** tile A's camera frames the selection; other tiles' cameras remain unchanged
#### Scenario: Tool shortcut changes global mode
- **WHEN** the user presses W while tile A is focused
- **THEN** the global manipulator mode changes to Move, and the focused tile (A) shows the Move gizmo if a prim is selected