LP-Factory POC — Session 3 build (N1 / G2 producer). Source: studio roadmaps/lp-factory-poc/session-2-seam-set.md §2+§6 (v2) · studio PR #24.
Why
Rueda's LP (projects/rueda/views/pages/home.templ) is built on ~24 invented utility classes (dvfy-py-2xl, dvfy-grid-cols-3, dvfy-heading-1, …) that resolve to nothing — the G2 failure the LP factory exists to fix. The page needs a sanctioned, manifest-declared composition vocabulary, not stringly-typed classes.
Scope — 4 light-DOM primitive families, bound to EXISTING tokens
dvfy-page-section — page rhythm wrapper (padding/tone/align/width). NOTE: dvfy-section is the collapsible disclosure widget — do NOT reuse that name.
dvfy-grid — responsive grid (cols/min/gap).
dvfy-stack — flex wrapper (direction/gap/justify/align).
dvfy-heading / dvfy-text — typography bound to --dvfy-type-* / --dvfy-text-*.
Acceptance criteria
Pairs with #367 (these 4 families are the composition Contract's first declarations). Blocks N5 (rueda rebuild). Related: #363 (button href).
LP-Factory POC — Session 3 build (N1 / G2 producer). Source: studio
roadmaps/lp-factory-poc/session-2-seam-set.md§2+§6 (v2) · studio PR #24.Why
Rueda's LP (
projects/rueda/views/pages/home.templ) is built on ~24 invented utility classes (dvfy-py-2xl,dvfy-grid-cols-3,dvfy-heading-1, …) that resolve to nothing — the G2 failure the LP factory exists to fix. The page needs a sanctioned, manifest-declared composition vocabulary, not stringly-typed classes.Scope — 4 light-DOM primitive families, bound to EXISTING tokens
dvfy-page-section— page rhythm wrapper (padding/tone/align/width). NOTE:dvfy-sectionis the collapsible disclosure widget — do NOT reuse that name.dvfy-grid— responsive grid (cols/min/gap).dvfy-stack— flex wrapper (direction/gap/justify/align).dvfy-heading/dvfy-text— typography bound to--dvfy-type-*/--dvfy-text-*.Acceptance criteria
--dvfy-type-*tokens (no new scales unless a real gap).custom-elements.json(npm run analyze).Pairs with #367 (these 4 families are the composition Contract's first declarations). Blocks N5 (rueda rebuild). Related: #363 (button href).