blob: 2d6cf42ffae64628bf6ebd2da677130e7643f711 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
|
# Source File Lists
# Conditional source file lists based on build mode
# Audio sources (unconditional)
set(AUDIO_SOURCES
src/audio/audio.cc
src/audio/ring_buffer.cc
src/audio/backend/miniaudio_backend.cc
src/audio/backend/wav_dump_backend.cc
src/audio/backend/silent_backend.cc
src/audio/gen.cc
src/audio/fdct.cc
src/audio/idct.cc
src/audio/fft.cc
src/audio/window.cc
src/audio/synth.cc
src/audio/tracker.cc
src/audio/spectrogram_resource_manager.cc
src/audio/audio_engine.cc
src/audio/spectral_brush.cc
)
# Procedural sources (unconditional)
set(PROCEDURAL_SOURCES src/procedural/generator.cc)
# Utility sources (unconditional)
set(UTIL_SOURCES src/util/asset_manager.cc src/util/file_watcher.cc)
# Common effect sources (shared between headless and normal modes)
set(COMMON_GPU_EFFECTS
src/gpu/effect.cc
src/effects/heptagon_effect.cc
src/effects/particles_effect.cc
src/effects/passthrough_effect.cc
src/effects/moving_ellipse_effect.cc
src/effects/particle_spray_effect.cc
src/effects/gaussian_blur_effect.cc
src/effects/solarize_effect.cc
src/effects/scene1_effect.cc
src/effects/chroma_aberration_effect.cc
src/effects/vignette_effect.cc
cnn_v1/src/cnn_v1_effect.cc
cnn_v2/src/cnn_v2_effect.cc
src/gpu/post_process_helper.cc
src/gpu/shaders.cc
src/effects/hybrid_3d_effect.cc
src/effects/flash_cube_effect.cc
src/effects/theme_modulation_effect.cc
src/effects/fade_effect.cc
src/effects/flash_effect.cc
src/gpu/shader_composer.cc
src/effects/circle_mask_effect.cc
src/effects/rotating_cube_effect.cc
src/gpu/texture_manager.cc
src/gpu/texture_readback.cc
src/effects/sdf_test_effect.cc
)
# GPU sources (conditional: HEADLESS / STRIP_EXTERNAL / NORMAL)
demo_set_conditional_sources(GPU_SOURCES
# Headless mode: Functional stubs (timeline/audio work)
"src/gpu/headless_gpu.cc;src/gpu/demo_effects.cc;${COMMON_GPU_EFFECTS}"
# Strip mode: Minimal GPU stubs only
"src/gpu/stub_gpu.cc"
# Normal mode: Full GPU implementation
"src/gpu/gpu.cc;${COMMON_GPU_EFFECTS}"
)
# Common 3D sources (shared between headless and normal modes)
set(COMMON_3D_FILES
src/3d/renderer.cc
src/3d/renderer_draw.cc
src/3d/renderer_pipelines.cc
src/3d/renderer_resources.cc
src/3d/renderer_helpers.cc
src/3d/visual_debug.cc
src/3d/bvh.cc
src/3d/physics.cc
src/3d/scene_loader.cc
)
# 3D sources (conditional: HEADLESS / STRIP_EXTERNAL / NORMAL)
demo_set_conditional_sources(3D_SOURCES
# Headless mode: Full 3D (needed for Hybrid3DEffect)
"${COMMON_3D_FILES}"
# Strip mode: Stub 3D (depends on WebGPU)
"src/3d/bvh.cc;src/3d/physics.cc;src/3d/scene_loader.cc"
# Normal mode: Full 3D implementation
"${COMMON_3D_FILES}"
)
# Platform sources (conditional: HEADLESS / STRIP_EXTERNAL / NORMAL)
demo_set_conditional_sources(PLATFORM_SOURCES
# Headless mode: Headless platform stub
"src/platform/headless_platform.cc"
# Strip mode: Stub platform
"src/platform/stub_platform.cc"
# Normal mode: Full platform with GLFW
"src/platform/platform.cc;third_party/glfw3webgpu/glfw3webgpu.c"
)
|