Skip to content

For Developers

Andrei Fedorov edited this page Nov 10, 2026 · 4 revisions

The developer documentation lives in the repository, next to the code it describes, so it changes with it:

Document What's in it
README Packages, Foundry ids, the commands to build and test
docs/ARCHITECTURE.md How the core and the modules fit together, with diagrams
docs/ROADMAP.md What is left before 1.0, and open items
docs/dock-theming.md Making a theme for the dock
docs/voice-routing.md The voice channel: places, the gate, sends and levels
docs/audio-mixer.md The audio mixer: presets, reports and GM layers
docs/LOCAL-SETUP.md A local Foundry and Chrome for the end-to-end tests
docs/RELEASING.md How releases are made

How it fits together

  • @modular-av/api holds the types every module builds against.
  • The core (modular-av) replaces Foundry's A/V client and runs the call. Services, camera UIs, settings windows and effects register with it; it owns what must hold whatever they do (mute, blocks, camera effects keeping the camera off).
  • Services (modular-av-p2p, modular-av-livekit, modular-av-jitsi) carry the call; a world runs one.
  • UIs (modular-av-dock) show it; themes (modular-av-dock-vines) restyle the dock through its theme API.
  • Effects (modular-av-mic-denoise, modular-av-audio-reverb, modular-av-audio-echo, modular-av-audio-eq, modular-av-audio-radio, modular-av-audio-boost, modular-av-cam-background) process the microphone or camera in the browser. The core owns where an audio effect runs and how loud; an effect declares its settings as controls, which any UI can draw.
  • The audio mixer (modular-av-audio-mixer) is one such UI, for the voice channel.

The Module map shows which module requires which.

Licence

MIT. No code under the Hippocratic License; third-party code is listed in THIRD-PARTY-NOTICES.md and in each module's own notices.

Clone this wiki locally