Repository navigation
Module Map
Every module needs the core. Beyond that, a world takes one service, at most one camera UI and one dock theme, and any number of effects.
Names are short here: dock is modular-av-dock, core is
modular-av itself. An arrow points from a module to what it requires;
an arrow from a box means every module in it. A dotted arrow is a
recommendation: Foundry offers it, you may leave it out.
%%{init: {"htmlLabels": false, "flowchart": {"htmlLabels": false}}}%%
flowchart TB
core(["core"])
subgraph services["Service: one, required"]
p2p["p2p"]
livekit["livekit"]
jitsi["jitsi"]
end
subgraph cameras["Cameras: one, optional"]
dock["dock"]
end
subgraph theme["Theme: one, optional"]
vines["dock-vines"]
end
subgraph effects["Effects: any number, optional"]
denoise["mic-denoise"]
cambg["cam-background"]
voice["audio-reverb<br/>audio-echo<br/>audio-eq<br/>audio-radio<br/>audio-boost"]
krisp["livekit-krisp<br/>(not released)"]
end
subgraph mixer["Audio mixer: optional"]
audiomixer["audio-mixer"]
end
services --> core
cameras --> core
effects --> core
mixer --> core
vines --> dock
krisp --> livekit
audiomixer -.-> dock
core -.-> dock
The audio mixer and the voice effects don't require each other. The mixer draws whichever effects a world runs, and another mixer could draw the same effects. Without a mixer, reverb, echo, EQ, the radio and the mic boost are reachable only from the core's API: the dock offers noise cancellation alone.
Without the dock, Foundry's own camera dock shows the call. The core
conflicts with LiveKit AVClient (avclient-livekit): Foundry won't
enable both.
The starter set is a module with no code that requires four modules and recommends a fifth, so one install brings a whole setup.
%%{init: {"htmlLabels": false, "flowchart": {"htmlLabels": false}}}%%
flowchart TB
starter(["starter-set"])
core["core"]
dock["dock"]
livekit["livekit"]
denoise["mic-denoise"]
cambg["cam-background"]
starter --> core
starter --> dock
starter --> livekit
starter --> denoise
starter -.-> cambg
A slot that holds one module (the service, the cameras, the theme) holds only one: picking another in Plan your modules puts the old one back in the tray, together with what hangs off it. Swapping away from LiveKit takes Krisp with it; dropping the dock takes its theme.
Modular A/V is MIT licensed. Repository · Issues
Start
Services
Cameras, voice and effects
Help