facett-graph3d — crate card
Reverse-engineered (from source — verify, don't trust the name)
- One-line pitch: A 3D graph viewer — the 3D-callgraph idea made generic: supply
(label, color)nodes + edges, pick a layout, get a rotating depth-shaded node cloud. - Does:
Graph3Drenders(label,color)nodes + edges with aLayout3D(sphere/helix), Y-axis spin, and depth cues (depth → size/brightness) via CPU orthographic projection.CallGraphLayout/louvain(community layouts),neondecor, andRabbitLogo3D(a lit extruded-rabbit logo).DecorPolicy(Off/FromTheme/Reduced/Full) drives how much neon beauty is painted, resolving from the active theme'sEffectsPolicy. Featurewgpuadds a GPU depth-tested extruded-logo renderer (logo3d/gpu) and an instanced emissive node/edge lane with bloom (graph_gpu), folded onto facett-core's shared L0 offscreen colour+depth helper; CPU painter is the default/snapshot golden path. - Key deps:
facett-core(Facet, look/EffectsPolicy, render/decor, theme; shared L0 GPU viafacett-core/wgpu),egui,serde_json; optionalegui-wgpu/wgpu/bytemuck/pollster(GPU lane). - Shape: lib; medium (callgraph_layouts/graph_gpu/logo3d(+gpu)/neon).
- Observed role in the workspace: Re-exported by umbrella
facettasfacett::graph3d; the umbrellagraph3d-wgpufeature turns on its GPU lane. Generalises nornir'scallgraph.rs.
Fill in (one line each — only the human knows these)
- Primary consumer(s):
- Why it exists (vs the obvious alternative):
- Hard constraint (airgap / no-C-deps / no-FFI / pure-Rust / etc.):
- Release cadence & independence (rides a parent? own repo someday?):
- Status (production / prototype / experimental / stubbed):
- Must-NOT-change invariant:
- Biggest known gap or TODO:
- Anything a newcomer would get wrong about it: