Skip to content

v0.22.0 — Perfect DOS VGA 437 + AI-content provenance

Choose a tag to compare

@CinimoDY CinimoDY released this 02 May 22:36
· 48 commits to main since this release
3fdefeb

Perfect DOS VGA 437 font swap + AI-content provenance phase 1.

Added

  • --color-semantic-text-ai-draft (Tailwind: text-dos-text-ai-draft) — Signalnoise hot pink (#FF1A8C). Brand-locked: identical across all 5 themes.
  • --color-semantic-text-ai-draft-glow — 50% rgba of the same hex, used in text-shadow only.
  • src/styles/provenance.css[data-provenance="ai-draft"] selector applying colour + halo, neutralised under prefers-contrast: high. Ships in the default eidotter/styles bundle. Visual primitive only — downstream consumers compute the per-paragraph diff and emit the attribute. See DMNC-884.
  • Storybook: Design System / Content Provenance category with six stories (Default, MixedDraftAndRevised, OnLightBackdrop, Variants, WallOfPink, HighContrastNeutralizesGlow).

Changed

  • Primary font swapped to Perfect DOS VGA 437 by Zeh Fernando — pixel-perfect-vector TTF where every glyph outline is axis-aligned. Replaces Flexi IBM VGA True v2, which was aspect-corrected but still rendered bezier outlines that "resembled" rather than rendered authentic DOS pixel-art shapes. Free to redistribute per the bundled author license; single-weight by design. Resolves DMNC-882 (option 4 from the research — adopt an existing pixel-perfect-vector font rather than hand-pixelize Flexi). Flexi files remain bundled so legacy consumers can override --typography-font-family-primary to keep the old font.
  • <TimelineContainer> no longer paints its own background. Aligns with the convention enforced by <Alert> and <Notification> (verified via regression test).

Notes

  • Specificity (0,1,0). The provenance attribute selector is intentionally weak — component CSS at class specificity overrides it without !important.
  • Link affordance preserved. <a> descendants of an [data-provenance="ai-draft"] element keep their own link colour by design.
  • API contract. Only data-provenance="ai-draft" is supported. Revised paragraphs should carry no attribute at all.
  • Font behaviour parity. Both fonts are single-weight; existing font-synthesis: none and the font-dos-bold/semibold/regular aliases (all → 400) keep working unchanged. Visual letterform is different — pixel-aligned vs bezier-resembling.
  • Tests: 1028/1028 pass (full suite). Build green; dist/eidotter.css ships the new font inlined as base64 — 213KB total (down from 446KB).

Full diff: v0.21.0...v0.22.0