All dates are absolute. This library was ported in the open, task-board first: each entry maps to a completed task in tasks/, and every claim here is verifiable in the repo or on this site.
2026-09-30 — Docs site surface (Tasks 7–8)
The documentation site now matches the craft standard of the benchmark it is modelled on. Four gaps closed, each audited by a second agent:
- On this page rail — a right-side ToC on every component page: DOM-scanned headings, scroll-spy highlight, click to smooth-scroll, keyboard reachable, and it renders nothing on pages without sections.
- Page actions — a "Copy page" control on every component page: copy the page as Markdown, view it as Markdown in a new tab, copy the page link, copy the install command, and open an AI assistant (ChatGPT, Claude, Cursor, v0) with a prefilled prompt pointing at the component's Markdown URL. Copy states confirm visibly and reset; clipboard failures show a visible fallback instead of a silent lie.
- Canonical grouping — all component docs migrated to the 22 canonical UI groups (script-applied, idempotent, verified). Sidebar and index render groups in canonical order; empty groups stay hidden.
- Search — a ⌘K / Ctrl-K palette over every component: fuzzy matching across titles, prop names, descriptions, and AI notes, fully keyboard-operable, index built lazily on first open.
Supporting infrastructure that makes the above real:
GET /components/<name>/markdown— every doc, as deterministic Markdown from a single serializer (200 withtext/markdown, 404 for unknown slugs). The same bytes power "Copy page as Markdown".GET /llms.txt— a machine-readable index of all 35 component docs with page and Markdown URLs, served astext/plain, using the request origin.- Responsive shell — 3-column grid (sidebar | content | ToC rail); the rail collapses under 1100px and tables scroll horizontally instead of breaking the page. Verified: no horizontal page scroll at narrow widths.
- Gates on every lane:
svelte-check0/0, design-system lint 0 violations, port-contract check 35/0, build green.
2026-09-30 — Section 1 guides (Task 9)
Human-authored guides live at /docs/<slug>, rendered from the docs/ markdown with the same shell and ToC rail as component pages: Introduction, Installation, Theming, Motion, AI and MCP, and this Changelog. Theming and Motion samples were adapted from the React originals to SvelteKit / Svelte 5.
2026-09-30 — Port and tooling (Tasks 1–6)
- Project set up —
svelte-arcuiscaffolded as a SvelteKit + Svelte 5 (runes, strict) + TypeScript mirror project; site-only content isolated behind the$sitealias so nothing docs-related ships in the package. - Foundation ported —
foundation.cssdesign tokens,motion-tokens.ts,media.ts, anduse-copy-feedbackcarried over as the anchor layer for every component. - 35 components ported from the React source library, each shipping its
.module.cssverbatim and its full doc page (live demo, props table, variants, keyboard, accessibility, motion notes) alongside the component — the doc is the proof. - 16 Radix-based components rebuilt on plain Bits UI headless primitives (accordion piloted as the reference implementation), including drawer/bottom-sheet on vaul-style Dialog, hover-card on LinkPreview, and split-button/notification-center composed from DropdownMenu.
- Motion in two phases — Phase 1 holds the mounted-element DOM contract of each React original with animation end-states applied statically; this is the current state of all 35 ports. Phase 2 (still-states →
@humanspeak/svelte-motionsprings) is the next wave.prefers-reduced-motionis honored per component. - Tooling —
check-port.mjs(props-contract diff against the source registry JSONs),cui-lint.mjs(design-system token lint),scaffold-port.mjs/scaffold-doc.mjs(component + doc scaffolds),normalize-groups.mjs(group migration). A four-agent swarm process with frozen interfaces, disjoint file ownership, and mandatory cross-audits ran the port and the docs surface in parallel.