## ADDED Requirements ### Requirement: Scene hierarchy panel displays USD prim tree The system SHALL display a hierarchical tree view of all prims in the currently loaded USD stage, allowing users to browse and select prims. #### Scenario: Panel shows prim hierarchy when stage loaded - **WHEN** a USD stage is successfully loaded and the Scene Hierarchy panel is visible - **THEN** the panel displays a tree view containing all prims from the stage, organized by parent-child relationships - **AND** each prim node displays its name, type, and visual indicators for visibility/active state - **AND** the root prims (children of the pseudo-root) are displayed at the top level #### Scenario: Panel shows empty state when no stage loaded - **WHEN** no USD stage is loaded (or stage creation/opening failed) and the Scene Hierarchy panel is visible - **THEN** the panel displays disabled text indicating no stage is loaded - **AND** suggests opening a USD file to view scene hierarchy #### Scenario: Prim selection highlights in tree - **WHEN** a prim is selected in the scene hierarchy tree (via click) - **THEN** that prim's node is highlighted as selected in the tree view - **AND** the panel's selected prim path is updated to match the clicked prim's path - **AND** the prim selection callback is invoked with the selected prim's path #### Scenario: Prim type visible in tooltip - **WHEN** the user hovers over a prim node in the scene hierarchy tree - **THEN** a tooltip appears showing the prim's type name and full path - **AND** the tooltip disappears when the cursor leaves the prim node #### Scenario: Context menu available on prim nodes - **WHEN** the user right-clicks on a prim node in the scene hierarchy tree - **THEN** a context menu appears with options for common prim operations - **AND** the context menu includes options to toggle visibility and toggle active state - **AND** selecting a context menu option applies the corresponding operation to the prim #### Scenario: Panel integrates with application docking system - **WHEN** the Scene Hierarchy panel is created as part of the application UI - **THEN** the panel appears as a dockable window titled "Scene Hierarchy" - **AND** the panel can be undocked, floated, resized, and docked to other positions in the UI - **AND** the panel respects the NoCollapse window flag (cannot be collapsed to title bar only)