Julien Calixte 4d2db834ac feat: add PasswordAuth blueprint illustration
The primary-auth feature RememberMe composes onto. Transcribed from the
ontology password-auth README + .als: the full AuthState lifecycle
(Idle / Submitting / Authenticated / Refreshing / LockedOut / Error), its
8 functions, and a sign-in specimen shown across those states. Adds the
auth transition kinds and wraps the state-machine legend to a second row
so this richer machine's kinds fit without clipping.
2026-07-02 23:36:08 +02:00

blueprints

Deployed at https://blueprints.apoena.dev

Interactive illustrations of UI-pattern blueprints — the formal, framework-agnostic contracts from blueprint-ontology (signature, state machine, behaviors, invariants, critical performance, failure modes), rendered in a cyanotype "blueprint" style: monospace, blueprint-blue paper, faint grid, amber annotations.

The first screen illustrates the List blueprint and its seven functions — Display · Scroll · Load · Filter · Sort · Select · Act — as a specimen-under-glass with a full contract readout, an anatomy/composition map, and the LoadState machine.

Documentation

  • CONTEXT.md — ubiquitous language (Blueprint, Viewer, Specimen, Readout, …)
  • DESIGN.md — architecture & build-out decisions

Develop

pnpm dev           # frontend on :5173
pnpm build         # type-check (vue-tsc) + production build → dist/
pnpm lint          # oxlint  (pnpm lint:fix to autofix)
pnpm fmt           # oxfmt   (pnpm fmt:check to verify only)

Stack

  • Vite + Vue 3 + TypeScript SPA (no backend)
  • Tailwind v4 + DaisyUI with a custom blueprint dark theme (src/style.css)
  • oxlint + oxfmt for lint/format (no semicolons, double quotes)
  • Served in production by nginx (see Dockerfile + nginx.conf)

Blueprint content lives as typed data in src/data/; the viewer components render it. Source of truth: the list blueprint in blueprint-ontology (blueprints/list/README.md, list.als, list.test.als).

The original single-file static illustration is archived at archive/list-illustration.html.

Deploy

Pushes to main are picked up by Coolify at https://platform.apoena.dev and deployed to https://blueprints.apoena.dev.

Description
blueprints.apoena.dev
Readme 276 KiB
Languages
Vue 44.3%
TypeScript 32.4%
HTML 22.1%
CSS 1.1%
Dockerfile 0.1%