v0.6.18 — connection direction: forward / backward / bidirectional
v0.6.18 — connection direction: forward / backward / bidirectional
Connections are no longer one-way. Each connection now has an explicit
dir: "forward" | "backward" | "bidirectional", rendered with SVG arrow
markers so the topology reads at a glance.
What you get
- Inspector shows a third select next to label:
A → B/B → A/A ↔ B
(arrow glyphs are locale-stable, so no translation is needed). - Canvas renders
marker-start(backward) andmarker-end(forward) for
the same edge; bidirectional gets arrows on both ends. The same marker id
is reused withorient="auto-start-reverse"— no new asset. - Up to 3 connections per unordered node pair — one per direction. Dedupe
is keyed on the triple(from, to, dir). forwardis the default, and is stored as the absence ofdir(not as an
explicit"forward"field), so a v0.6.17 board round-trips through v0.6.18
byte-identical.
Files touched (15)
| Area | Files |
|---|---|
| Schema | web/src/lib/types.ts, src/core/compose-boards.ts |
| Compose state | web/src/lib/compose-history.ts, web/src/app/compose/ComposeBoard.tsx |
| UI | web/src/app/compose/Inspector.tsx, web/src/app/compose/ConnectionPath.tsx |
| i18n | web/src/lib/i18n/types.ts, web/src/lib/i18n/dict.en.ts, web/src/lib/i18n/dict.zh.ts (+5 keys) |
| Docs | CHANGELOG.md, docs/roadmap.md |
| Tests | 3 unit + 1 history test updated for v3/v4 version unions |
Why a minor bump (and not a patch)
Per the project's hotfix precedent (v0.6.6, v0.6.13, v0.6.17), additive
schema/UI features ship as minor bumps. v0.6.18 is additive: every v0.6.17
board still opens and edits fine.
Backlog after v0.6.18
v0.6.19— connection color (per-edge / per-direction palette)v0.6.20— auto-route (avoid overlapping edges on the canvas)v0.6.21— hooks 抽离 (move web/src/app/api hooks into src/hooks/)- placeholder parameter audit (15 keys remain hardcoded)