diff options
| author | skal <pascal.massimino@gmail.com> | 2026-02-09 18:51:54 +0100 |
|---|---|---|
| committer | skal <pascal.massimino@gmail.com> | 2026-02-09 18:51:54 +0100 |
| commit | 7790472dabfa0ecd06f3408d847860ec6072866e (patch) | |
| tree | 5bce7b119f42d131daf746ddc052da2da5ff0650 /workspaces/main/timeline.seq | |
| parent | 002ab9094f638c46d5db95d478e71c10933aceb2 (diff) | |
feat: Implement workspace system (Task #77)
Self-contained workspaces for parallel demo development.
Structure:
- workspaces/main,test - Demo-specific resources
- assets/common - Shared resources
- workspace.cfg - Configuration per workspace
CMake integration:
- DEMO_WORKSPACE option (defaults to main)
- cmake/ParseWorkspace.cmake - Config parser
- Workspace-relative asset/timeline/music paths
Migration:
- Main demo: demo.seq to workspaces/main/timeline.seq
- Test demo: test_demo.seq to workspaces/test/timeline.seq
- Common shaders: assets/common/shaders
- Workspace shaders: workspaces/*/shaders
Build:
cmake -B build -DDEMO_WORKSPACE=main
cmake -B build_test -DDEMO_WORKSPACE=test
All tests passing (36/36).
handoff(Claude): Task #77 workspace system complete. Both main and test workspaces build and pass all tests.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Diffstat (limited to 'workspaces/main/timeline.seq')
| -rw-r--r-- | workspaces/main/timeline.seq | 120 |
1 files changed, 120 insertions, 0 deletions
diff --git a/workspaces/main/timeline.seq b/workspaces/main/timeline.seq new file mode 100644 index 0000000..a8717f3 --- /dev/null +++ b/workspaces/main/timeline.seq @@ -0,0 +1,120 @@ +# ============================================================================ +# DEMO SEQUENCE DEFINITION +# ============================================================================ +# Defines the timeline and layering of visual effects for the demo. +# Compiled by seq_compiler into src/generated/timeline.cc at build time. +# +# DOCUMENTATION: See doc/SEQUENCE.md for complete syntax reference +# +# QUICK REFERENCE: +# SEQUENCE <start> <priority> ["optional_name"] [optional_end] +# EFFECT <+|=|-> <ClassName> <start> <end> +# +# Priority modifiers: + (increment), = (same), - (decrement/background) +# Time notation: 0b (beats), 0.0 (seconds) +# Optional name: Displayed in Gantt charts (e.g., "Opening Scene") +# +# VALIDATION & VISUALIZATION: +# ./build/seq_compiler assets/demo.seq # Validate only +# ./build/seq_compiler assets/demo.seq --gantt-html=t.html # HTML Gantt +# +# ============================================================================ + +# BPM 120 + +SEQUENCE 0b 0 + EFFECT - FlashCubeEffect .2 3 # Background cube (priority -1 = behind everything) + EFFECT + FlashEffect 0.0 1. color=1.0,0.5,0.5 decay=0.95 # Red-tinted flash + EFFECT + FadeEffect 0.1 1. # Priority 1 + EFFECT + SolarizeEffect 0 4b # Priority 2 (was 3, now contiguous) + EFFECT + VignetteEffect 0 6 radius=0.6 softness=0.1 + +SEQUENCE 2.0 0 + EFFECT + CircleMaskEffect 0.0 4.0 0.50 # Priority 0 mask generator + EFFECT + RotatingCubeEffect 0.0 4.0 # Priority 1 (renders inside circle) + EFFECT + GaussianBlurEffect 1.0 2.0 strength=1.0 + EFFECT + GaussianBlurEffect 3.0 4.0 strength=2.0 + +SEQUENCE 4b 0 + EFFECT - FlashCubeEffect 0.1 3. # Priority -1 + EFFECT + FlashEffect 0.0 0.2 # Priority 0 (was 4, now contiguous) + +SEQUENCE 6b 1 + EFFECT + ParticleSprayEffect 0 4 # Priority 0 (spray particles) + EFFECT + ParticlesEffect 0 4 # Priority 1 + EFFECT = GaussianBlurEffect 0 8 strength=3.0 # Priority 1 (stronger blur) + +SEQUENCE 7b 0 + EFFECT + HeptagonEffect 0.0 .2 # Priority 0 + EFFECT + FadeEffect 0.1 1.0 # Priority 1 (was 5, now contiguous) + +# Post-processing chain (priority 10 = applied after scene rendering) +# Effects are applied in priority order: lower numbers first +SEQUENCE 8b 3 + EFFECT + ThemeModulationEffect 0 4 # Priority 0 + EFFECT = HeptagonEffect 0.0 4.0 # Priority 0 (same layer) + EFFECT + GaussianBlurEffect 0 8 strength=1.5 # Priority 1 (subtle blur) + EFFECT + ChromaAberrationEffect 0 6 offset=0.03 angle=0.785 # Priority 2 (diagonal, stronger) + EFFECT + SolarizeEffect 0 10 # Priority 3 + +SEQUENCE 12b 2 + EFFECT - FlashCubeEffect .2 3 # Priority -1 (background) + EFFECT + HeptagonEffect 0 4 # Priority 0 + EFFECT + ParticleSprayEffect 0 4 # Priority 1 (spray particles) + EFFECT + ParticlesEffect 0 4 # Priority 2 + +SEQUENCE 15b 2 + EFFECT - FlashCubeEffect .2 3 # Priority -1 (background) + EFFECT + FlashEffect 0.0 1 # Priority 0 + +SEQUENCE 16b 10 + EFFECT - FlashCubeEffect .2 3 # Priority -1 (background) + EFFECT + GaussianBlurEffect 0 8 # Priority 0 + EFFECT + FlashEffect 0.0 0.2 # Priority 1 + EFFECT = FlashEffect 1b 0.2 # Priority 1 (same layer) + +SEQUENCE 17b 2 + EFFECT + ThemeModulationEffect 0 4 # Priority 0 + EFFECT + HeptagonEffect 0.2 2.0 # Priority 1 + EFFECT + ParticleSprayEffect 0 4 # Priority 2 (spray particles) + EFFECT = ParticlesEffect 0 4 # Priority 2 (same layer) + EFFECT + Hybrid3DEffect 0 4 # Priority 3 + EFFECT + GaussianBlurEffect 0 8 # Priority 4 + EFFECT + ChromaAberrationEffect 0 6 offset=0.01 angle=1.57 # Priority 5 (vertical, subtle) + +SEQUENCE 24b 1 + EFFECT + ThemeModulationEffect 0 8 # Priority 0 + EFFECT + HeptagonEffect 0.2 2.0 # Priority 1 + EFFECT + ParticleSprayEffect 0 8 # Priority 2 (spray particles - longer duration) + EFFECT + Hybrid3DEffect 0 20 # Priority 3 + EFFECT + GaussianBlurEffect 0 8 # Priority 4 + EFFECT + ChromaAberrationEffect 0 10 # Priority 5 + EFFECT + SolarizeEffect 0 10 # Priority 6 + +SEQUENCE 32b 0 + EFFECT + ThemeModulationEffect 0 4 # Priority 0 + EFFECT + HeptagonEffect 0 16 # Priority 1 + EFFECT + ChromaAberrationEffect 0 16 # Priority 2 + EFFECT + GaussianBlurEffect 0 8 # Priority 3 + +SEQUENCE 48b 0 + EFFECT + ThemeModulationEffect 0 4 # Priority 0 + EFFECT + HeptagonEffect 0.2 2.0 # Priority 1 + EFFECT + GaussianBlurEffect 0 8 # Priority 2 + EFFECT + SolarizeEffect 0 2 # Priority 3 + +SEQUENCE 56b 0 + EFFECT + ThemeModulationEffect 0 8 # Priority 0 + EFFECT = HeptagonEffect 0.2 2.0 # Priority 0 (same layer) + EFFECT + Hybrid3DEffect 0 4 # Priority 1 + EFFECT + ParticleSprayEffect 0 8 # Priority 2 (spray particles) + EFFECT + HeptagonEffect 0 16 # Priority 3 + EFFECT + ChromaAberrationEffect 0 16 # Priority 4 + EFFECT + GaussianBlurEffect 0 8 # Priority 5 + +SEQUENCE 62b 0 + EFFECT + ThemeModulationEffect 0 3 # Priority 0 + EFFECT + VignetteEffect 0 3 radius=0.6 softness=0.3 # New effect + EFFECT + SolarizeEffect 0 3 # Priority 2 +# Demo automatically exits at this time (supports beat notation) +END_DEMO 65b |
