summaryrefslogtreecommitdiff
path: root/src/generated/timeline.cc
diff options
context:
space:
mode:
authorskal <pascal.massimino@gmail.com>2026-02-07 17:04:56 +0100
committerskal <pascal.massimino@gmail.com>2026-02-07 17:04:56 +0100
commitbd939acdf750181ef0e1a612b445da4c15077c85 (patch)
tree028401c762b0436d9a5de1aa656ab35ba6445674 /src/generated/timeline.cc
parentf2963ac821a3af1c54002ba13944552166956d04 (diff)
refactor: Bundle GPU context into GpuContext struct
- Created GpuContext struct {device, queue, format} - Updated Effect/PostProcessEffect to take const GpuContext& - Updated all 19 effect implementations - Updated MainSequence.init() and LoadTimeline() signatures - Updated generated timeline files - Updated all test files - Added gpu_get_context() accessor and fixture.ctx() helper Fixes test_mesh.cc compilation error from g_device/g_queue/g_format conflicts. All targets build successfully.
Diffstat (limited to 'src/generated/timeline.cc')
-rw-r--r--src/generated/timeline.cc116
1 files changed, 58 insertions, 58 deletions
diff --git a/src/generated/timeline.cc b/src/generated/timeline.cc
index cd03b77..1facf8f 100644
--- a/src/generated/timeline.cc
+++ b/src/generated/timeline.cc
@@ -6,118 +6,118 @@ float GetDemoDuration() {
return 32.500000f;
}
-void LoadTimeline(MainSequence& main_seq, WGPUDevice device, WGPUQueue queue, WGPUTextureFormat format) {
+void LoadTimeline(MainSequence& main_seq, const GpuContext& ctx) {
{
auto seq = std::make_shared<Sequence>();
- seq->add_effect(std::make_shared<FlashCubeEffect>(device, queue, format), .2f, 1.500000f, -1);
- seq->add_effect(std::make_shared<FlashEffect>(device, queue, format), 0.0f, 1.f, 0);
- seq->add_effect(std::make_shared<FadeEffect>(device, queue, format), 0.1f, 1.f, 1);
- seq->add_effect(std::make_shared<SolarizeEffect>(device, queue, format), 0.000000f, 2.000000f, 2);
+ seq->add_effect(std::make_shared<FlashCubeEffect>(ctx), .2f, 1.500000f, -1);
+ seq->add_effect(std::make_shared<FlashEffect>(ctx), 0.0f, 1.f, 0);
+ seq->add_effect(std::make_shared<FadeEffect>(ctx), 0.1f, 1.f, 1);
+ seq->add_effect(std::make_shared<SolarizeEffect>(ctx), 0.000000f, 2.000000f, 2);
main_seq.add_sequence(seq, 0.000000f, 0);
}
{
auto seq = std::make_shared<Sequence>();
- seq->add_effect(std::make_shared<FlashCubeEffect>(device, queue, format), 0.1f, 3.f, -1);
- seq->add_effect(std::make_shared<FlashEffect>(device, queue, format), 0.0f, 0.2f, 0);
+ seq->add_effect(std::make_shared<FlashCubeEffect>(ctx), 0.1f, 3.f, -1);
+ seq->add_effect(std::make_shared<FlashEffect>(ctx), 0.0f, 0.2f, 0);
main_seq.add_sequence(seq, 2.000000f, 0);
}
{
auto seq = std::make_shared<Sequence>();
- seq->add_effect(std::make_shared<HeptagonEffect>(device, queue, format), 0.0f, .2f, 0);
- seq->add_effect(std::make_shared<FadeEffect>(device, queue, format), 0.1f, 1.0f, 1);
+ seq->add_effect(std::make_shared<HeptagonEffect>(ctx), 0.0f, .2f, 0);
+ seq->add_effect(std::make_shared<FadeEffect>(ctx), 0.1f, 1.0f, 1);
main_seq.add_sequence(seq, 3.500000f, 0);
}
{
auto seq = std::make_shared<Sequence>();
- seq->add_effect(std::make_shared<ThemeModulationEffect>(device, queue, format), 0.000000f, 2.000000f, 0);
- seq->add_effect(std::make_shared<HeptagonEffect>(device, queue, format), 0.000000f, 8.000000f, 1);
- seq->add_effect(std::make_shared<ChromaAberrationEffect>(device, queue, format), 0.000000f, 8.000000f, 2);
- seq->add_effect(std::make_shared<GaussianBlurEffect>(device, queue, format), 0.000000f, 4.000000f, 3);
+ seq->add_effect(std::make_shared<ThemeModulationEffect>(ctx), 0.000000f, 2.000000f, 0);
+ seq->add_effect(std::make_shared<HeptagonEffect>(ctx), 0.000000f, 8.000000f, 1);
+ seq->add_effect(std::make_shared<ChromaAberrationEffect>(ctx), 0.000000f, 8.000000f, 2);
+ seq->add_effect(std::make_shared<GaussianBlurEffect>(ctx), 0.000000f, 4.000000f, 3);
main_seq.add_sequence(seq, 16.000000f, 0);
}
{
auto seq = std::make_shared<Sequence>();
- seq->add_effect(std::make_shared<ThemeModulationEffect>(device, queue, format), 0.000000f, 2.000000f, 0);
- seq->add_effect(std::make_shared<HeptagonEffect>(device, queue, format), 0.2f, 2.0f, 1);
- seq->add_effect(std::make_shared<GaussianBlurEffect>(device, queue, format), 0.000000f, 4.000000f, 2);
- seq->add_effect(std::make_shared<SolarizeEffect>(device, queue, format), 0.000000f, 1.000000f, 3);
+ seq->add_effect(std::make_shared<ThemeModulationEffect>(ctx), 0.000000f, 2.000000f, 0);
+ seq->add_effect(std::make_shared<HeptagonEffect>(ctx), 0.2f, 2.0f, 1);
+ seq->add_effect(std::make_shared<GaussianBlurEffect>(ctx), 0.000000f, 4.000000f, 2);
+ seq->add_effect(std::make_shared<SolarizeEffect>(ctx), 0.000000f, 1.000000f, 3);
main_seq.add_sequence(seq, 24.000000f, 0);
}
{
auto seq = std::make_shared<Sequence>();
- seq->add_effect(std::make_shared<ThemeModulationEffect>(device, queue, format), 0.000000f, 4.000000f, 0);
- seq->add_effect(std::make_shared<HeptagonEffect>(device, queue, format), 0.2f, 2.0f, 0);
- seq->add_effect(std::make_shared<Hybrid3DEffect>(device, queue, format), 0.000000f, 2.000000f, 1);
- seq->add_effect(std::make_shared<ParticleSprayEffect>(device, queue, format), 0.000000f, 4.000000f, 2);
- seq->add_effect(std::make_shared<HeptagonEffect>(device, queue, format), 0.000000f, 8.000000f, 3);
- seq->add_effect(std::make_shared<ChromaAberrationEffect>(device, queue, format), 0.000000f, 8.000000f, 4);
- seq->add_effect(std::make_shared<GaussianBlurEffect>(device, queue, format), 0.000000f, 4.000000f, 5);
+ seq->add_effect(std::make_shared<ThemeModulationEffect>(ctx), 0.000000f, 4.000000f, 0);
+ seq->add_effect(std::make_shared<HeptagonEffect>(ctx), 0.2f, 2.0f, 0);
+ seq->add_effect(std::make_shared<Hybrid3DEffect>(ctx), 0.000000f, 2.000000f, 1);
+ seq->add_effect(std::make_shared<ParticleSprayEffect>(ctx), 0.000000f, 4.000000f, 2);
+ seq->add_effect(std::make_shared<HeptagonEffect>(ctx), 0.000000f, 8.000000f, 3);
+ seq->add_effect(std::make_shared<ChromaAberrationEffect>(ctx), 0.000000f, 8.000000f, 4);
+ seq->add_effect(std::make_shared<GaussianBlurEffect>(ctx), 0.000000f, 4.000000f, 5);
main_seq.add_sequence(seq, 28.000000f, 0);
}
{
auto seq = std::make_shared<Sequence>();
- seq->add_effect(std::make_shared<ThemeModulationEffect>(device, queue, format), 0.000000f, 1.500000f, 0);
- seq->add_effect(std::make_shared<SolarizeEffect>(device, queue, format), 0.000000f, 1.500000f, 1);
+ seq->add_effect(std::make_shared<ThemeModulationEffect>(ctx), 0.000000f, 1.500000f, 0);
+ seq->add_effect(std::make_shared<SolarizeEffect>(ctx), 0.000000f, 1.500000f, 1);
main_seq.add_sequence(seq, 31.000000f, 0);
}
{
auto seq = std::make_shared<Sequence>();
- seq->add_effect(std::make_shared<ParticleSprayEffect>(device, queue, format), 0.000000f, 2.000000f, 0);
- seq->add_effect(std::make_shared<ParticlesEffect>(device, queue, format), 0.000000f, 2.000000f, 1);
- seq->add_effect(std::make_shared<GaussianBlurEffect>(device, queue, format), 0.000000f, 4.000000f, 1);
+ seq->add_effect(std::make_shared<ParticleSprayEffect>(ctx), 0.000000f, 2.000000f, 0);
+ seq->add_effect(std::make_shared<ParticlesEffect>(ctx), 0.000000f, 2.000000f, 1);
+ seq->add_effect(std::make_shared<GaussianBlurEffect>(ctx), 0.000000f, 4.000000f, 1);
main_seq.add_sequence(seq, 3.000000f, 1);
}
{
auto seq = std::make_shared<Sequence>();
- seq->add_effect(std::make_shared<ThemeModulationEffect>(device, queue, format), 0.000000f, 4.000000f, 0);
- seq->add_effect(std::make_shared<HeptagonEffect>(device, queue, format), 0.2f, 2.0f, 1);
- seq->add_effect(std::make_shared<ParticleSprayEffect>(device, queue, format), 0.000000f, 4.000000f, 2);
- seq->add_effect(std::make_shared<Hybrid3DEffect>(device, queue, format), 0.000000f, 10.000000f, 3);
- seq->add_effect(std::make_shared<GaussianBlurEffect>(device, queue, format), 0.000000f, 4.000000f, 4);
- seq->add_effect(std::make_shared<ChromaAberrationEffect>(device, queue, format), 0.000000f, 5.000000f, 5);
- seq->add_effect(std::make_shared<SolarizeEffect>(device, queue, format), 0.000000f, 5.000000f, 6);
+ seq->add_effect(std::make_shared<ThemeModulationEffect>(ctx), 0.000000f, 4.000000f, 0);
+ seq->add_effect(std::make_shared<HeptagonEffect>(ctx), 0.2f, 2.0f, 1);
+ seq->add_effect(std::make_shared<ParticleSprayEffect>(ctx), 0.000000f, 4.000000f, 2);
+ seq->add_effect(std::make_shared<Hybrid3DEffect>(ctx), 0.000000f, 10.000000f, 3);
+ seq->add_effect(std::make_shared<GaussianBlurEffect>(ctx), 0.000000f, 4.000000f, 4);
+ seq->add_effect(std::make_shared<ChromaAberrationEffect>(ctx), 0.000000f, 5.000000f, 5);
+ seq->add_effect(std::make_shared<SolarizeEffect>(ctx), 0.000000f, 5.000000f, 6);
main_seq.add_sequence(seq, 12.000000f, 1);
}
{
auto seq = std::make_shared<Sequence>();
- seq->add_effect(std::make_shared<FlashCubeEffect>(device, queue, format), .2f, 1.500000f, -1);
- seq->add_effect(std::make_shared<HeptagonEffect>(device, queue, format), 0.000000f, 2.000000f, 0);
- seq->add_effect(std::make_shared<ParticleSprayEffect>(device, queue, format), 0.000000f, 2.000000f, 1);
- seq->add_effect(std::make_shared<ParticlesEffect>(device, queue, format), 0.000000f, 2.000000f, 2);
+ seq->add_effect(std::make_shared<FlashCubeEffect>(ctx), .2f, 1.500000f, -1);
+ seq->add_effect(std::make_shared<HeptagonEffect>(ctx), 0.000000f, 2.000000f, 0);
+ seq->add_effect(std::make_shared<ParticleSprayEffect>(ctx), 0.000000f, 2.000000f, 1);
+ seq->add_effect(std::make_shared<ParticlesEffect>(ctx), 0.000000f, 2.000000f, 2);
main_seq.add_sequence(seq, 6.000000f, 2);
}
{
auto seq = std::make_shared<Sequence>();
- seq->add_effect(std::make_shared<FlashCubeEffect>(device, queue, format), .2f, 1.500000f, -1);
- seq->add_effect(std::make_shared<FlashEffect>(device, queue, format), 0.0f, 0.500000f, 0);
+ seq->add_effect(std::make_shared<FlashCubeEffect>(ctx), .2f, 1.500000f, -1);
+ seq->add_effect(std::make_shared<FlashEffect>(ctx), 0.0f, 0.500000f, 0);
main_seq.add_sequence(seq, 7.500000f, 2);
}
{
auto seq = std::make_shared<Sequence>();
- seq->add_effect(std::make_shared<ThemeModulationEffect>(device, queue, format), 0.000000f, 2.000000f, 0);
- seq->add_effect(std::make_shared<HeptagonEffect>(device, queue, format), 0.2f, 2.0f, 1);
- seq->add_effect(std::make_shared<ParticleSprayEffect>(device, queue, format), 0.000000f, 2.000000f, 2);
- seq->add_effect(std::make_shared<ParticlesEffect>(device, queue, format), 0.000000f, 2.000000f, 2);
- seq->add_effect(std::make_shared<Hybrid3DEffect>(device, queue, format), 0.000000f, 2.000000f, 3);
- seq->add_effect(std::make_shared<GaussianBlurEffect>(device, queue, format), 0.000000f, 4.000000f, 4);
- seq->add_effect(std::make_shared<ChromaAberrationEffect>(device, queue, format), 0.000000f, 3.000000f, 5);
+ seq->add_effect(std::make_shared<ThemeModulationEffect>(ctx), 0.000000f, 2.000000f, 0);
+ seq->add_effect(std::make_shared<HeptagonEffect>(ctx), 0.2f, 2.0f, 1);
+ seq->add_effect(std::make_shared<ParticleSprayEffect>(ctx), 0.000000f, 2.000000f, 2);
+ seq->add_effect(std::make_shared<ParticlesEffect>(ctx), 0.000000f, 2.000000f, 2);
+ seq->add_effect(std::make_shared<Hybrid3DEffect>(ctx), 0.000000f, 2.000000f, 3);
+ seq->add_effect(std::make_shared<GaussianBlurEffect>(ctx), 0.000000f, 4.000000f, 4);
+ seq->add_effect(std::make_shared<ChromaAberrationEffect>(ctx), 0.000000f, 3.000000f, 5);
main_seq.add_sequence(seq, 8.500000f, 2);
}
{
auto seq = std::make_shared<Sequence>();
- seq->add_effect(std::make_shared<ThemeModulationEffect>(device, queue, format), 0.000000f, 2.000000f, 0);
- seq->add_effect(std::make_shared<HeptagonEffect>(device, queue, format), 0.0f, 4.0f, 0);
- seq->add_effect(std::make_shared<GaussianBlurEffect>(device, queue, format), 0.000000f, 4.000000f, 1);
- seq->add_effect(std::make_shared<ChromaAberrationEffect>(device, queue, format), 0.000000f, 3.000000f, 2);
- seq->add_effect(std::make_shared<SolarizeEffect>(device, queue, format), 0.000000f, 5.000000f, 3);
+ seq->add_effect(std::make_shared<ThemeModulationEffect>(ctx), 0.000000f, 2.000000f, 0);
+ seq->add_effect(std::make_shared<HeptagonEffect>(ctx), 0.0f, 4.0f, 0);
+ seq->add_effect(std::make_shared<GaussianBlurEffect>(ctx), 0.000000f, 4.000000f, 1);
+ seq->add_effect(std::make_shared<ChromaAberrationEffect>(ctx), 0.000000f, 3.000000f, 2);
+ seq->add_effect(std::make_shared<SolarizeEffect>(ctx), 0.000000f, 5.000000f, 3);
main_seq.add_sequence(seq, 4.000000f, 3);
}
{
auto seq = std::make_shared<Sequence>();
- seq->add_effect(std::make_shared<FlashCubeEffect>(device, queue, format), .2f, 1.500000f, -1);
- seq->add_effect(std::make_shared<GaussianBlurEffect>(device, queue, format), 0.000000f, 4.000000f, 0);
- seq->add_effect(std::make_shared<FlashEffect>(device, queue, format), 0.0f, 0.2f, 1);
- seq->add_effect(std::make_shared<FlashEffect>(device, queue, format), 0.500000f, 0.2f, 1);
+ seq->add_effect(std::make_shared<FlashCubeEffect>(ctx), .2f, 1.500000f, -1);
+ seq->add_effect(std::make_shared<GaussianBlurEffect>(ctx), 0.000000f, 4.000000f, 0);
+ seq->add_effect(std::make_shared<FlashEffect>(ctx), 0.0f, 0.2f, 1);
+ seq->add_effect(std::make_shared<FlashEffect>(ctx), 0.500000f, 0.2f, 1);
main_seq.add_sequence(seq, 8.000000f, 10);
}
}