From f449fe7f78e059d455dfefcf4b09d763363f6344 Mon Sep 17 00:00:00 2001 From: skal Date: Mon, 9 Feb 2026 19:34:46 +0100 Subject: feat: Add headless mode for testing without GPU Implements DEMO_HEADLESS build option for fast iteration cycles: - Functional GPU/platform stubs (not pure no-ops like STRIP_EXTERNAL_LIBS) - Audio and timeline systems work normally - No rendering overhead - Useful for CI, audio development, timeline validation Files added: - doc/HEADLESS_MODE.md - Documentation - src/gpu/headless_gpu.cc - Validated GPU stubs - src/platform/headless_platform.cc - Time simulation (60Hz) - scripts/test_headless.sh - End-to-end test script Usage: cmake -B build_headless -DDEMO_HEADLESS=ON cmake --build build_headless -j4 ./build_headless/demo64k --headless --duration 30 Progress printed every 5s. Compatible with --dump_wav mode. handoff(Claude): Task #76 follow-up - headless mode complete --- doc/BUILD.md | 1 + 1 file changed, 1 insertion(+) (limited to 'doc/BUILD.md') diff --git a/doc/BUILD.md b/doc/BUILD.md index 7cb3473..cd2b436 100644 --- a/doc/BUILD.md +++ b/doc/BUILD.md @@ -24,6 +24,7 @@ cmake --build build_final -j4 | SIZE_OPT | `-DDEMO_SIZE_OPT=ON` | Size-optimized, with checks | | STRIP_ALL | `-DDEMO_STRIP_ALL=ON` | Release candidate, full error checking, no debug features (~64k target) | | FINAL_STRIP | `-DDEMO_FINAL_STRIP=ON` | Final release, no error checking, absolute minimum size | +| HEADLESS | `-DDEMO_HEADLESS=ON` | Testing without GPU (audio/timeline work, no rendering) | | STRIP_EXTERNAL_LIBS | `-DDEMO_STRIP_EXTERNAL_LIBS=ON` | Size measurement only (binary won't run) | **Build Hierarchy:** -- cgit v1.2.3