Init Repo
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
## ADDED Requirements
|
||||
|
||||
### Requirement: Frame selected prim with F key
|
||||
|
||||
The viewport SHALL frame the camera on the bounding box of the currently selected prim when the user presses the F key while the viewport is focused.
|
||||
|
||||
#### Scenario: Frame a selected mesh prim
|
||||
- **WHEN** the user has a mesh prim selected in the scene hierarchy and presses F while the viewport is focused
|
||||
- **THEN** the camera repositions to frame the bounding box of that prim and all its descendants in world space
|
||||
|
||||
#### Scenario: Frame with no prim selected
|
||||
- **WHEN** the user presses F with no prim selected
|
||||
- **THEN** no camera movement occurs
|
||||
|
||||
#### Scenario: Frame in USD camera mode
|
||||
- **WHEN** the viewport is in USD camera mode and the user presses F
|
||||
- **THEN** the viewport switches to free camera mode and frames the selected prim
|
||||
|
||||
### Requirement: Frame all with A key
|
||||
|
||||
The viewport SHALL frame the camera on the bounding box of the entire USD stage when the user presses the A key while the viewport is focused.
|
||||
|
||||
#### Scenario: Frame all prims in the stage
|
||||
- **WHEN** the user presses A while the viewport is focused and a stage is loaded
|
||||
- **THEN** the camera repositions to frame the bounding box of the entire stage
|
||||
|
||||
#### Scenario: Frame all with no stage loaded
|
||||
- **WHEN** the user presses A with no stage loaded
|
||||
- **THEN** no camera movement occurs
|
||||
|
||||
### Requirement: Selected prim path sourced from SceneHierarchyPanel
|
||||
|
||||
The viewport SHALL obtain the currently selected prim path from the `SceneHierarchyPanel` via a callback wired by the `Application` class.
|
||||
|
||||
#### Scenario: Selection change triggers prim path update
|
||||
- **WHEN** the user selects a different prim in the SceneHierarchyPanel
|
||||
- **THEN** the viewport's stored selected prim path updates to reflect the new selection
|
||||
- **AND** pressing F frames the newly selected prim
|
||||
|
||||
### Requirement: Bounding box computed via UsdGeomBBoxCache
|
||||
|
||||
The bounding box for framing a selected prim SHALL be computed using `UsdGeomBBoxCache` to correctly account for transforms, instancing, and purpose.
|
||||
|
||||
#### Scenario: Bounding box includes descendant geometry
|
||||
- **WHEN** the user frames a prim that has mesh children
|
||||
- **THEN** the bounding box encompasses the prim and all its descendants' geometry in world space
|
||||
Reference in New Issue
Block a user