summaryrefslogtreecommitdiff
path: root/workspaces/main/timeline.seq
diff options
context:
space:
mode:
authorskal <pascal.massimino@gmail.com>2026-02-10 12:48:43 +0100
committerskal <pascal.massimino@gmail.com>2026-02-10 12:48:43 +0100
commit6944733a6a2f05c18e7e0b73f847a4c9144801fd (patch)
tree10713cd41a0e038a016a2e6b357471690f232834 /workspaces/main/timeline.seq
parentcc9cbeb75353181193e3afb880dc890aa8bf8985 (diff)
feat: Add multi-layer CNN support with framebuffer capture and blend control
Implements automatic layer chaining and generic framebuffer capture API for multi-layer neural network effects with proper original input preservation. Key changes: - Effect::needs_framebuffer_capture() - generic API for pre-render capture - MainSequence: auto-capture to "captured_frame" auxiliary texture - CNNEffect: multi-layer support via layer_index/total_layers params - seq_compiler: expands "layers=N" to N chained effect instances - Shader: @binding(4) original_input available to all layers - Training: generates layer switches and original input binding - Blend: mix(original, result, blend_amount) uses layer 0 input Timeline syntax: CNNEffect layers=3 blend=0.7 Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Diffstat (limited to 'workspaces/main/timeline.seq')
-rw-r--r--workspaces/main/timeline.seq190
1 files changed, 85 insertions, 105 deletions
diff --git a/workspaces/main/timeline.seq b/workspaces/main/timeline.seq
index 3670825..5947ff8 100644
--- a/workspaces/main/timeline.seq
+++ b/workspaces/main/timeline.seq
@@ -1,121 +1,101 @@
-# WORKSPACE: main
-# ============================================================================
-# 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
-#
-# ============================================================================
-
+# Demo Timeline
+# Generated by Timeline Editor
# 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 0.00 0
+ EFFECT - FlashCubeEffect 0.00 2.44
+ EFFECT + FlashEffect 0.00 1.00 color=1.0,0.5,0.5 decay=0.95
+ EFFECT + FadeEffect 0.10 1.00
+ EFFECT + SolarizeEffect 0.00 2.00
+ EFFECT + VignetteEffect 0.00 2.50 radius=0.6 softness=0.1
+
+SEQUENCE 2.50 0 "rotating cube"
+ EFFECT + CircleMaskEffect 0.00 4.00 0.50
+ EFFECT + RotatingCubeEffect 0.00 4.00
+ EFFECT + GaussianBlurEffect 1.00 2.00 strength=1.0
+ EFFECT + GaussianBlurEffect 3.00 4.00 strength=2.0
+
+SEQUENCE 5.93 0
+ EFFECT - FlashCubeEffect 0.11 1.45
+ EFFECT + FlashEffect 0.00 0.20
-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 6.90 1 "spray"
+ EFFECT + ParticleSprayEffect 0.00 2.00
+ EFFECT + ParticlesEffect 0.00 3.00
+ EFFECT = GaussianBlurEffect 0.00 2.00 strength=3.0
-SEQUENCE 4b 0
- EFFECT - FlashCubeEffect 0.1 3. # Priority -1
- EFFECT + FlashEffect 0.0 0.2 # Priority 0 (was 4, now contiguous)
+SEQUENCE 8.50 2
+ EFFECT + ThemeModulationEffect 0.00 2.00
+ EFFECT + HeptagonEffect 0.20 2.00
+ EFFECT + ParticleSprayEffect 0.00 2.00
+ EFFECT = ParticlesEffect 0.00 2.00
+ EFFECT + Hybrid3DEffect 0.00 2.00
+ EFFECT + GaussianBlurEffect 0.00 2.00
+ EFFECT + ChromaAberrationEffect 0.00 1.50 offset=0.01 angle=1.57
-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 10.50 0
+ EFFECT + HeptagonEffect 0.00 0.20
+ EFFECT + FadeEffect 0.10 1.00
-SEQUENCE 7b 0
- EFFECT + HeptagonEffect 0.0 .2 # Priority 0
- EFFECT + FadeEffect 0.1 1.0 # Priority 1 (was 5, now contiguous)
+SEQUENCE 10.50 0
+ EFFECT + Hybrid3DEffect 0.00 5.59
+ EFFECT + CNNEffect 0.54 4.97 layers=3 blend=0.2
-# 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 16.14 3
+ EFFECT + ThemeModulationEffect 0.00 4.00
+ EFFECT = HeptagonEffect 0.00 4.00
+ EFFECT + GaussianBlurEffect 0.00 5.00 strength=1.5
+ EFFECT + ChromaAberrationEffect 0.00 5.00 offset=0.03 angle=0.785
+ EFFECT + SolarizeEffect 0.00 5.00
-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 21.00 2
+ EFFECT - FlashCubeEffect 0.20 1.50
+ EFFECT + HeptagonEffect 0.00 2.00
+ EFFECT + ParticleSprayEffect 0.00 2.00
+ EFFECT + ParticlesEffect 0.00 2.00
-SEQUENCE 15b 2
- EFFECT - FlashCubeEffect .2 3 # Priority -1 (background)
- EFFECT + FlashEffect 0.0 1 # Priority 0
+SEQUENCE 22.75 2
+ EFFECT - FlashCubeEffect 0.20 1.50
+ EFFECT + FlashEffect 0.00 1.00
-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 23.88 10
+ EFFECT - FlashCubeEffect 0.20 1.50
+ EFFECT + GaussianBlurEffect 0.00 2.00
+ EFFECT + FlashEffect 0.00 0.20
+ EFFECT = FlashEffect 0.50 0.20
-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 25.59 1
+ EFFECT + ThemeModulationEffect 0.00 8.00
+ EFFECT + HeptagonEffect 0.20 2.00
+ EFFECT + ParticleSprayEffect 0.00 8.00
+ EFFECT + Hybrid3DEffect 0.00 10.00
+ EFFECT + GaussianBlurEffect 0.00 8.00
+ EFFECT + ChromaAberrationEffect 0.00 10.00
+ EFFECT + SolarizeEffect 0.00 10.00
-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 35.31 0
+ EFFECT + ThemeModulationEffect 0.00 4.00
+ EFFECT + HeptagonEffect 0.20 2.00
+ EFFECT + GaussianBlurEffect 0.00 8.00
+ EFFECT + SolarizeEffect 0.00 2.00
-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 42.29 0
+ EFFECT + ThemeModulationEffect 0.00 6.00
+ EFFECT = HeptagonEffect 0.20 2.00
+ EFFECT + Hybrid3DEffect 0.00 4.00
+ EFFECT + ParticleSprayEffect 0.00 5.50
+ EFFECT + HeptagonEffect 0.00 8.00
+ EFFECT + ChromaAberrationEffect 0.00 7.50
+ EFFECT + GaussianBlurEffect 0.00 8.00
-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 50.02 0
+ EFFECT + ThemeModulationEffect 0.00 4.00
+ EFFECT + HeptagonEffect 0.00 9.50
+ EFFECT + ChromaAberrationEffect 0.00 9.00
+ EFFECT + GaussianBlurEffect 0.00 8.00
-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 31.00 0
+ EFFECT + ThemeModulationEffect 0.00 3.00
+ EFFECT + VignetteEffect 0.00 3.00 radius=0.6 softness=0.3
+ EFFECT + SolarizeEffect 0.00 3.00
-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