summaryrefslogtreecommitdiff
path: root/src/effects/placeholder_effect.cc
diff options
context:
space:
mode:
authorskal <pascal.massimino@gmail.com>2026-02-17 08:46:01 +0100
committerskal <pascal.massimino@gmail.com>2026-02-17 08:46:01 +0100
commit7041babc9e5333d01191f3eb80fd711bd26cd4f7 (patch)
treeef2dcaa72e36de5e2300c96cf1b731db5021b1a6 /src/effects/placeholder_effect.cc
parent9876148b3b6dcd4604fac5518d11f097069e8cfa (diff)
feat: add time-based effect activation with auto-passthrough
Effects now accept start/end time parameters and automatically passthrough when inactive. Implements buffer chain integrity via compile-time validation. - Effect base class: dispatch_render() checks time bounds, auto-passthroughs 1:1 input/output effects outside [start, end] interval - seq_compiler.py: validates producer/consumer lifespan constraints for multi-output effects, adds --validate flag, always validates before codegen - Updated all 9 effect classes and test fixtures to pass start/end times - check_all.sh: includes timeline validation step - Tests: 34/34 passing, demo runs successfully Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Diffstat (limited to 'src/effects/placeholder_effect.cc')
-rw-r--r--src/effects/placeholder_effect.cc5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/effects/placeholder_effect.cc b/src/effects/placeholder_effect.cc
index 1428779..6ba665a 100644
--- a/src/effects/placeholder_effect.cc
+++ b/src/effects/placeholder_effect.cc
@@ -9,9 +9,10 @@
Placeholder::Placeholder(const GpuContext& ctx,
const std::vector<std::string>& inputs,
const std::vector<std::string>& outputs,
+ float start_time, float end_time,
const char* placeholder_name)
- : Effect(ctx, inputs, outputs), pipeline_(nullptr), bind_group_(nullptr),
- sampler_(nullptr), name_(placeholder_name) {
+ : Effect(ctx, inputs, outputs, start_time, end_time), pipeline_(nullptr),
+ bind_group_(nullptr), sampler_(nullptr), name_(placeholder_name) {
// Log once on construction
fprintf(stderr, "TODO: %s not yet implemented, using passthrough\n", name_);