facett-card — crate card
Reverse-engineered (from source — verify, don't trust the name)
- One-line pitch: A YouTrack/Jira-style record card — a titled record with a typed field grid and nestable collapsible sub-cards, with a read view, a form-backed edit mode, and JSON copy.
- Does:
Cardholds a title,CardFields (FieldValue: Text/Number/Enum{state,options}/User/Date/Tags/Link/Progress →FieldKind), and recursivechildrensub-cards.CardViewis theFacetdriver: theme-aware read view (chips / bars / hyperlinks / avatars per field kind), toggles into an edit form that reusesfacett_form(theCarditself implementsFormModel, laying each field into aFormUiwidget), and serializes the whole card incl. children as pretty JSON forcopy(). Sub-cards stay read-mode; expanding one and editing it is the same recursion. - Key deps:
facett-core(Facet, clip, Semantics, theme),facett-form(FormModel/FormUi/FormView/ValidationReport),egui,serde,serde_json. - Shape: lib; tiny (lib.rs + tests.rs); ships a
card_demoexample. - Observed role in the workspace: Re-exported by umbrella
facettasfacett::card. Sits on facett-form (edit mode) — does not re-solve inputs/validation/dirty-tracking.
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: