docs: Material Symbols, responsive panes, the code face, and the SSR theme mode
Four things preview.7 ships, each written where someone would look for it rather
than in a changelog.
Icons: the pack table gains Material Symbols, and the page finally says what an
icon package IS — a catalog of IconGlyph, drawn with `Glyph`, not `Icon`. With
the number that matters: a page naming two glyphs emits 627 bytes out of a
catalog whose source is ~8 MB, so pack size is a build cost, not a download.
DeclarativeSurface: `Glyph` joins `Gap` and `DotBadge` in the named-factory
table, with the reason it differs — `Icon` has two constructors and a mirrored
factory can only be one of them, so a pack glyph could only be drawn with `new`,
in the one place the framework promises you never need it.
WriteOnceComponents: `Flexible` with a basis, which is what makes a responsive
two-pane layout expressible. The example is the constructor + initializer form
because `Wrap` is an init property — the first draft used a `with` expression on
a class, which does not compile, and this one was compiled in a scaffolded app
before being written down.
Styling and ServerIntegration: `--eq-font-mono` (and why the measurer reads the
same variable — a caret lands beside its character otherwise), and
`UseInitialThemeMode`, including why applying on the server is inert.
docs: one styling engine — the Tailwind adapter is gone
Styling now documents the single pipeline (typed C# to atomic CSS / GPU paint)
and a bring-your-own-CSS note on the escape hatch; the Tailwind package page,
build-flow stages and examples are removed or made framework-neutral.
docs: present the product as a single, settled design
The wiki now describes what eQuantic.UI is — never what it used to be. Removed
every legacy banner, migration log, slice label, internal date, baseline
progression and discarded-decision story across 18 pages; changelog pages fold
into their product pages and remain as pointers; the roadmap lists only what
is ahead. Facts were verified against the source tree while rewriting (golden
count, Vulkan backend, theme bridge, Tailwind property names).
📝 docs: the 2026-07-31 state — excision, Track S, motion/gestures, waves 3/3b, the macOS shell, real text+icons
Home/WriteOnceComponents/DesignSystem/Photon/Roadmap reconciled with the repo:
write-once is the ONLY architecture (28 components), styling is CSS-free via
the atomic engine, theming is IAppTheme (Photon + Material 3 dynamic color),
Photon renders real text (CoreText) and icons (pure-C# SVG parser + CG) inside
a real NSWindow shell, 17/17 Metal parity, 74 goldens. Legacy pages
(Components/Styling/TailwindUpdates) carry excision warnings. Roadmap rewritten
against ROADMAP.md incl. Track E (the VS Code visual editor).
📝 docs(setup): streamline feature registration with AddUI fluent API
📝 docs(system): restructure and enhance core documentation
Introduces new documentation for Asset Management, Component System, and Server Integration. Deletes outdated Component Robustness and Core Components docs, and
📝 docs(assets, styling): enhance asset management, dark mode, and ecosystem documentation
📚 docs: add comprehensive component robustness documentation
- Add ComponentRobustness.md with complete feature documentation
- Add TailwindUpdates.md tracking Tailwind package updates
- Update Home.md to include new documentation links
- Update Styling.md with component robustness section
Features documented:
✨ Compound Components Pattern (Card, CardHeader, CardTitle, etc.)
✨ Granular Variants (CardVariant enum with 5 options)
✨ Controlled/Uncontrolled components (TextInput, Select, Checkbox)
✨ Loading States (Button.Loading with automatic spinner)
✨ Error States & Validation (FormField component)
✨ Input Groups (InputGroup + InputAddon)
✨ Data & ARIA Attributes (native HtmlElement support)
✨ XML Documentation (complete IntelliSense support)
Tailwind updates:
- ButtonTheme: Added loading state support with data attributes
- CardTheme: Added 5 variants + Title/Description support
- InputTheme: Added GetVariant() for validation states
- IInputTheme: Updated interface with GetVariant() method
All updates are backward compatible with zero breaking changes.
📝 docs(build): update documentation for build flow, styling, and diffing strategy
📝 docs(styling): add UI styling architecture guide