Skip to content

v0.6.18 — connection direction: forward / backward / bidirectional

Choose a tag to compare

@wwppee wwppee released this 15 Jul 22:32

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) and marker-end (forward) for
    the same edge; bidirectional gets arrows on both ends. The same marker id
    is reused with orient="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).
  • forward is the default, and is stored as the absence of dir (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)