Initial commit.

This commit is contained in:
Johannes Findeisen 2026-10-26 22:51:25 +01:00
commit 1d8f869b5b
39 changed files with 1671 additions and 0 deletions

18
docs/PROJECT_FORMAT.md Normal file
View file

@ -0,0 +1,18 @@
# Project format
Project persistence is not implemented yet. Before implementation, define a
versioned format with stable IDs for tracks, nodes, clips, connections, and
parameters.
Requirements:
- reject malformed, truncated, unsupported, or unreasonable input safely;
- validate sizes before allocation;
- store external audio assets separately from project metadata;
- define missing-asset behavior;
- never execute code during loading;
- perform file I/O only off the audio thread;
- save atomically using a temporary file and a safe rename;
- add explicit migration code when the format changes.
Choose a simple format after evaluating dependency, robustness, and human
inspectability trade-offs. Document the schema before treating it as stable.