// Architecture of the meetus + doocus toolkit. // Regenerate the SVG with: make graphs (or: dot -Tsvg docs/graphs/architecture.dot -o docs/graphs/architecture.svg) digraph meetus_doocus { rankdir=LR splines=ortho fontname="Helvetica" node [shape=box, style="rounded,filled", fontname="Helvetica", fontsize=11, fillcolor="#f5f5f5", color="#cccccc"] edge [fontname="Helvetica", fontsize=9, color="#888888"] drive [label="Downloaded Drive\n(local · sensitive)", fillcolor="#e8eef7"] subgraph cluster_pipe { label="Deterministic, offline pipelines — no cloud AI touches the source" labeljust=l ; style=dashed ; color="#bbbbbb" ; fontsize=10 meetus_cli [label="meetus\nprocess_meeting.py · make batch\nwhisperx + ffmpeg frames"] doocus_cli [label="doocus\nprocess_tree.py · process_doc.py\nlocal text extraction"] } subgraph cluster_out { label="Managed collection roots (gitignored) — //, mirrored" labeljust=l ; style=dashed ; color="#bbbbbb" ; fontsize=10 meetus_data [label="meetus-data//\nindex.json + .meetus/\ntranscript · frames", fillcolor="#fdf0e3"] doocus_data [label="doocus-data//\nindex.json + .doocus/\ncontent.md · meta.json", fillcolor="#eaf6ea"] } subgraph cluster_ui { label="Local UIs (Vue 3 + Vite)" labeljust=l ; style=dashed ; color="#bbbbbb" ; fontsize=10 doocus_app [label="doocus-app\ntree · search · package\nembeds the meeting review"] meetus_app [label="meetus-app\nmeeting review\nvideo · transcript · frames"] review [label="@review\n(meetus ReviewBody — composed by both)", fillcolor="#f3ecfa"] framework [label="ui/framework\nshared components + tokens", fillcolor="#f3ecfa"] } package [label="Package (zip)\noriginals + content.md", fillcolor="#e8eef7"] services [label="Gemini web · NotebookLM\n(permitted services)", shape=ellipse, fillcolor="#e8eef7"] drive -> meetus_cli drive -> doocus_cli meetus_cli -> meetus_data doocus_cli -> doocus_data doocus_data -> doocus_app meetus_data -> doocus_app [xlabel="merge by\nshared root"] meetus_data -> meetus_app framework -> review [style=dashed, arrowhead=none] review -> meetus_app [style=dashed, xlabel="standalone"] review -> doocus_app [style=dashed, xlabel="embedded"] doocus_app -> package package -> services }