From 458b00d254f5e3b1fece6e57462769ce43c96a72 Mon Sep 17 00:00:00 2001 From: skal Date: Thu, 5 Feb 2026 00:03:44 +0100 Subject: docs: Extract sequence documentation to dedicated SEQUENCE.md file Moves comprehensive sequence system documentation out of demo.seq into a proper documentation file, keeping the timeline file clean and focused. Changes: - New file: doc/SEQUENCE.md with complete .seq format reference - Streamlined: assets/demo.seq reduced from 207 to 104 lines - Updated: README.md to include SEQUENCE.md reference Benefits: - Easier to read and navigate the actual timeline - Documentation separately viewable in markdown - Better for version control (timeline vs doc changes separated) - Follows project convention of dedicated doc files - Makes demo.seq more approachable for quick edits The timeline file is now 50% smaller while all documentation remains easily accessible in the standard doc/ directory. --- doc/SEQUENCE.md | 325 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 325 insertions(+) create mode 100644 doc/SEQUENCE.md (limited to 'doc') diff --git a/doc/SEQUENCE.md b/doc/SEQUENCE.md new file mode 100644 index 0000000..05cdc93 --- /dev/null +++ b/doc/SEQUENCE.md @@ -0,0 +1,325 @@ +# Sequence System Documentation + +This document describes the `.seq` file format used to define demo timelines. + +## Overview + +Sequence files (`.seq`) define the timeline and layering of visual effects in the demo. They are compiled by `seq_compiler` into C++ code at build time. + +## File Location + +- Demo sequence: `assets/demo.seq` +- Compiler: `tools/seq_compiler.cc` +- Generated output: `src/generated/timeline.cc` + +## Command Line Usage + +### Basic Compilation +```bash +./build/seq_compiler assets/demo.seq src/generated/timeline.cc +``` + +### Validation Only +```bash +./build/seq_compiler assets/demo.seq +``` +Validates syntax without generating code. + +### Gantt Chart Visualization + +**ASCII Gantt Chart:** +```bash +./build/seq_compiler assets/demo.seq --gantt=timeline.txt +``` + +**HTML/SVG Gantt Chart (Recommended):** +```bash +./build/seq_compiler assets/demo.seq --gantt-html=timeline.html +``` +Open `timeline.html` in browser for interactive visualization with hover tooltips. + +**Combined Modes:** +```bash +./build/seq_compiler assets/demo.seq timeline.cc --gantt=t.txt --gantt-html=t.html +``` + +--- + +## Syntax Reference + +### BPM Declaration +``` +# BPM 120 +``` +Specifies beats per minute for the demo. Used to convert beat notation to seconds. + +### END_DEMO Directive +``` +END_DEMO