C4 Level 1 — Context diagram
C4 Level 1 — Context diagram
C4Context
title System Context — Rymflux v1
Person(listener, "Listener", "End user consuming audio through rooms")
Person(pluginDev, "Plugin Developer", "Writes content-source plugins")
Person(roomAuthor, "Room Author", "Builds room experiences on the framework")
System(rymflux, "Rymflux", "Audio platform with plugin system, room framework, playback engine, and unified library")
System_Ext(filesystem, "Local File System", "Audio files, plugin directories, SQLite database")
System_Ext(audioHW, "Audio Output", "OS audio device (PulseAudio / CoreAudio / WASAPI)")
System_Ext(pluginRuntime, "Plugin Runtimes", "Python 3.10+, Go, Rust, or any language that produces an executable")
Rel(listener, rymflux, "Uses")
Rel(pluginDev, rymflux, "Writes plugins for")
Rel(roomAuthor, rymflux, "Builds rooms on")
Rel(rymflux, filesystem, "Reads/writes library, reads audio files, scans plugins")
Rel(rymflux, audioHW, "Outputs audio to")
Rel(rymflux, pluginRuntime, "Launches and communicates with", "stdin/stdout JSON-RPC")
- No external network services in v1. All dependencies are local (local-first, constraint C6). Plugin stream URLs may point to remote servers (e.g., a Jamendo API endpoint), but the core does not host or depend on any remote service.
- Plugin runtimes (Python, etc.) are not shipped by Rymflux. The reference plugin requires Python 3.10+; third-party plugins may require their own runtimes.
- Audio output is the only kernel/hardware dependency. Everything else is userspace.
Was this page helpful?
Thanks for your feedback!