You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Introduce rg universe — a full rewrite of the static dashboard as a single full-screen 3D cosmos for browsing the codebase by communities, with animated search fly-to, and clickable actions to run CLI workflows (semantic index, CFG analysis, discover flags, etc.). No tab-based UI.
Ship via new discover flag --with-universe. --with-dashboard remains for now; universe replaces it later and dashboard is deprecated.
Motivation
Today’s dashboard is tab-centric (Graph, Functions, CFG, Slice, Blast, …) with 2D Sigma as the main graph view.
Users want a primary 3D “code universe” — communities as regions, browse/zoom, search functions in space with camera animation.
Structural data already exists: communities.json, metagraph.json, WASM expand(), semantic search — but not as one spatial experience.
CLI / discover
New flag
rg-build discover . --with-universe
# Optional: same analysis flags as today when needed for universe actions
rg-build discover . --with-universe --with-cfg --with-security
Writes bundle under .rgbuilder/universe/ (or .rgbuilder/dashboard/ with manifest.mode: universe — decide in implementation).
--with-dashboard continues to export legacy tab dashboard until deprecation.
Both flags may be mutually exclusive or allow both during transition (document choice).
Deprecation path
Ship --with-universe alongside --with-dashboard.
serve --open opens universe when present; fallback to legacy dashboard.
Document universe as default human UI in user guide.
Deprecate --with-dashboard in a later release; remove legacy tab UI in a follow-up.
serve integration
rg-build serve --open # universe static bundle + query API when available
Universe search benefits from live semantic API (/api/semantic/query) when served; static bundle should degrade gracefully (embedded search landmarks / index metadata).
In-universe UI to trigger or guide discover-time and post-discover workflows (not silent magic — show command, progress, or invoke via documented path):
User action (UI)
Underlying workflow
Build semantic search index
rg-build semantic index (+ embedder options)
Run CFG / PDG analysis
discover --with-cfg or incremental CFG pass
Security / taint
discover --with-security / --with-taint
Refresh graph
rg-build discover . --with-universe …
Label communities
rg-build communities label --write
Export migration plan
discover --export-migration-hints
Open query guide
Link to docs / copy-paste CLI recipes
Implementation options (pick in design):
A. Show exact CLI + copy button; user runs in terminal (simplest, offline-safe).
B.serve POST endpoints that spawn bounded subprocess (rg-build …) with progress SSE.
C. WASM-only actions where already possible; CLI for heavy passes.
Start with A + partial B for serve mode.
What replaces legacy tabs
Legacy tab
Universe pattern
Graph
Default cosmos
Search
Primary search bar + fly-to
Functions
Search results + optional list panel
Blast
Selection panel
Slice / CFG / Dataflow
Panel or 2D inset on landed symbol
Migration
Spatial layer / scheduled regions + panel
Taint
Path highlight in scene + panel
Guide
? overlay / universe help (not a tab)
Technical architecture
New export artifacts (discover + --with-universe)
Extend rgbuilder-dashboard (or new rgbuilder-universe crate):
File
Content
universe.json
Community 3D positions, bridges, package local coords, schema version
Summary
Introduce rg universe — a full rewrite of the static dashboard as a single full-screen 3D cosmos for browsing the codebase by communities, with animated search fly-to, and clickable actions to run CLI workflows (semantic index, CFG analysis, discover flags, etc.). No tab-based UI.
Ship via new discover flag
--with-universe.--with-dashboardremains for now; universe replaces it later and dashboard is deprecated.Motivation
-f json; universe is the human exploration surface (complements MCP/CLI, see Dual mode: CLI (today) + MCP server (rg-build mcp serve) #60).communities.json,metagraph.json, WASMexpand(), semantic search — but not as one spatial experience.CLI / discover
New flag
.rgbuilder/universe/(or.rgbuilder/dashboard/withmanifest.mode: universe— decide in implementation).--with-dashboardcontinues to export legacy tab dashboard until deprecation.Deprecation path
--with-universealongside--with-dashboard.serve --openopens universe when present; fallback to legacy dashboard.--with-dashboardin a later release; remove legacy tab UI in a follow-up.serveintegrationrg-build serve --open # universe static bundle + query API when availableUniverse search benefits from live semantic API (
/api/semantic/query) when served; static bundle should degrade gracefully (embedded search landmarks / index metadata).Product: rg universe (no tabs)
Core UX
expand()(existing worker)Universe › community › package › symbolClickable CLI actions (“universe commands”)
In-universe UI to trigger or guide discover-time and post-discover workflows (not silent magic — show command, progress, or invoke via documented path):
rg-build semantic index(+ embedder options)discover --with-cfgor incremental CFG passdiscover --with-security/--with-taintrg-build discover . --with-universe …rg-build communities label --writediscover --export-migration-hintsImplementation options (pick in design):
servePOST endpoints that spawn bounded subprocess (rg-build …) with progress SSE.Start with A + partial B for
servemode.What replaces legacy tabs
?overlay / universe help (not a tab)Technical architecture
New export artifacts (discover +
--with-universe)Extend
rgbuilder-dashboard(or newrgbuilder-universecrate):universe.jsoncommunities.jsonmetagraph.jsonmanifest.jsonmode: "universe", paths, feature flags, action availabilitygraph_payload.binsearch_landmarks.jsonwasm/Precompute community layout at export (Rust) — browser renders and animates; avoid cold-start full-repo force layout in UI.
Frontend rewrite
dashboard/src/universe/oruniverse/package (may replace most ofApp.tsxtab router).d3-force-3dor dedicated worker); consider graphier as reference/wrapper.useEngineWorker) for L2 expand, blast, slice, CFG load.include_dirembed path.Layout strategy
Animation
Relationship to other work
Phased rollout
--with-universeexports minimal bundle; static L0 communities in 3D;serveserves it--with-dashboardMVP (P0–P2): browse communities in 3D + search with animation.
Acceptance criteria (MVP)
rg-build discover . --with-universewrites universe bundle under.rgbuilder/rg-build serve --openopens universe when bundle present--with-dashboardstill works unchangedOpen decisions
.rgbuilder/universe/vs reuse.rgbuilder/dashboard/with mode flagservesubprocess for actions vs copy-only CLI hints--with-universeimplies--with-dashboardassets during transitionReferences
docs/dashboard-design.md— legacy dashboard phasesdashboard/src/App.tsx— current tab shellcrates/rgbuilder-dashboard/— export pipeline, metagraph, communitiesdashboard/src/useEngineWorker.ts— WASM integrationdashboard/package.json— sigma/graphology (legacy); universe will add Three.js stackVisual design mockup
Concept UI for rg universe — full-screen 3D cosmos, unified search, community galaxies, context panel, and actionable CLI hints.
Elements shown:
Universe › payments › OrderService)Repo copy (for docs after commit):
docs/universe/rg-universe-design-mockup.png(high-res) ·docs/universe/rg-universe-design-mockup.jpgRelease asset (issue attachment): universe-design-mockup-61 (pre-release, for hosting only)