M23: Study Map -- Core
Phase: GUI v1.0 -- Phase 1 Roadmap: NEW-GUI-ROADMAP.md M23 Version target:
web/v0.23.0
Phase Context
Goal: The Study Map renders as both a dedicated workspace and an embeddable pane tab, seeds from passages, and supports basic interaction. The WebGL knowledge graph is alive with ForceAtlas2 layout, semantic zoom, staleness gradient, navigation graph convergence, and Dexie.js persistence.
ZenHub Configuration
| Field | Value |
|---|---|
| Milestone | M23: Study Map Core |
| Due Date | TBD |
| Default Pipeline | Product Backlog |
| Primary Epic(s) | Study Map Core |
Prerequisites
- M22: Session Advanced Features -- sessions + workspaces fully operational
- M16-002 -- plugin host surface (Study Map registers via
contributes.paneTypes) - M16-003 -- dock-zone container (Study Map renders as a workspace pane)
- M16-004 -- Dexie v6 schema (pinned-items persistence layer)
Epic: Study Map Core
| Issue | Title | Status | Notes |
|---|---|---|---|
| M23-001 | Sigma.js + Graphology Integration (Canvas Setup, Graph State) | ✅ Done | Sigma v3 + Graphology integrated, pane registered via contributes.paneTypes |
| M23-002 | ForceAtlas2 Layout (Continuous Simulation, Stable Convergence) | ✅ Done | Web Worker FA2 supervisor with convergence detection |
| M23-003 | Node & Edge Rendering (Type-Specific Icons, Color Coding, Labels) | ✅ Done | Type-specific colors, degree sizing, LOD labels, hover dimming |
| M23-004 | Graph Seeding & Expansion (Passage Nodes, Expand to Neighbors) | ✅ Done | addPassageToStudyMap(), expandNode(), loading shimmer, 200-node warning |
| M23-005 | Semantic Zoom (Minimap, Zoom Controls, Level-of-Detail) | ✅ Done | Three LOD levels, minimap, zoom controls, camera clamping |
| M23-006 | Loose/Pinned Nodes & Selection (Pin to Position, Multi-Select) | ✅ Done | Pin/unpin, multi-select, rubber-band drag, delete with confirmation |
| M23-007 | Study Map Persistence (Dexie.js, Auto-Save, Import/Export) | ✅ Done | Dexie v8, 500ms debounced auto-save, pinned-only, BroadcastChannel sync |
| M23-008 | Staleness Gradient & Navigation Graph Convergence | ✅ Done | StalenessEngine, 4-stage nodeReducer opacity, navigation edges |
| M23-009 | Navigation-Graph Edge Ingestion (User Nav Events) | ✅ Done | NavEvent type + NavEventBuffer in @gospelib/core, POST/DELETE endpoints |
Progress: 9 Done · 0 Partial · 0 To Do (100%)