## ADDED Requirements

### Requirement: Shared selection across all viewport tiles
Selection SHALL be shared across all viewport tiles. When a prim is picked in any tile (single click or rect drag), all tiles SHALL update their selection highlight display to show the same set of selected prims.

#### Scenario: Pick in Tile A, Tile B shows highlight
- **WHEN** the user single-clicks a prim in tile A
- **THEN** tile A and tile B both highlight that prim with the selection overlay

#### Scenario: Rect select in Tile B, Tile A updates
- **WHEN** the user rect-drags over multiple prims in tile B
- **THEN** both tile A and tile B highlight the same set of prims

### Requirement: Selection change propagates to SceneHierarchyPanel and PropertyPanel
When selection changes via any viewport tile, the `OnPrimPicked` / `OnPrimsPickedRect` callbacks SHALL fire from the `ViewportPanel` container, just as they do today.

#### Scenario: Pick in viewport updates hierarchy
- **WHEN** the user picks a prim in any tile
- **THEN** the SceneHierarchyPanel and PropertyPanel update to show the selected prim's properties

### Requirement: Shift+click additive selection across tiles
Shift+click SHALL work consistently across all tiles. Prim picked in any tile is added to or removed from the shared selection set.

#### Scenario: Shift+click in Tile A, then Tile B
- **WHEN** the user selects prim P1 in tile A, then Shift+clicks prim P2 in tile B
- **THEN** both P1 and P2 are in the shared selection, highlighted in both tiles