docs: a page can answer 404 for a route that matched nothing
d303419
docs: what the theme toggle READS decides what it does
62bc0a4
docs: every feature says which release it shipped in
A reader's first question about anything here is "can I use it", and the wiki had
no answer — you would find out by upgrading and seeing whether it compiled.
Derived from git, never from memory: the commit that ADDED the file, then the
first tag containing it. The method is on the home page so the next person does
not have to invent one. I wrote the first mark from memory, guessed
0.2.0-preview.1 for IAppIcon, and it happened to be right — which is luck, not a
method, and luck does not survive the next twenty.
Version marks live on the ROW when a table's rows have different ages. The
capability table would otherwise have carried one "since preview.1" over
IAppStorage, which shipped nine previews later.
ce1cf27
docs: the app icon, and the seam packages extend an app through
8472c08
docs: device capabilities and server prefetch, which nothing covered
c42512c
docs: the theme cookie is configurable, including off
889eabe
docs: the theme remembers itself, and why that needs a cookie
8ed9bf5
docs: stop documenting APIs that do not exist
Asked whether the wiki was reliable, I checked instead of answering: every C#
symbol in every fenced block, matched against a declaration in the source. 202
cited, and after discarding the example names, the BCL and Roslyn, four were
framework APIs that are not there.
`UseTailwind()` and `UseLucideIcons()` were the serious ones, because they sit in
the FIRST block anyone copies out of ServerIntegration — the AddUI example would
not compile as written. Both are doubly gone: the methods do not exist, and
eQuantic.UI.Tailwind has no public type left and is not even in the CI's
publication list. One styling engine replaced it, which the Styling page already
says.
Icons.md was worse and I had made it worse: it documented a provider system —
`options.UseLucideIcons()`, `new LucideIcon("search")`, `Lucide.Check()`, an
`Icon { Name = … }` that resolves a string at run time — and none of those types
or members exist. Yesterday I added a correct write-once section BESIDE the three
wrong ones without reading them.
What replaced them says why, rather than just deleting: a pack is a catalog, you
name the glyph, and there is no lookup to lose — so two packs can never disagree
about a name.
0ee8fe1
docs: say plainly that capability injection is native-only today
819bb8d
docs: Storage — one signature per platform, and why secrets are a separate type
94ee06f
docs: app-wide metadata defaults that a page can actually override
3772bb3
docs: point at the playground, which nothing linked to
ddfd2f2
docs: Track I — editor intelligence, and what is no longer ahead
acfe71b
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.
c4c55e5
docs: authoring without `new`, including your own components
The factory surface had no page of its own: the README showed it, the template
used it, and anyone asking "why does this compile without a `new`?" had nowhere
to look. Worse, the answer everyone reaches for — "that must be a framework-only
trick" — is wrong, and nothing said so.
DeclarativeSurface covers the contract (named like the type, mirrors a
constructor, no overloads, `children` last), how an app's own components join it
through the generator, the widest-constructor rule and `[UiFactory]`, EQ3101 and
EQ3102, and the one sharp edge: a factory shadows its type, but only for types
that arrive through a `using` — so your own are never shadowed, and `Gap` and
`DotBadge` exist for the framework's two that are.
Also the `dotnet clean` note for a renamed generator, because eqc reads the
generated FILES and the compiler never removes what a generator stopped writing.
d93ac70
docs: the editor's grid, and why the caret used to drift
81b3dbb
docs: the component boundary, and eqc's field/init support
69af3a1
docs: bun bundles pages, full stop
ff0bfb1
docs: neutralize remaining framework-specific examples
730aa37
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.
d05ed0b
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).
35ad5d0
📝 docs: lifetime do RealizeResult + LayoutNodePool (106→67 KB/frame)
0bb5d58
📝 docs: Excel-core da spreadsheet (headers, shift+clique, fill handle) + cursores no vocabulário
e053bf5
📝 docs: Spreadsheet na galeria do Studio + a fence do scroll 2D
460f377
📝 docs: Spreadsheet completa — componente, keymap partilhado, resize por drag e o bug de nomeados
ea23b1e
📝 docs: Spreadsheet (fatia 1: modelo) + os 3 fixes do eqc que o transpile caçou
96bf7f2
📝 docs: Getting Started — três comandos para um app write-once
210f0b2
📝 docs: Photon — alocações 183→106 KB/frame (cache de paths + builder reutilizado; reverts documentados)
bfe0a82
📝 docs: ListView (lista com reciclagem) + frame exato do #app e defaults do ScrollView web
f8128f4
📝 docs: Photon — harness de perf (baselines 183 KB/frame, 146 cmds, p95 0,32 ms; catracas)
0937a7c