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. --- assets/demo.seq | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'assets/demo.seq') diff --git a/assets/demo.seq b/assets/demo.seq index fced9d6..833e5f7 100644 --- a/assets/demo.seq +++ b/assets/demo.seq @@ -4,6 +4,10 @@ # This file defines the timeline and layering of visual effects. # Compiled by seq_compiler into src/generated/timeline.cc at build time. # +# DEBUGGING: Generate a Gantt chart visualization of the timeline: +# ./build/seq_compiler assets/demo.seq src/generated/timeline.cc --gantt=timeline.txt +# The chart shows sequences and effects on a time axis with labels. +# # BPM 120 # # -- cgit v1.2.3