AV SIGNAL FLOW · 系統図
Wiring you can write.
Describe connections port to port and get SVG. It does more than draw: it flags the cable that seats perfectly and carries nothing before anyone reaches site.
device cam "SONY FX3" as camera { out SDI : sdi }
device sw "ATEM Mini" as switcher { in 1..4 : sdi out PGM : sdi }
device rec "HyperDeck" as recorder { in SDI : sdi }
cam.SDI -> sw.1 : sdi 30m "V-01" [color=blue]
sw.PGM -> rec.SDI : sdi 2m "V-10"WHAT IT CATCHES
It fits. It does nothing.
The faults worth catching are the ones where the plug seats, the drawing looks right, and no signal arrives. Every verdict carries its reason, and the reason follows through into the cable schedule.
HOW IT READS
What you write is what comes out.
Every diagram below was compiled at build time by the published package from the source beside it.
Ports and ranges
CH[1..16] expands to sixteen. Declaration order is drawn, so IN 1 never ends up below IN 2.
device mixer "Yamaha DM3" as mixer {
in CH[1..16] : xlr
out L, R : xlr
io DANTE : dante
}
device amp "Amp" as amplifier { in IN_L, IN_R : trs }
mixer.(L, R) -> amp.(IN_L, IN_R) : trs 3m "A-10"Wireless
A radio path is not a cable, so it carries a frequency where a cable carries a length. Wire it straight into the desk with no receiver and you get told.
device mic "Wireless mic" as microphone { out RF : uhf }
device rx "Receiver" as interface {
in RF : uhf
out CH1 : xlr
}
device desk "Desk" as mixer { in CH1 : xlr }
mic.RF -> rx.RF : uhf [ch=38]
rx.CH1 -> desk.CH1 : xlr 3m "A-01"Equipment libraries
A desk's sixteen channels do not get rewritten per drawing. Define it once with model, instantiate as many as you like with device … from.
model dm3 "Yamaha DM3" as mixer {
in CH[1..16] : xlr
out L, R : xlr
@vendor "Yamaha"
}
device foh from dm3
device mon from dm3 "Monitor desk"LIVE
Write it here.
Type on the left, watch the right. Click a diagnostic to jump to the line.
Loading the editor…
VS CODE
In the editor you already use.
Install the extension and the diagnostics arrive as you type, with the diagram beside the source. The verdicts come from the same compiler as the ones above.
# in VS Code
code --install-extension love-rox.kumihimo-vscodeLatest release 0.10.2 · 2026-08-08View on the Marketplace
Diagnostics as you type
Not only syntax. A connection that seats perfectly and carries nothing is flagged, with its reason.
Preview beside the source
⌘K V opens it. It redraws as you type, follows your colour theme, and switches between the diagram and the cable, equipment and adapter schedules.
Completions from the compiler
Signal types, device kinds, jacket colours, themes. Every name offered is one the compiler accepts, with the connectors shown beside each type.
Follows your display language
The extension's own words and the compiler's sentences both follow VS Code, so neither ends up in a language the other is not in.
OBSIDIAN
In the note itself.
A code block becomes the diagram it describes. The same compiler runs, so a diagram written in a note opens anywhere else unchanged.
# in a note
```kumihimo
device cam "SONY FX3" as camera { out SDI : sdi }
device sw "ATEM Mini" as switcher { in 1..4 : sdi out PGM : sdi }
device rec "HyperDeck" as recorder { in SDI : sdi }
cam.SDI -> sw.1 : sdi 30m "V-01" [color=blue]
sw.PGM -> rec.SDI : sdi 2m "V-10"
```Submitted to the community directory. Until it lands there, copy the three files from a release into your vault.Releases
Write it, see it
A ```kumihimo block becomes the drawing. ```khm does the same.
The schedules too
Cables, wireless, equipment and parts, folded up under the drawing — the same lists the job travels with.
Faults are named
A run that seats perfectly and carries nothing is reported under the drawing, with its reason. A note with a wrong diagram in it is worse than a note with none.
Works on a phone
The layout engine needs no worker, so this is not desktop-only.
INSTALL
Install it, write it.
# on the command line
pnpm add -D @love-rox/kumihimo-cli
kumihimo build studio.khm -o studio.svg
kumihimo check studio.khm
kumihimo export studio.khm drawio# embedded in Markdown
pnpm add @love-rox/kumihimo-rehype
```kumihimo
cam.SDI -> sw.1 : sdi 30m
```Latest release 0.12.1 · 2026-08-08Changelog