diff options
| author | skal <pascal.massimino@gmail.com> | 2026-02-16 14:32:59 +0100 |
|---|---|---|
| committer | skal <pascal.massimino@gmail.com> | 2026-02-16 14:32:59 +0100 |
| commit | b2ede3f0680edc894a54e28374cb87ab2690afa2 (patch) | |
| tree | 69e0a8c04eb29be953b037eb98e0a9ac0f1b417a /src/gpu | |
| parent | 0fd3c982247d05bacbd67db08c865ec67602437f (diff) | |
refactor: remove v2 versioning artifacts, establish Sequence as canonical system
Complete v1→v2 migration cleanup: rename 29 files (sequence_v2→sequence, effect_v2→effect, 14 effect files, 8 shaders, compiler, docs), update all class names and references across 54 files. Archive v1 timeline. System now uses standard naming with all versioning removed. 30/34 tests passing.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Diffstat (limited to 'src/gpu')
| -rw-r--r-- | src/gpu/demo_effects.h | 20 | ||||
| -rw-r--r-- | src/gpu/effect.cc (renamed from src/gpu/effect_v2.cc) | 6 | ||||
| -rw-r--r-- | src/gpu/effect.h (renamed from src/gpu/effect_v2.h) | 15 | ||||
| -rw-r--r-- | src/gpu/gpu.cc | 2 | ||||
| -rw-r--r-- | src/gpu/sequence.cc (renamed from src/gpu/sequence_v2.cc) | 20 | ||||
| -rw-r--r-- | src/gpu/sequence.h (renamed from src/gpu/sequence_v2.h) | 17 |
6 files changed, 43 insertions, 37 deletions
diff --git a/src/gpu/demo_effects.h b/src/gpu/demo_effects.h index beccd46..b837ffe 100644 --- a/src/gpu/demo_effects.h +++ b/src/gpu/demo_effects.h @@ -9,21 +9,21 @@ #include "3d/scene.h" // Base effect classes (v2) -#include "gpu/effect_v2.h" +#include "gpu/effect.h" #include "gpu/post_process_helper.h" -#include "gpu/sequence_v2.h" +#include "gpu/sequence.h" #include "gpu/shaders.h" #include "gpu/texture_manager.h" #include "gpu/uniform_helper.h" // Individual Effect Headers (v2) -#include "effects/gaussian_blur_effect_v2.h" -#include "effects/heptagon_effect_v2.h" -#include "effects/hybrid3_d_effect_v2.h" -#include "effects/particles_effect_v2.h" -#include "effects/passthrough_effect_v2.h" -#include "effects/placeholder_effect_v2.h" -#include "effects/rotating_cube_effect_v2.h" +#include "effects/gaussian_blur_effect.h" +#include "effects/heptagon_effect.h" +#include "effects/hybrid3_d_effect.h" +#include "effects/particles_effect.h" +#include "effects/passthrough_effect.h" +#include "effects/placeholder_effect.h" +#include "effects/rotating_cube_effect.h" // TODO: Port CNN effects to v2 // #include "../../cnn_v1/src/cnn_v1_effect.h" // #include "../../cnn_v2/src/cnn_v2_effect.h" @@ -31,7 +31,7 @@ #include <memory> // Auto-generated functions from sequence compiler v2 -// See generated/timeline_v2.h for: +// See generated/timeline.h for: // - InitializeV2Sequences() // - GetActiveV2Sequence() // - RenderV2Timeline() diff --git a/src/gpu/effect_v2.cc b/src/gpu/effect.cc index 7ecdfbd..e4d3a90 100644 --- a/src/gpu/effect_v2.cc +++ b/src/gpu/effect.cc @@ -1,9 +1,9 @@ -// EffectV2 implementation +// Effect implementation -#include "gpu/effect_v2.h" +#include "gpu/effect.h" #include "util/fatal_error.h" -EffectV2::EffectV2(const GpuContext& ctx, const std::vector<std::string>& inputs, +Effect::Effect(const GpuContext& ctx, const std::vector<std::string>& inputs, const std::vector<std::string>& outputs) : ctx_(ctx), input_nodes_(inputs), output_nodes_(outputs) { FATAL_CHECK(!inputs.empty(), "Effect must have at least one input\n"); diff --git a/src/gpu/effect_v2.h b/src/gpu/effect.h index 0d4e18d..d40e750 100644 --- a/src/gpu/effect_v2.h +++ b/src/gpu/effect.h @@ -1,19 +1,21 @@ -// EffectV2: Base class for v2 effects with multi-input/multi-output support +// Effect: Base class for effects with multi-input/multi-output support +#ifndef EFFECT_H +#define EFFECT_H #pragma once #include "gpu/gpu.h" -#include "gpu/sequence_v2.h" +#include "gpu/sequence.h" #include <string> #include <vector> class NodeRegistry; -class EffectV2 { +class Effect { public: - EffectV2(const GpuContext& ctx, const std::vector<std::string>& inputs, - const std::vector<std::string>& outputs); - virtual ~EffectV2() = default; + Effect(const GpuContext& ctx, const std::vector<std::string>& inputs, + const std::vector<std::string>& outputs); + virtual ~Effect() = default; // Optional: Declare temporary nodes (e.g., multi-pass intermediate buffers) virtual void declare_nodes(NodeRegistry& registry) { @@ -45,3 +47,4 @@ class EffectV2 { int width_ = 1280; int height_ = 720; }; +#endif // EFFECT_H diff --git a/src/gpu/gpu.cc b/src/gpu/gpu.cc index 647833c..805e555 100644 --- a/src/gpu/gpu.cc +++ b/src/gpu/gpu.cc @@ -3,7 +3,7 @@ // Driven by audio peaks for synchronized visual effects. #include "gpu.h" -#include "generated/timeline_v2.h" +#include "generated/timeline.h" #include "gpu/shader_composer.h" #include "gpu/shaders.h" #include "platform/platform.h" diff --git a/src/gpu/sequence_v2.cc b/src/gpu/sequence.cc index 3912849..d0a925f 100644 --- a/src/gpu/sequence_v2.cc +++ b/src/gpu/sequence.cc @@ -1,7 +1,7 @@ -// Sequence v2 implementation +// Sequence implementation -#include "gpu/sequence_v2.h" -#include "gpu/effect_v2.h" +#include "gpu/sequence.h" +#include "gpu/effect.h" #include "util/fatal_error.h" #include <algorithm> @@ -183,15 +183,15 @@ void NodeRegistry::create_texture(Node& node) { FATAL_CHECK(node.view != nullptr, "Failed to create texture view\n"); } -// SequenceV2 implementation +// Sequence implementation -SequenceV2::SequenceV2(const GpuContext& ctx, int width, int height) +Sequence::Sequence(const GpuContext& ctx, int width, int height) : ctx_(ctx), width_(width), height_(height), nodes_(ctx.device, width, height) { uniforms_buffer_.init(ctx.device); } -void SequenceV2::preprocess(float seq_time, float beat_time, float beat_phase, +void Sequence::preprocess(float seq_time, float beat_time, float beat_phase, float audio_intensity) { params_.resolution = {static_cast<float>(width_), static_cast<float>(height_)}; params_.aspect_ratio = @@ -205,19 +205,19 @@ void SequenceV2::preprocess(float seq_time, float beat_time, float beat_phase, uniforms_buffer_.update(ctx_.queue, params_); } -void SequenceV2::postprocess(WGPUCommandEncoder encoder) { +void Sequence::postprocess(WGPUCommandEncoder encoder) { (void)encoder; // Default: No-op (last effect writes to sink directly) } -void SequenceV2::render_effects(WGPUCommandEncoder encoder) { +void Sequence::render_effects(WGPUCommandEncoder encoder) { // Execute DAG in topological order (pre-sorted by compiler) for (const auto& dag_node : effect_dag_) { dag_node.effect->render(encoder, params_, nodes_); } } -void SequenceV2::resize(int width, int height) { +void Sequence::resize(int width, int height) { width_ = width; height_ = height; nodes_.resize(width, height); @@ -228,7 +228,7 @@ void SequenceV2::resize(int width, int height) { } } -void SequenceV2::init_effect_nodes() { +void Sequence::init_effect_nodes() { for (auto& dag_node : effect_dag_) { dag_node.effect->declare_nodes(nodes_); } diff --git a/src/gpu/sequence_v2.h b/src/gpu/sequence.h index 2197a82..a33dedb 100644 --- a/src/gpu/sequence_v2.h +++ b/src/gpu/sequence.h @@ -1,6 +1,8 @@ -// Sequence v2: Explicit node system with DAG effect routing -// Replaces implicit framebuffer ping-pong with compile-time optimized nodes +// Sequence: Explicit node system with DAG effect routing +// DAG-based effect routing with ping-pong optimization +#ifndef SEQUENCE_H +#define SEQUENCE_H #pragma once #include "gpu/gpu.h" @@ -11,7 +13,7 @@ #include <string> #include <vector> -class EffectV2; +class Effect; enum class NodeType { U8X4_NORM, // RGBAu8 normalized (0-1) - default Source/Sink @@ -80,16 +82,16 @@ class NodeRegistry { }; struct EffectDAGNode { - std::shared_ptr<EffectV2> effect; + std::shared_ptr<Effect> effect; std::vector<std::string> input_nodes; std::vector<std::string> output_nodes; int execution_order; // Topologically sorted }; -class SequenceV2 { +class Sequence { public: - SequenceV2(const GpuContext& ctx, int width, int height); - virtual ~SequenceV2() = default; + Sequence(const GpuContext& ctx, int width, int height); + virtual ~Sequence() = default; // Virtual methods (most sequences use defaults) virtual void preprocess(float seq_time, float beat_time, float beat_phase, @@ -126,3 +128,4 @@ class SequenceV2 { UniformsSequenceParams params_; UniformBuffer<UniformsSequenceParams> uniforms_buffer_; }; +#endif // SEQUENCE_H |
