Tags give the ability to mark specific points in history as being important
-
v0.11.0
protectedRelease: @dunn.dev/reference v0.11.03b08b13b · ·@dunn.dev/reference v0.11.0 A minor. Marks switch on scroll and draw in time. The talk chrome no longer settles a figure after scroll stops. Scroll picks each mark's state; time draws it, --dur-mark-fade 280ms and --dur-mark-draw 480ms on --ease-mark. --dur-settle is gone. Readouts, notes and lamps change at the mark they describe: a stepping readout at that mark's --a, an interpolating one through the chrome's drawn(). Lamps read the unrounded fig.
-
v0.10.0
protectedRelease: @dunn.dev/reference v0.10.0e81ad0e3 · ·@dunn.dev/reference v0.10.0 A minor. Each talk can look like itself. talk.css and talk.js read identity tokens with defaults equal to today's render: --paper-tooth, --f-stroke, --hatch-w, --rule-every, --rule-on, --rule-rate, --hatch-rate, --hatch-step, --course-max. A talk that sets none of them does not move. The index rail reverses to ink while a plate passes behind it.
-
v0.9.2
protectedRelease: @dunn.dev/reference v0.9.22047baee · ·@dunn.dev/reference v0.9.2 A patch. Talk notes hold still. talk.js exports hold(el, texts): a figure note renders every reading up front in one grid cell and show(i) picks the one in view, so a note whose text changes per step no longer reflows the page. The CSS is opt-in on .fig-note:has(> .on); plain notes are unchanged.
-
v0.9.1
protectedRelease: @dunn.dev/reference v0.9.1ec1a5339 · ·@dunn.dev/reference v0.9.1 A patch. The auth surface carries its own header. auth.css takes the portal's 4rem header and narrow gutter, so the standalone file has them too, and on a .page-narrow page the brand name stays visible at every width: the reader sees which service is asking.
-
v0.9.0
protectedRelease: @dunn.dev/reference v0.9.093e5e1cc · ·@dunn.dev/reference v0.9.0 A minor. Reference becomes a catalog of chromes. auth/auth.css is the auth-surface layer (focused column, card, buttons, fields, notices) over tokens and site.css. auth/auth.standalone.css is generated from the tokens, the site.css chrome it needs and auth.css, for a page that inlines it with no build; the mark is a slot each consumer fills. /design/chromes/ names the four chromes and their consumers. --font-mono reaches a system mono before Courier New. Removed: mark/dunn-mark.ttf. The terminal glyph is retired.
-
v0.8.4
protectedRelease: @dunn.dev/reference v0.8.4a1baac42 · ·@dunn.dev/reference v0.8.4 A patch. Reference runs on just. A justfile sits beside the Makefile, with just pinned in mise.toml. Consumers check with just -f ~/gitlab.com/dunn.dev/reference/justfile check from their own repo. The Makefile stays until every caller has moved. The package contents are unchanged.
-
v0.8.3
protectedRelease: @dunn.dev/reference v0.8.31379352c · ·@dunn.dev/reference v0.8.3 A patch. The lesson actions row stays whole above 1024px. .lesson-actions takes flex: 0 0 auto, so a long title takes the header shrink and the theme toggle no longer wraps between 1025 and 1100px.
-
v0.8.2
protectedRelease: @dunn.dev/reference v0.8.2566ba260 · ·@dunn.dev/reference v0.8.2 A patch. Seven small fixes from the consumer sweep. Nav marks the longest matching prefix, not every ancestor. The theme toggle stays on one line. Lists in a landing .section indent, at zero specificity, so class-styled lists keep their own padding. Form controls take color-scheme from the theme, not the media. Talk lamps take a cap hook. Talk controls go inert while faded below half opacity. Below 1024px the lesson toggle sits on the title row.
-
v0.8.1
protectedRelease: @dunn.dev/reference v0.8.1cc88c89a · ·@dunn.dev/reference v0.8.1 A patch. The lesson core, and talks install without the @. lesson/lesson.css, lesson/lesson.js and lesson/theme.js carry two shells (article and app), a theme toggle with an external pre-paint preload each site serves from its own origin, a fixed rail labelled from 1380px, the unit head with accent chapter numbers, a split with a sticky side, a skip link, one breakpoint set and a text measure. Levers come from the page as --lesson-lever-<name>. Talks copy the chrome to dunn.dev/reference/ and deploy with needs_npm_install; the asset server no longer redirects every chrome request. The tokens check accepts the path with or without the @, under the same id. The optional astro peer is gone.
-
v0.8.0
protectedRelease: @dunn.dev/reference v0.8.082c44a3d · ·@dunn.dev/reference v0.8.0 A minor. Two site types get a chrome. talk/talk.css and talk/talk.js carry the plate-book talk: a pinned stage per chapter on its own scroll timeline, steps packed to their content and each resting on a finished drawing, the ink classes, the rail, cover, plates, clicker and a JS fallback driver. Rail and step geometry are custom properties; a talk keeps its figures, its --sig colours and its own ink verbs. lesson/lesson.css carries the lesson header bar and footer row, CSS only, dark mode from the tokens. The design-system check reads a talk's talk.css or a Vite lesson's styles.css for the tokens import, under the same check id.
-
v0.7.1
protectedRelease: @dunn.dev/reference v0.7.1c51e573d · ·@dunn.dev/reference v0.7.1 A patch. Stepped diagrams pack tight. DiagramTrack no longer holds each step to 45vh or adds a half-screen runway after the track. Steps sit one spacing step apart, and the trigger sits at most 340px into the viewport, so the last track on a page still lights in a tall window. The design-system contract names one kind of site: a project site.
-
v0.7.0
protectedRelease: @dunn.dev/reference v0.7.0b796f910 · ·@dunn.dev/reference v0.7.0 A minor with breaking chrome. Project sites build on one shared page frame, and reference.dunn.dev is redesigned on it. A consumer moves to it by its own bump; no rule automerges one. Page chrome ships as Astro components. @dunn.dev/reference/chrome/* exports ProjectLayout, Hero, SectionLabel, Split, DiagramTrack and Toc. Astro is an optional peer dependency. Docs pages use one grid, nav | content | contents, and a page with no section nav lists the site's pages in the left lane. DiagramTrack steps an inline SVG with data-step and data-until on scroll; the finished drawing is the fallback. The frame is wider and prose is held by measure. The header, page and footer run to --frame (90rem) with --pad gutters. The global 40rem paragraph cap is gone; prose sits at --measure or in .flow columns. .page-header has no rule under it. Removed: .tile-list, .hero-glyph, .hero-mark, .hero-tagline and the .hero grid. A site that used them keeps a local rule or moves to Hero and .tile-grid. bairn uses .tile-list and .hero-tagline. design-system: project and technical sites must use the chrome; a bespoke site records a reasoned deviation. check.sh does not assert it yet.
-
v0.6.0
protectedRelease: @dunn.dev/reference v0.6.04b2f0976 · ·@dunn.dev/reference v0.6.0 A minor. The published chrome changes under every site that imports it: the figure box, the light warning colour, and the web-starter template. The reference-check component reads the contracts from main by default. Every consumer ran against main and this release before the tag, and none turned red. The figure box hugs the figure. .cat-explainer is as wide as its drawing, with 8px of padding and clear: both, and the diagrams leaf states the 660 canvas the estate draws on. A diagram of one concept grows taller and stays one figure. A pair is for two mechanisms. The light warning colour reads as text. --warning in the light theme is #a0602f, which clears 4.5:1 on the surface colour. The dark theme is unchanged. The standards are contracts. Each standard's SKILL.md is a CONTRACT.md that says why each assertion exists, how to satisfy it, and which deviations it expects. The list of what a standard checks is generated from its check.sh, so the page and the check agree. Procedure moved to the skills that act on it. A contract says when it applies. design-system governs a repo that renders a web surface: an Astro config, a global.css or site.css, or an index.html. A bootc image repo reads N/A with no deviation to keep. container-publishing, package-publishing and image-cleanup declare applicability the same way, and a Rust crate is a publisher only when its pipeline publishes. Pipeline accepts the cairn and immutable catalogs. An include of gitlab.com/dunn.dev/cairn/pipeline or immutable/pipeline pinned to a bare major passes, and the @latest and @main bans cover both catalogs. Checks read live lines. A commented-out include does not satisfy a check, and a comment that mentions @latest does not fail one. container-publishing finds a Dockerfile as well as a Containerfile. A waiver names one rule. When a contract checks the same file twice, the second rule carries its own id: file-lacks:.gitlab-ci.yml:main for pipeline's @main ban, file-contains:.gitlab-ci.yml:release-create for package-publishing's release. A deviation that names the bare id waives the first rule only. The guard fails a check.sh that repeats a path without a distinct id. The contracts match the catalog. The pipeline component table lists what the catalog ships. Renovate config extends the estate preset. package-publishing carries a Rust composition, container-publishing names the bootc signing invariants and the job that enforces them, and the consumer example pins reference_ref to main. Installing the package locally needs no token, because the registry serves anonymous reads. The site checks its own routes. llms.txt routes by task, each route says when the task is done, and the page catalogue stays. Principles are one page with an anchor each, and the old leaf URLs redirect. The diagram specimens live on a gallery page. A route or relative link that resolves to nothing fails the build, and _lib.sh and the repository scripts are served beside the check.sh files that source them, so a fetched check.sh runs. Pages carry canonical and social preview tags, the mark specimens have accessible names, and text responses declare utf-8. web-starter builds. The template pins the TypeScript major @astrojs/check supports, and a pipeline job installs and builds it on every change. tokens/colors.json no longer ships. Its export went in v0.5.0 and nothing reads it.
-
v0.5.0
protectedRelease: @dunn.dev/reference v0.5.08d2f110b · ·@dunn.dev/reference v0.5.0 A minor because the published chrome moves under every consumer, and because six export subpaths are gone. Sites pick both up on their own bump: a caret range on a 0.x version pins the minor. One prose measure, and .page tables styled. .page-lede and .section-prose cap at a 40rem measure, so body text stops running the full width of a wide window. .page tables take the estate's rules. Code wraps, and .page pre scrolls inside itself instead of pushing the page sideways, which is what put six pages into horizontal overflow at 390px. .cat-explainer ships in site.css. The design-system contract prescribed three container rules for inline-SVG diagrams and then asked every site to keep its own copy in the [slug].astro layout. They are published chrome now. Tokens-only sites keep the local block: tutti does not import site.css, because its own chrome collides with the canonical class names. llms.txt routes, llms-full.txt is retired. The agent surface was a 113KB dump with no reader found for it. llms.txt is a routing spine now, pointing at each page's index.md and at each standard's check.sh and templates. The page list is derived from the nav, so a page can no longer 404 on its own index.md. Diagram rules, adopted and attributed. Connector, node-treatment and type-ramp rules are adapted from cathrynlavery/diagram-design (MIT, Cathryn Lavery) at commit 4451ead, restated for the estate's 720-wide inline SVGs. The design/diagrams page carries the attribution and the licence. Forty-four drawn specimens. One for each type in that typology, a consultant variant of the quadrant, and the estate's own originals. Each is an SVG file rather than markup inlined in the page. The gallery groups them and states the editorial rules that keep an inline SVG legible. Six exports removed. Breaking. ./tokens/colors.css, ./tokens/typography.css, ./tokens/spacing.css, ./tokens/motion.css, ./tokens/colors.json, and ./tokens/typography.md, whose target has never been in git. Each measured at zero importers across every repo in the namespace that declares the dependency. The four token files still ship, because tokens/index.css imports them by relative path. What is gone is the promise that a consumer may reach past index.css and name one directly. The plugin manifests are gone. .claude-plugin/plugin.json and marketplace.json described a plugin that did not exist, and the Start page they pointed at went with them.
-
v0.4.2
protectedRelease: @dunn.dev/reference v0.4.20c190830 · ·@dunn.dev/reference v0.4.2 Fixes the journal treatment's palette. Both changes are confined to journal/journal-base.css; tokens/, mark/, site.css and the repository templates are untouched. Pin the complete semantic token set on body.journal. The journal is a light-only treatment, but it re-pinned only twelve tokens. tokens/colors.css declares dark values on :root, so every semantic token the block left unpinned inherited its DARK value down into body.journal while --bg stayed cream — dark status colours, near-black input chrome and cold grey borders on warm paper for any visitor whose system is set to dark. Fourteen tokens were diverging: --nav-bg, --border-strong, --callout-warning/tip/todo, --danger(+subtle), --success(+subtle), --warning(+subtle), --input-bg/border/focus. Verified in a browser under emulated system-dark, before and after. Raise --text-muted to AA, and floor muted type at 0.68rem. --text-muted carries eyebrows, stat labels, captions and pagenav — body-sized text and smaller. #8a7660 measured 4.03:1 on --bg and 3.61:1 on --surface, below the 4.5:1 threshold on both grounds. Now #7a6650: 5.07:1 and 4.55:1, same hue and chroma, one step darker. .wt-stat-label goes 0.62rem to 0.68rem; AA at ~10px uppercase mono is still hostile reading, so the colour and the size floor work together. Consumer impact: journal consumers (works, cycle) will see all muted text darken one step and stat labels grow slightly. Non-journal consumers are unaffected — nothing they import changed.
-
v0.4.1
protectedRelease: @dunn.dev/reference v0.4.14a581292 · ·v0.4.1 Same content as v0.4.0, released through a working pipeline. v0.4.0 published @dunn.dev/reference@0.4.0 to the registry and then failed at cosign, so it carries no signature, SBOM, attestation or Release page. Fixed in dunn.dev/pipeline 4.4.1: node-publish now signs to a Sigstore bundle rather than the sig+cert pair cosign 3.x rejects. Carries the 16-24px mark badge tier, the terminal-glyph recipe, checkable catalog-design principles, make check honouring .deviations.yaml, and the jq -er conflation fixes.
-
v0.4.0
protectedf5519de5 · ·v0.4.0 New: mark/mark-badge{,-light,-dark}.svg, a 16-24px tier. The tiers stopped at mark-medium (48-64px), so anything smaller reached for a display-size asset and rendered as a hairline: the r2.5 vertex rings are sub-pixel below ~28px. Geometry is mark.svg verbatim; only weight, node treatment and a 0.2 duotone fill differ. Also: terminal-glyph recipe, checkable catalog-design principles, make check honouring .deviations.yaml, and jq -er conflation fixes in check_gitlab_setting and check_json_key. -
v0.3.0
protectedRelease: @dunn.dev/reference v0.3.06fc4b073 · ·v0.3.0 — promote converged estate site chrome into site.css CTA button pair, 2-col tile card grid + install list, paper-card diagram frame, hero tagline; --text-md token. Estate sites consume this instead of vendoring forks. Additive, non-breaking.
-
0.2.0
protectedRelease: @dunn.dev/reference 0.2.0861a87ae · ·0.2.0 Three new standards + CI uplift to dunn.dev/pipeline 2.3.0: - container-publishing: Containerfile FROM uses ci-runtime-go|node catalog base; .gitlab-ci.yml uses container-image@X.Y.Z catalog include. - package-publishing: any publish-shaped CI also includes slsa-attest + release-create. - image-cleanup: container_expiration_policy.enabled at project level. Reference's own CI now publishes @dunn.dev/reference via catalog node-publish + node-sbom + slsa-attest + release-create. Tarball cosign sign-blob; SBOM + SLSA v1.0 attest attach to the GitLab Release.
-
0.1.0
protectedc6019795 · ·0.1.0 — initial publish First release of @dunn.dev/reference. Folds in everything design.dunn.dev used to publish (tokens, chrome, mark, journal) plus reference's own contracts (repository, pipeline, design-system) and their templates. Exports map: tokens/index.css, colors.css, typography.css, spacing.css, motion.css tokens/colors.json, typography.md site.css, mark/*, journal/{JournalRail.astro, journal-base.css, types} repository/templates/* Consumers in the dunn.dev group can install via the project's GitLab npm registry. CI_JOB_TOKEN handles auth within the group; locally, configure .npmrc with a personal access token.