1.7 KiB
1.7 KiB
ADDED Requirements
Requirement: Independent camera per viewport tile
Each viewport tile SHALL own an independent ViewportCamera instance. Camera operations (orbit, pan, dolly, zoom, frame) in one tile SHALL NOT affect any other tile's camera.
Scenario: Orbit in one tile, other tiles unchanged
- WHEN the user Alt+LMB drags to orbit in tile A
- THEN tile A's camera rotates, while tiles B, C, D remain at their previous camera positions
Scenario: Frame selection in one tile
- WHEN the user presses F in a tile
- THEN that tile's camera frames the current selection, other tiles are unaffected
Requirement: Per-tile camera selector dropdown
Each tile SHALL have a compact camera selector (icon + dropdown) showing "Free Camera" and all USD camera prims on the stage. Selecting a USD camera in one tile SHALL NOT affect other tiles.
Scenario: Tile A uses Free Camera, Tile B uses a USD camera prim
- WHEN the user selects a USD camera prim in tile B's camera dropdown
- THEN tile B switches to USD camera mode and renders from that camera's view, while tile A continues in free camera mode
Scenario: Both tiles use the same USD camera
- WHEN the user selects the same USD camera prim in both tile A and tile B
- THEN both tiles render from that camera's view but can navigate independently when one tile goes into free camera mode
Requirement: Camera list refreshes on dropdown open
Each tile SHALL refresh its camera prim list from the stage whenever its camera dropdown is opened.
Scenario: New camera added, then dropdown opened
- WHEN the user adds a new UsdGeomCamera prim to the stage and opens a tile's camera dropdown
- THEN the dropdown includes the newly added camera prim