Commit Graph

26 Commits

Author SHA1 Message Date
Julien Calixte
6815b81701 fix(editor): fit the view after loaded nodes are measured 2026-06-20 10:07:59 +02:00
Julien Calixte
5e50b2dfd4 feat(model): add node and link glossary definitions 2026-06-20 10:05:58 +02:00
Julien Calixte
acce53ce47 fix(docker): copy pnpm-workspace.yaml into the install layer
pnpm 11 defaults strictDepBuilds to true, so a dependency build script
that is not pre-decided in allowBuilds becomes a hard error. The install
layer only copied package.json and the lockfile, so the vue-demi build
decision in pnpm-workspace.yaml was absent and the build failed.
2026-06-20 10:03:00 +02:00
Julien Calixte
72ef29413a feat(editor): wire autosave and add JSON import/export 2026-06-20 10:02:42 +02:00
Julien Calixte
75ebb39848 feat(editor): add debounced model autosave composable 2026-06-20 10:01:44 +02:00
Julien Calixte
4c55ff9ffa feat(model): add IndexedDB-backed model repository 2026-06-20 10:01:44 +02:00
Julien Calixte
9f71febca0 feat(model): round-trip models as versioned JSON 2026-06-20 10:01:43 +02:00
Julien Calixte
1c571059df chore(deps): add idb for local persistence 2026-06-20 10:01:38 +02:00
Julien Calixte
bc90a9bca9 fix(editor): keep loop badges on nodes while dragging
Badge centroids now read Vue Flow's live computedPosition instead of the
store, which commits positions only on drop — so badges no longer lag a
node drag. Centres use real node dimensions, dropping the hard-coded nudge.
2026-06-20 09:42:37 +02:00
Julien Calixte
37017c1175 docs: align design docs and README with the editor 2026-06-20 09:37:50 +02:00
Julien Calixte
d3119e8a20 feat(editor): wire the canvas and mount the editor 2026-06-20 09:37:50 +02:00
Julien Calixte
03848ae893 feat(editor): add node, edge, palette, and loop-overlay components 2026-06-20 09:37:42 +02:00
Julien Calixte
0416581799 feat(editor): add shared loop-highlight state 2026-06-20 09:37:32 +02:00
Julien Calixte
0aaa4114d9 feat(store): add model store with snapshot undo/redo and loops 2026-06-20 09:37:32 +02:00
Julien Calixte
6d03d706a0 feat(model): add a gallery of sample models 2026-06-20 09:37:32 +02:00
Julien Calixte
5c3f467a24 feat(model): detect and classify feedback loops
Loops are derived from the wiring, never stored (ADR-0001): a signed
graph (link polarities plus flows' inherent inflow/outflow) is searched
with Tarjan SCC and a capped enumeration, classifying each cycle R or B
by the parity of its negative links. Both the result count and the
search are bounded so detection can never blow the frame budget.
2026-06-20 09:37:26 +02:00
Julien Calixte
fd94a8b7ed feat(model): guard connections to preserve valid structure 2026-06-20 09:37:19 +02:00
Julien Calixte
8fac6f4694 feat(model): project the model into a Vue Flow graph 2026-06-20 09:37:19 +02:00
Julien Calixte
95990b0d1f feat(model): add domain types and model factory 2026-06-20 09:37:18 +02:00
Julien Calixte
2c0d4b842f chore(deps): add Vue Flow and Pinia with pnpm workspace config
pnpm-workspace.yaml opts vue-demi out of build scripts; Vue Flow pulls
it in transitively and pnpm 11 otherwise fails the install on it.
2026-06-20 09:37:13 +02:00
Julien Calixte
aadc157144 docs(design): lead with the House of Quality visual
Move the visual above §1 so the assembled picture serves as an
at-a-glance overview; flip its cross-reference from "tables above"
to "tables below" to match the new position.
2026-06-20 02:26:59 +02:00
Julien Calixte
355c99e797 docs(design): add House of Quality visual
Render goals x functions (with the roof, importance weights, and basement
targets) as a TikZ House of Quality, generated from the existing QFD tables.
2026-06-20 02:20:21 +02:00
Julien Calixte
e76432d3ca docs: cross-link design docs with README
Add a Design & docs section to the README linking CONTEXT, DESIGN, and the
three ADRs, plus a backlink to the README from each of those documents.
2026-06-20 02:20:05 +02:00
Julien Calixte
8b64e8f6b7 docs(readme): drop avoided term "faucet" from tagline
CONTEXT.md lists "faucet" as an avoided term (the canonical word is Flow)
and DESIGN.md records it as dropped; align the README tagline.
2026-06-20 02:19:00 +02:00
Julien Calixte
cbbd61b6f4 docs: add ubiquitous language, QFD design, and ADRs 2026-06-20 02:09:09 +02:00
Julien Calixte
68a8c303d9 chore: initial scaffold 2026-06-20 01:28:32 +02:00