Goal
Add a new view mode Force 3D (last in the list, with an experimental badge) that renders the dependency graph in 3D using Threlte (Three.js + Svelte 5). Visual reference: vasturiano/3d-force-graph, but the look stays adapted to Forgeplan's design language (token colors per artifact kind/status, dark-first, line glow, no generic grey).
Scope
- New widget
widgets/dependency-graph-3d/ with a Threlte canvas, force-3d simulation, GPU-instanced spheres for nodes, line segments for edges.
- New view mode entry
force3d registered in the page's view-mode toggle, placed last with the experimental badge.
- 2D Force mode keeps a TODO marker for the planned in-mode 2D ↔ 3D switch (future work, not in this PR).
- Read-only proxy unchanged (rule 22). No new
/api/* endpoints.
Out of scope (this issue)
- The 2D ↔ 3D switch inside Force mode itself.
- Mobile/tablet specifics — desktop-first.
Tracking
- PRD-022 / RFC-019 (created on
feat/force-3d-view).
- PR target:
develop.
Goal
Add a new view mode Force 3D (last in the list, with an
experimentalbadge) that renders the dependency graph in 3D using Threlte (Three.js + Svelte 5). Visual reference: vasturiano/3d-force-graph, but the look stays adapted to Forgeplan's design language (token colors per artifact kind/status, dark-first, line glow, no generic grey).Scope
widgets/dependency-graph-3d/with a Threlte canvas, force-3d simulation, GPU-instanced spheres for nodes, line segments for edges.force3dregistered in the page's view-mode toggle, placed last with the experimental badge./api/*endpoints.Out of scope (this issue)
Tracking
feat/force-3d-view).develop.