Skip to content

Architecture Map

Use this page to find the current source of truth before changing a subsystem. It is intentionally an index, not another architecture spec.

Public Documentation

Need Location
user orientation docs/start/
runnable examples and gallery docs/examples/ and examples/c/MANIFEST.yaml
task workflows docs/how-to/
exact feature/API status docs/reference/
contributor procedures docs/contributors/

mkdocs.yml is the source of truth for public navigation.

Durable Specs

Surface Location
documentation architecture spec/docs/
scene semantics and visuals spec/scene/
DRP2 schemas and command authority spec/drp2/
Python binding and datoviz.raw exact-call boundaries spec/bindings/ and spec/api/
release policy spec/release/
test-suite direction spec/testing/

Specs own durable behavior. Do not put active work queues or release handoff notes there.

Implementation

Surface Location
public C headers include/datoviz/
shared internal helpers src/common/
active modules src/common, src/fileio, src/geom, src/math, src/thread, src/input, src/window, src/canvas, src/stream, src/video, src/vk, src/vklite, src/drp2, src/scene, src/app
generated Python exact call form datoviz/raw.py, datoviz/_ctypes.py
generated NumPy adaptation datoviz/_array_facade.py
example manifest tooling tools/build_examples_manifest.py
example documentation structure docs/examples/navigation.yaml, tools/example_navigation.py

The active runtime path is:

scene frame plans -> drp2 command streams -> vklite runtime ->
canvas/stream frame execution -> optional app presentation

Active Handoff Notes

Use agents/ for current execution status:

Need Location
mandatory automation entry point AGENTS.md
current branch dispatch agents/now/START.md
release blockers agents/now/STATUS.md
release sequencing agents/now/RELEASE.md
repository rules agents/rules/

Do not copy active blocker lists into public docs. Link to them from contributor docs only when the reader needs the current development queue.