From 850932428ceea8422c9a0eef10f5e4df3be22c5d Mon Sep 17 00:00:00 2001 From: skal Date: Wed, 4 Feb 2026 23:56:56 +0100 Subject: feat: Add Gantt chart visualization to seq_compiler MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Implements ASCII Gantt chart generation for timeline debugging and visualization. ## New Feature - Added --gantt= flag to seq_compiler - Generates visual timeline showing sequences and effects on time axis - Displays sequence priority, effect priority, and time ranges - Shows explicit sequence end times with [END=...] markers - Detects and warns about invalid time ranges (end < start) ## Usage ```bash ./build/seq_compiler assets/demo.seq src/generated/timeline.cc --gantt=timeline.txt ``` ## Chart Format - Time axis in seconds with 5-second markers - Sequences shown as solid bars (█) - Effects shown as shaded bars (▓) with sequence background (·) - Labels include start/end times and priorities - Legend and documentation at chart end ## Example Output ``` Time (s): 0 5 10 15 20 25 30 |----|----|----|----|----|----|----| SEQ@0s [pri=0] ████████████████████████████████ (0-30s) FlashEffect [pri=4] ▓▓·························· (0-1s) HeptagonEffect [pri=0] ▓▓▓▓▓▓▓▓▓▓▓▓················ (0-10s) ``` ## Benefits - Visualize sequence overlap and layering - Identify timing conflicts and gaps - Verify effect priorities render in correct order - Debug invalid time ranges - Plan demo choreography visually ## Files Changed - tools/seq_compiler.cc: Added generate_gantt_chart() function - assets/demo.seq: Added usage documentation - .gitignore: Exclude generated demo_timeline.txt This debugging tool significantly improves timeline development workflow by providing visual feedback on sequence and effect timing. --- .gitignore | 1 + 1 file changed, 1 insertion(+) (limited to '.gitignore') diff --git a/.gitignore b/.gitignore index 5bddfa0..5050a88 100644 --- a/.gitignore +++ b/.gitignore @@ -62,3 +62,4 @@ compile_commands.json *.spec *.aif *.wav +demo_timeline.txt -- cgit v1.2.3