facett-core — crate card
Reverse-engineered (from source — verify, don't trust the name)
- One-line pitch: The visual kernel of facett — turn a source-agnostic node/edge
Sceneinto pixels in egui, with a CPU reference painter and an optional wgpu/vello GPU fast path. - Does: Owns the foundational types every other facett crate builds on:
Node/Edge/Scene/Layout, theFacettrait +FacetDeck, theTheme/LookThemelook-&-feel system (palettes, oklch, keymap, typography, metrics, policy), the headlessharness, a11y (Semantics, AccessKit nodes), typed clipboard (clip/clipboard), the smooth-scroll engine, effects/decor (glow/particles/raven), theimgscanpixel oracle,trace/runtraceevent ledgers, and the layered L0 render kernel (render) with CPU SDF raster and optional GPU (wgpu) / L1 vello overlay lanes. - Key deps:
egui(+serde),arrow-array/arrow-schema(Scene from Arrow),vello_cpu(CPU pixmap raster),znippy-zoomies(gatling multicore fork-join scanline raster; rayon forbidden); optionalegui-wgpu/wgpu/bytemuck/pollster(GPU lane),vello(L1 beauty overlay),arboard(OS clipboard),nornir-testmatrix(test-matrix emitter). - Shape: lib; large (~50 modules incl.
look/*,render/{cpu,gpu,l1}). The biggest crate in the workspace. - Observed role in the workspace: The root dependency of essentially every
facett-*crate; they re-export itsFacet,Theme,clip,effects, etc. Fed Scenes by facett-graph/arrow; its render kernel is driven by facett-map/graphview.
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: