Commit Graph

9 Commits

Author SHA1 Message Date
Julien Calixte
1b446c54df feat(theme): use Iosevka Charon Mono as the app typeface 2026-07-02 23:27:15 +02:00
Julien Calixte
062826e126 feat: add RememberMe blueprint illustration
First capability blueprint in the gallery. Transcribed from the ontology
remember-me README + .als: the persistence lifecycle
(NotPersisted -> Persisting -> Persisted -> Revoked), its 8 functions,
and a specimen annotating the opt-in sign-in and cold-start revive
screens plus the secure-storage vault it owns.
2026-07-02 23:18:23 +02:00
Julien Calixte
f6b184406d feat(state-machine): let blueprints define init, caption, and kinds
RememberMe is the first blueprint whose lifecycle is not the composed
LoadState: it starts at NotPersisted (not `loading`), has its own panel
caption, and its own transition kinds. Make the init node, the panel
caption/field, and the SmKind palette data-driven, with defaults that
leave List/Grid/Calendar unchanged.
2026-07-02 23:18:14 +02:00
Julien Calixte
9c8ba9a752 fix(a11y): raise faint ink text to meet WCAG AA contrast
Dim text tokens (base-content/40-50, #4f7099) sat at 3.0-4.1:1 on the
navy paper, below the 4.5:1 minimum. Brighten text uses to #7ea6cd
(~6:1) and split the overloaded --ink-faint into --ink-dim so borders,
stripes and diagram edges keep their intended faintness.
2026-07-02 23:05:53 +02:00
Julien Calixte
6264c9959b feat: add Calendar blueprint illustration
Transcribe the calendar blueprint from blueprint-ontology (README +
calendar.als): Navigate, Render, Load, Scope functions, its own
Idle/Loading/Refreshing/Error lifecycle, and a bespoke month/week
specimen. Composition follows the formal model (Async + Pullable).
2026-07-02 18:55:42 +02:00
Julien Calixte
8e7a903fe4 refactor(state-machine): derive legend from the machine's edges
Add navigate/changeScope transition kinds and build the legend from the
transitions a machine actually has, so each blueprint shows only its own
kinds — needed for Calendar, whose lifecycle has no loadMore().
2026-07-02 18:55:34 +02:00
Julien Calixte
c66f13c1c5 fix: composition map viewBox clipped last row
Height was derived from the capabilities column only; the functions column
(52px step) is taller and its last box + column labels fell outside the
viewBox. Size to the taller column plus label room.
2026-07-02 18:38:28 +02:00
Julien Calixte
03804b10dc feat: gallery + generic blueprint viewer, add Grid blueprint
Refactor the List-specific screen into a data-driven, reusable viewer:
- generic Blueprint type + shared LoadState machine + registry
- vue-router: / (gallery) and /b/:slug (illustration)
- BlueprintViewer renders any blueprint; specimens stay bespoke
- add Grid blueprint (6 functions incl. Position) + GridSpecimen
2026-07-02 18:34:49 +02:00
Julien Calixte
4405497658 feat: scaffold blueprints SPA with List functional-blueprint illustration 2026-07-02 18:12:20 +02:00