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.
  • clankvox owns 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.