facett-console — crate card
Reverse-engineered (from source — verify, don't trust the name)
- One-line pitch: A themed terminal/shell component — a fixed monospace cell grid with a block/beam cursor, palette-mapped ANSI colour, and smooth-scroll scrollback.
- Does: Renders host-appended lines (a process' stdout, a REPL) in a monospace cell grid.
Cursor(Block/Beam/Underline),Span(coloured text run),AnsiColor(the 8 ANSI colours mapped to palette roles, not raw RGB, via SGR codes 30–37/90–97 → activeTheme). Owns a scrollback ring + the CygnusEd smooth-scroll offset, deterministic under an injected clock (advance). AFacet: themeable · resizable · scalable · copyable · searchable, with a11y nodes + typed copy/paste. - Key deps:
facett-core(Facet, clip, SmoothScroll, Semantics, a11y, theme),egui,serde,serde_json. - Shape: lib; tiny (lib.rs + tests.rs).
- Observed role in the workspace: Re-exported by umbrella
facettasfacett::console. The §8 TYPE-2 terminal surface.
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: