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