# 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