# SBOM Graph Reachability Overlay with Time Slider ## Module Web ## Status IMPLEMENTED ## Description Reachability halo overlay on SBOM graph visualization with time slider for temporal reachability exploration and state legend. Uses deterministic stub data pending fixture bundle. ## What's Implemented - **Existing components**: - `graph-canvas` (`src/Web/StellaOps.Web/src/app/features/graph/graph-canvas.component.ts`) - `graph-explorer` (`src/Web/StellaOps.Web/src/app/features/graph/graph-explorer.component.ts`) - `graph-filters` (`src/Web/StellaOps.Web/src/app/features/graph/graph-filters.component.ts`) - `graph-hotkey-help` (`src/Web/StellaOps.Web/src/app/features/graph/graph-hotkey-help.component.ts`) - `graph-overlays` (`src/Web/StellaOps.Web/src/app/features/graph/graph-overlays.component.ts`) - `graph-side-panels` (`src/Web/StellaOps.Web/src/app/features/graph/graph-side-panels.component.ts`) - **Existing services**: - `graph-accessibility` (`src/Web/StellaOps.Web/src/app/features/graph/graph-accessibility.service.ts`) ## What's Missing - **Reachability halo overlay**: Graph overlay components exist but no dedicated reachability state halo (color-coded rings around nodes showing lattice state: SR/SU/RO/RU/CR/CU/X) - **Time slider for temporal reachability**: No time slider component enabling temporal exploration of how reachability states evolved over scan/signal events - **Lattice state legend**: No legend component mapping halo colors to reachability lattice states - **Backend API for temporal reachability**: No API endpoint returning reachability state snapshots at different points in time - **Deterministic fixture bundle**: Currently uses stub data; pending fixture bundle with real reachability overlay data ## Implementation Plan - Add reachability state halo overlay to graph-overlays component using lattice state colors - Create time slider component for temporal reachability exploration - Add lattice state legend component - Build backend API for temporal reachability snapshots - Wire overlay to live reachability data via graph service ## E2E Test Plan - **Setup**: - [ ] Log in with a user that has appropriate permissions - [ ] Navigate to `/graph` - [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed) - **Core verification**: - [ ] Verify the visualization renders correctly with sample data - [ ] Verify interactive elements (hover tooltips, click-to-drill-down) work - [ ] Verify the visualization handles empty/minimal data gracefully - **Edge cases**: - [ ] Verify graceful handling when backend API is unavailable (error state) - [ ] Verify responsive layout at different viewport sizes - [ ] Verify accessibility (keyboard navigation, screen reader labels, ARIA attributes)