docs/diagram.md
ClankVox Diagram
This is the media-plane map for how clankvox fits under Clanky. ClankVox is
Clanky's main native package for voice and media transport; Discord voice and Go
Live are the implemented transport family.
flowchart TB
user[People in media sessions]
surfaces[Platform media surfaces]
discord[Discord voice and stream servers]
future[Future platform media transports]
clanky[Clanky Node runtime]
ipc[stdin JSON lines<br/>stdout framed IPC]
vox[clankvox Rust media plane]
family[transport implementations]
voice[Discord voice role]
watch[Discord stream_watch role]
publish[Discord stream_publish role]
crypto[transport crypto]
audio[codecs, PCM, RTP audio]
video[codecs, RTP video]
user <--> surfaces
surfaces <--> discord
surfaces -.-> future
clanky <--> ipc
ipc <--> vox
vox --> family
family --> voice
family --> watch
family --> publish
family -.-> future
voice --> crypto
watch --> crypto
publish --> crypto
crypto --> audio
crypto --> video
audio <--> discord
video <--> discord
Ownership Split
- Clanky owns prompts, settings, platform gateway control, tools, and product behavior.
clankvoxowns native media sockets, UDP/RTP, codec framing, transport encryption, audio capture, playback pacing, and platform media telemetry.- The Discord transport adds Discord voice/stream sockets, DAVE, and native Go Live watch/publish roles.
- IPC is the boundary. Stdin accepts JSON lines, stdout emits framed IPC messages, and stderr is transport logging.
Discord Runtime Roles
voice: the anchor voice connection for capture and playback.stream_watch: inbound Go Live receive.stream_publish: outbound Go Live send.
For the written model, see Architecture, Audio Pipeline, and Go Live.
