diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/gpu/headless_gpu.cc | 93 | ||||
| -rw-r--r-- | src/main.cc | 41 | ||||
| -rw-r--r-- | src/platform/headless_platform.cc | 60 | ||||
| -rw-r--r-- | src/tests/3d/test_3d.cc (renamed from src/tests/test_3d.cc) | 0 | ||||
| -rw-r--r-- | src/tests/3d/test_3d_physics.cc (renamed from src/tests/test_3d_physics.cc) | 0 | ||||
| -rw-r--r-- | src/tests/3d/test_3d_render.cc (renamed from src/tests/test_3d_render.cc) | 0 | ||||
| -rw-r--r-- | src/tests/3d/test_mesh.cc (renamed from src/tests/test_mesh.cc) | 0 | ||||
| -rw-r--r-- | src/tests/3d/test_physics.cc (renamed from src/tests/test_physics.cc) | 0 | ||||
| -rw-r--r-- | src/tests/3d/test_scene_loader.cc (renamed from src/tests/test_scene_loader.cc) | 0 | ||||
| -rw-r--r-- | src/tests/assets/test_assets.cc (renamed from src/tests/test_assets.cc) | 0 | ||||
| -rw-r--r-- | src/tests/assets/test_sequence.cc (renamed from src/tests/test_sequence.cc) | 0 | ||||
| -rw-r--r-- | src/tests/audio/test_audio_backend.cc (renamed from src/tests/test_audio_backend.cc) | 0 | ||||
| -rw-r--r-- | src/tests/audio/test_audio_engine.cc (renamed from src/tests/test_audio_engine.cc) | 0 | ||||
| -rw-r--r-- | src/tests/audio/test_audio_gen.cc (renamed from src/tests/test_audio_gen.cc) | 0 | ||||
| -rw-r--r-- | src/tests/audio/test_dct.cc (renamed from src/tests/test_dct.cc) | 0 | ||||
| -rw-r--r-- | src/tests/audio/test_fft.cc (renamed from src/tests/test_fft.cc) | 0 | ||||
| -rw-r--r-- | src/tests/audio/test_jittered_audio.cc (renamed from src/tests/test_jittered_audio.cc) | 0 | ||||
| -rw-r--r-- | src/tests/audio/test_mock_backend.cc (renamed from src/tests/test_mock_backend.cc) | 0 | ||||
| -rw-r--r-- | src/tests/audio/test_silent_backend.cc (renamed from src/tests/test_silent_backend.cc) | 0 | ||||
| -rw-r--r-- | src/tests/audio/test_spectral_brush.cc (renamed from src/tests/test_spectral_brush.cc) | 0 | ||||
| -rw-r--r-- | src/tests/audio/test_synth.cc (renamed from src/tests/test_synth.cc) | 0 | ||||
| -rw-r--r-- | src/tests/audio/test_tracker.cc (renamed from src/tests/test_tracker.cc) | 0 | ||||
| -rw-r--r-- | src/tests/audio/test_tracker_timing.cc (renamed from src/tests/test_tracker_timing.cc) | 0 | ||||
| -rw-r--r-- | src/tests/audio/test_variable_tempo.cc (renamed from src/tests/test_variable_tempo.cc) | 0 | ||||
| -rw-r--r-- | src/tests/audio/test_wav_dump.cc (renamed from src/tests/test_wav_dump.cc) | 0 | ||||
| -rw-r--r-- | src/tests/audio/test_window.cc (renamed from src/tests/test_window.cc) | 0 | ||||
| -rw-r--r-- | src/tests/common/effect_test_helpers.cc (renamed from src/tests/effect_test_helpers.cc) | 0 | ||||
| -rw-r--r-- | src/tests/common/effect_test_helpers.h (renamed from src/tests/effect_test_helpers.h) | 0 | ||||
| -rw-r--r-- | src/tests/common/offscreen_render_target.cc (renamed from src/tests/offscreen_render_target.cc) | 0 | ||||
| -rw-r--r-- | src/tests/common/offscreen_render_target.h (renamed from src/tests/offscreen_render_target.h) | 0 | ||||
| -rw-r--r-- | src/tests/common/webgpu_test_fixture.cc (renamed from src/tests/webgpu_test_fixture.cc) | 0 | ||||
| -rw-r--r-- | src/tests/common/webgpu_test_fixture.h (renamed from src/tests/webgpu_test_fixture.h) | 0 | ||||
| -rw-r--r-- | src/tests/gpu/test_demo_effects.cc (renamed from src/tests/test_demo_effects.cc) | 4 | ||||
| -rw-r--r-- | src/tests/gpu/test_effect_base.cc (renamed from src/tests/test_effect_base.cc) | 6 | ||||
| -rw-r--r-- | src/tests/gpu/test_gpu_composite.cc (renamed from src/tests/test_gpu_composite.cc) | 0 | ||||
| -rw-r--r-- | src/tests/gpu/test_gpu_procedural.cc (renamed from src/tests/test_gpu_procedural.cc) | 0 | ||||
| -rw-r--r-- | src/tests/gpu/test_noise_functions.cc (renamed from src/tests/test_noise_functions.cc) | 0 | ||||
| -rw-r--r-- | src/tests/gpu/test_post_process_helper.cc (renamed from src/tests/test_post_process_helper.cc) | 4 | ||||
| -rw-r--r-- | src/tests/gpu/test_shader_assets.cc (renamed from src/tests/test_shader_assets.cc) | 0 | ||||
| -rw-r--r-- | src/tests/gpu/test_shader_compilation.cc (renamed from src/tests/test_shader_compilation.cc) | 0 | ||||
| -rw-r--r-- | src/tests/gpu/test_shader_composer.cc (renamed from src/tests/test_shader_composer.cc) | 0 | ||||
| -rw-r--r-- | src/tests/gpu/test_spectool.cc (renamed from src/tests/test_spectool.cc) | 0 | ||||
| -rw-r--r-- | src/tests/gpu/test_texture_manager.cc (renamed from src/tests/test_texture_manager.cc) | 2 | ||||
| -rw-r--r-- | src/tests/gpu/test_uniform_helper.cc (renamed from src/tests/test_uniform_helper.cc) | 0 | ||||
| -rw-r--r-- | src/tests/util/test_file_watcher.cc (renamed from src/tests/test_file_watcher.cc) | 0 | ||||
| -rw-r--r-- | src/tests/util/test_maths.cc (renamed from src/tests/test_maths.cc) | 0 | ||||
| -rw-r--r-- | src/tests/util/test_procedural.cc (renamed from src/tests/test_procedural.cc) | 0 |
47 files changed, 201 insertions, 9 deletions
diff --git a/src/gpu/headless_gpu.cc b/src/gpu/headless_gpu.cc new file mode 100644 index 0000000..1a649d3 --- /dev/null +++ b/src/gpu/headless_gpu.cc @@ -0,0 +1,93 @@ +// Headless GPU implementation - functional stubs for testing +// Workspace: demo (shared across all workspaces) + +#if defined(DEMO_HEADLESS) + +#include "gpu.h" +#include "platform/stub_types.h" +#include <stdio.h> + +static bool g_initialized = false; + +GpuBuffer gpu_create_buffer(WGPUDevice device, size_t size, uint32_t usage, + const void* data) { + (void)device; + (void)size; + (void)usage; + (void)data; + return {nullptr, 0}; +} + +RenderPass gpu_create_render_pass(WGPUDevice device, WGPUTextureFormat format, + const char* shader_code, + ResourceBinding* bindings, int num_bindings) { + (void)device; + (void)format; + (void)shader_code; + (void)bindings; + (void)num_bindings; + return {nullptr, nullptr, 0, 0}; +} + +ComputePass gpu_create_compute_pass(WGPUDevice device, const char* shader_code, + ResourceBinding* bindings, + int num_bindings) { + (void)device; + (void)shader_code; + (void)bindings; + (void)num_bindings; + return {nullptr, nullptr, 0, 0, 0}; +} + +void gpu_init(PlatformState* platform_state) { + (void)platform_state; + if (!g_initialized) { + printf("[headless] GPU initialized\n"); + g_initialized = true; + } +} + +void gpu_draw(float audio_peak, float aspect_ratio, float time, float beat) { + (void)audio_peak; + (void)aspect_ratio; + (void)time; + (void)beat; +} + +void gpu_resize(int width, int height) { + (void)width; + (void)height; +} + +void gpu_shutdown() { + if (g_initialized) { + printf("[headless] GPU shutdown\n"); + g_initialized = false; + } +} + +const GpuContext* gpu_get_context() { + static GpuContext ctx = {nullptr, nullptr, WGPUTextureFormat_BGRA8Unorm}; + return &ctx; +} + +MainSequence* gpu_get_main_sequence() { + return nullptr; +} + +#if !defined(STRIP_ALL) +void gpu_simulate_until(float time, float bpm) { + (void)time; + (void)bpm; +} + +void gpu_add_custom_effect(Effect* effect, float start_time, float end_time, + int priority) { + (void)effect; + (void)start_time; + (void)end_time; + (void)priority; +} +#endif + +#endif // DEMO_HEADLESS diff --git a/src/main.cc b/src/main.cc index b4091e7..6132841 100644 --- a/src/main.cc +++ b/src/main.cc @@ -32,6 +32,8 @@ int main(int argc, char** argv) { int height = 720; bool dump_wav = false; bool tempo_test_enabled = false; + bool headless_mode = false; + float headless_duration = 30.0f; const char* wav_output_file = "audio_dump.wav"; bool hot_reload_enabled = false; @@ -59,6 +61,13 @@ int main(int argc, char** argv) { } } else if (strcmp(argv[i], "--tempo") == 0) { tempo_test_enabled = true; +#if defined(DEMO_HEADLESS) + } else if (strcmp(argv[i], "--headless") == 0) { + headless_mode = true; + } else if (strcmp(argv[i], "--duration") == 0 && i + 1 < argc) { + headless_duration = atof(argv[i + 1]); + ++i; +#endif } else if (strcmp(argv[i], "--hot-reload") == 0) { hot_reload_enabled = true; printf("Hot-reload enabled (watching config files)\n"); @@ -74,7 +83,9 @@ int main(int argc, char** argv) { gpu_init(&platform_state); // Load timeline data (visual effects layering) +#if !defined(DEMO_HEADLESS) LoadTimeline(*gpu_get_main_sequence(), *gpu_get_context()); +#endif #if !defined(STRIP_ALL) // Set WAV dump backend if requested @@ -181,7 +192,35 @@ int main(int argc, char** argv) { } #endif -#if !defined(STRIP_ALL) +#if !defined(STRIP_ALL) && defined(DEMO_HEADLESS) + // In headless mode, run simulation without rendering + if (headless_mode) { + printf("Running headless simulation (%.1fs)...\n", headless_duration); + + const float update_dt = 1.0f / 60.0f; + double physical_time = 0.0; + while (physical_time < headless_duration) { + fill_audio_buffer(update_dt, physical_time); + gpu_simulate_until(g_music_time); + physical_time += update_dt; + + if ((int)physical_time % 5 == 0 && + physical_time - update_dt < (int)physical_time) { + printf(" Progress: %.1fs / %.1fs (music: %.1fs)\r", + physical_time, headless_duration, g_music_time); + fflush(stdout); + } + } + + printf("\nHeadless simulation complete: %.2fs\n", physical_time); + + g_audio_engine.shutdown(); + audio_shutdown(); + gpu_shutdown(); + platform_shutdown(&platform_state); + return 0; + } + // In WAV dump mode, run headless simulation and write audio to file if (dump_wav) { printf("Running WAV dump simulation...\n"); diff --git a/src/platform/headless_platform.cc b/src/platform/headless_platform.cc new file mode 100644 index 0000000..4ec8c5d --- /dev/null +++ b/src/platform/headless_platform.cc @@ -0,0 +1,60 @@ +// Headless platform - time simulation without window +// Workspace: demo (shared across all workspaces) + +#if defined(DEMO_HEADLESS) + +#include "platform.h" +#include "stub_types.h" +#include <stdio.h> + +static double g_virtual_time = 0.0; +static bool g_should_close = false; +static const double FRAME_TIME = 1.0 / 60.0; + +PlatformState platform_init(bool fullscreen, int width, int height) { + (void)fullscreen; + g_virtual_time = 0.0; + g_should_close = false; + printf("[headless] Platform initialized (simulated %dx%d)\n", width, height); + + PlatformState state = {}; + state.width = width; + state.height = height; + state.aspect_ratio = (float)width / (float)height; + state.window = nullptr; + state.time = 0.0; + state.is_fullscreen = false; + return state; +} + +void platform_shutdown(PlatformState* state) { + (void)state; + printf("[headless] Platform shutdown\n"); +} + +void platform_poll(PlatformState* state) { + (void)state; + g_virtual_time += FRAME_TIME; +} + +bool platform_should_close(PlatformState* state) { + (void)state; + return g_should_close; +} + +void platform_toggle_fullscreen(PlatformState* state) { + (void)state; +} + +WGPUSurface platform_create_wgpu_surface(WGPUInstance instance, + PlatformState* state) { + (void)instance; + (void)state; + return nullptr; +} + +double platform_get_time() { + return g_virtual_time; +} + +#endif // DEMO_HEADLESS diff --git a/src/tests/test_3d.cc b/src/tests/3d/test_3d.cc index e0fb2e0..e0fb2e0 100644 --- a/src/tests/test_3d.cc +++ b/src/tests/3d/test_3d.cc diff --git a/src/tests/test_3d_physics.cc b/src/tests/3d/test_3d_physics.cc index eb1f5ef..eb1f5ef 100644 --- a/src/tests/test_3d_physics.cc +++ b/src/tests/3d/test_3d_physics.cc diff --git a/src/tests/test_3d_render.cc b/src/tests/3d/test_3d_render.cc index eee46ba..eee46ba 100644 --- a/src/tests/test_3d_render.cc +++ b/src/tests/3d/test_3d_render.cc diff --git a/src/tests/test_mesh.cc b/src/tests/3d/test_mesh.cc index 2129bc8..2129bc8 100644 --- a/src/tests/test_mesh.cc +++ b/src/tests/3d/test_mesh.cc diff --git a/src/tests/test_physics.cc b/src/tests/3d/test_physics.cc index df21e70..df21e70 100644 --- a/src/tests/test_physics.cc +++ b/src/tests/3d/test_physics.cc diff --git a/src/tests/test_scene_loader.cc b/src/tests/3d/test_scene_loader.cc index 21bcbaa..21bcbaa 100644 --- a/src/tests/test_scene_loader.cc +++ b/src/tests/3d/test_scene_loader.cc diff --git a/src/tests/test_assets.cc b/src/tests/assets/test_assets.cc index 2ee18d6..2ee18d6 100644 --- a/src/tests/test_assets.cc +++ b/src/tests/assets/test_assets.cc diff --git a/src/tests/test_sequence.cc b/src/tests/assets/test_sequence.cc index d79ec1d..d79ec1d 100644 --- a/src/tests/test_sequence.cc +++ b/src/tests/assets/test_sequence.cc diff --git a/src/tests/test_audio_backend.cc b/src/tests/audio/test_audio_backend.cc index 6a748aa..6a748aa 100644 --- a/src/tests/test_audio_backend.cc +++ b/src/tests/audio/test_audio_backend.cc diff --git a/src/tests/test_audio_engine.cc b/src/tests/audio/test_audio_engine.cc index 3b29dcd..3b29dcd 100644 --- a/src/tests/test_audio_engine.cc +++ b/src/tests/audio/test_audio_engine.cc diff --git a/src/tests/test_audio_gen.cc b/src/tests/audio/test_audio_gen.cc index ebdcb25..ebdcb25 100644 --- a/src/tests/test_audio_gen.cc +++ b/src/tests/audio/test_audio_gen.cc diff --git a/src/tests/test_dct.cc b/src/tests/audio/test_dct.cc index 89b7964..89b7964 100644 --- a/src/tests/test_dct.cc +++ b/src/tests/audio/test_dct.cc diff --git a/src/tests/test_fft.cc b/src/tests/audio/test_fft.cc index 2151608..2151608 100644 --- a/src/tests/test_fft.cc +++ b/src/tests/audio/test_fft.cc diff --git a/src/tests/test_jittered_audio.cc b/src/tests/audio/test_jittered_audio.cc index d8260ec..d8260ec 100644 --- a/src/tests/test_jittered_audio.cc +++ b/src/tests/audio/test_jittered_audio.cc diff --git a/src/tests/test_mock_backend.cc b/src/tests/audio/test_mock_backend.cc index defd73d..defd73d 100644 --- a/src/tests/test_mock_backend.cc +++ b/src/tests/audio/test_mock_backend.cc diff --git a/src/tests/test_silent_backend.cc b/src/tests/audio/test_silent_backend.cc index 8daacf7..8daacf7 100644 --- a/src/tests/test_silent_backend.cc +++ b/src/tests/audio/test_silent_backend.cc diff --git a/src/tests/test_spectral_brush.cc b/src/tests/audio/test_spectral_brush.cc index ae1862a..ae1862a 100644 --- a/src/tests/test_spectral_brush.cc +++ b/src/tests/audio/test_spectral_brush.cc diff --git a/src/tests/test_synth.cc b/src/tests/audio/test_synth.cc index 12cbc54..12cbc54 100644 --- a/src/tests/test_synth.cc +++ b/src/tests/audio/test_synth.cc diff --git a/src/tests/test_tracker.cc b/src/tests/audio/test_tracker.cc index 6be2a8d..6be2a8d 100644 --- a/src/tests/test_tracker.cc +++ b/src/tests/audio/test_tracker.cc diff --git a/src/tests/test_tracker_timing.cc b/src/tests/audio/test_tracker_timing.cc index 9f15197..9f15197 100644 --- a/src/tests/test_tracker_timing.cc +++ b/src/tests/audio/test_tracker_timing.cc diff --git a/src/tests/test_variable_tempo.cc b/src/tests/audio/test_variable_tempo.cc index bbc9ebf..bbc9ebf 100644 --- a/src/tests/test_variable_tempo.cc +++ b/src/tests/audio/test_variable_tempo.cc diff --git a/src/tests/test_wav_dump.cc b/src/tests/audio/test_wav_dump.cc index eb14652..eb14652 100644 --- a/src/tests/test_wav_dump.cc +++ b/src/tests/audio/test_wav_dump.cc diff --git a/src/tests/test_window.cc b/src/tests/audio/test_window.cc index bac4a4b..bac4a4b 100644 --- a/src/tests/test_window.cc +++ b/src/tests/audio/test_window.cc diff --git a/src/tests/effect_test_helpers.cc b/src/tests/common/effect_test_helpers.cc index 9250366..9250366 100644 --- a/src/tests/effect_test_helpers.cc +++ b/src/tests/common/effect_test_helpers.cc diff --git a/src/tests/effect_test_helpers.h b/src/tests/common/effect_test_helpers.h index 33355ee..33355ee 100644 --- a/src/tests/effect_test_helpers.h +++ b/src/tests/common/effect_test_helpers.h diff --git a/src/tests/offscreen_render_target.cc b/src/tests/common/offscreen_render_target.cc index 9f65e9a..9f65e9a 100644 --- a/src/tests/offscreen_render_target.cc +++ b/src/tests/common/offscreen_render_target.cc diff --git a/src/tests/offscreen_render_target.h b/src/tests/common/offscreen_render_target.h index 10c12aa..10c12aa 100644 --- a/src/tests/offscreen_render_target.h +++ b/src/tests/common/offscreen_render_target.h diff --git a/src/tests/webgpu_test_fixture.cc b/src/tests/common/webgpu_test_fixture.cc index afb7ce3..afb7ce3 100644 --- a/src/tests/webgpu_test_fixture.cc +++ b/src/tests/common/webgpu_test_fixture.cc diff --git a/src/tests/webgpu_test_fixture.h b/src/tests/common/webgpu_test_fixture.h index e10a2ed..e10a2ed 100644 --- a/src/tests/webgpu_test_fixture.h +++ b/src/tests/common/webgpu_test_fixture.h diff --git a/src/tests/test_demo_effects.cc b/src/tests/gpu/test_demo_effects.cc index 0d2b09a..8a7d8af 100644 --- a/src/tests/test_demo_effects.cc +++ b/src/tests/gpu/test_demo_effects.cc @@ -10,10 +10,10 @@ // 3. If the effect requires Renderer3D, add it to requires_3d check in // test_scene_effects() -#include "effect_test_helpers.h" +#include "../common/effect_test_helpers.h" #include "gpu/demo_effects.h" #include "gpu/effect.h" -#include "webgpu_test_fixture.h" +#include "../common/webgpu_test_fixture.h" #include <cassert> #include <cstdio> #include <cstring> diff --git a/src/tests/test_effect_base.cc b/src/tests/gpu/test_effect_base.cc index 612e9da..08cf0a1 100644 --- a/src/tests/test_effect_base.cc +++ b/src/tests/gpu/test_effect_base.cc @@ -2,11 +2,11 @@ // It tests the Effect/Sequence/MainSequence lifecycle using headless rendering. // Verifies effect initialization, activation, and basic rendering. -#include "effect_test_helpers.h" +#include "../common/effect_test_helpers.h" #include "gpu/demo_effects.h" #include "gpu/effect.h" -#include "offscreen_render_target.h" -#include "webgpu_test_fixture.h" +#include "../common/offscreen_render_target.h" +#include "../common/webgpu_test_fixture.h" #include <cassert> #include <cstdio> #include <memory> diff --git a/src/tests/test_gpu_composite.cc b/src/tests/gpu/test_gpu_composite.cc index e5ac788..e5ac788 100644 --- a/src/tests/test_gpu_composite.cc +++ b/src/tests/gpu/test_gpu_composite.cc diff --git a/src/tests/test_gpu_procedural.cc b/src/tests/gpu/test_gpu_procedural.cc index f1bade0..f1bade0 100644 --- a/src/tests/test_gpu_procedural.cc +++ b/src/tests/gpu/test_gpu_procedural.cc diff --git a/src/tests/test_noise_functions.cc b/src/tests/gpu/test_noise_functions.cc index f8dfc93..f8dfc93 100644 --- a/src/tests/test_noise_functions.cc +++ b/src/tests/gpu/test_noise_functions.cc diff --git a/src/tests/test_post_process_helper.cc b/src/tests/gpu/test_post_process_helper.cc index 36d193e..868bf26 100644 --- a/src/tests/test_post_process_helper.cc +++ b/src/tests/gpu/test_post_process_helper.cc @@ -4,8 +4,8 @@ #include "gpu/demo_effects.h" #include "gpu/gpu.h" -#include "offscreen_render_target.h" -#include "webgpu_test_fixture.h" +#include "../common/offscreen_render_target.h" +#include "../common/webgpu_test_fixture.h" #include <cassert> #include <cstdio> diff --git a/src/tests/test_shader_assets.cc b/src/tests/gpu/test_shader_assets.cc index f1562ea..f1562ea 100644 --- a/src/tests/test_shader_assets.cc +++ b/src/tests/gpu/test_shader_assets.cc diff --git a/src/tests/test_shader_compilation.cc b/src/tests/gpu/test_shader_compilation.cc index a322e8a..a322e8a 100644 --- a/src/tests/test_shader_compilation.cc +++ b/src/tests/gpu/test_shader_compilation.cc diff --git a/src/tests/test_shader_composer.cc b/src/tests/gpu/test_shader_composer.cc index a98a259..a98a259 100644 --- a/src/tests/test_shader_composer.cc +++ b/src/tests/gpu/test_shader_composer.cc diff --git a/src/tests/test_spectool.cc b/src/tests/gpu/test_spectool.cc index 984322a..984322a 100644 --- a/src/tests/test_spectool.cc +++ b/src/tests/gpu/test_spectool.cc diff --git a/src/tests/test_texture_manager.cc b/src/tests/gpu/test_texture_manager.cc index c25c07c..54a1a8a 100644 --- a/src/tests/test_texture_manager.cc +++ b/src/tests/gpu/test_texture_manager.cc @@ -4,7 +4,7 @@ #include "gpu/texture_manager.h" #include "procedural/generator.h" -#include "webgpu_test_fixture.h" +#include "../common/webgpu_test_fixture.h" #include <cassert> #include <cstdio> #include <cstring> diff --git a/src/tests/test_uniform_helper.cc b/src/tests/gpu/test_uniform_helper.cc index cc1bf59..cc1bf59 100644 --- a/src/tests/test_uniform_helper.cc +++ b/src/tests/gpu/test_uniform_helper.cc diff --git a/src/tests/test_file_watcher.cc b/src/tests/util/test_file_watcher.cc index ac13afd..ac13afd 100644 --- a/src/tests/test_file_watcher.cc +++ b/src/tests/util/test_file_watcher.cc diff --git a/src/tests/test_maths.cc b/src/tests/util/test_maths.cc index 0fed85c..0fed85c 100644 --- a/src/tests/test_maths.cc +++ b/src/tests/util/test_maths.cc diff --git a/src/tests/test_procedural.cc b/src/tests/util/test_procedural.cc index e9f9a02..e9f9a02 100644 --- a/src/tests/test_procedural.cc +++ b/src/tests/util/test_procedural.cc |
