| Age | Commit message (Collapse) | Author |
|
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
|
|
- Use ma_backend_null for audio (100-200KB savings)
- Stub platform/gpu abstractions instead of external APIs
- Add DEMO_STRIP_EXTERNAL_LIBS build mode
- Create stub_types.h with minimal WebGPU opaque types
- Add scripts/measure_size.sh for automated measurement
Results: Demo=4.4MB, External=2.0MB (69% vs 31%)
handoff(Claude): Task #76 complete. Binary compiles but doesn't run (size measurement only).
|
|
shader composition"
This reverts commit 16c2cdce6ad1d89d3c537f2c2cff743449925125.
|
|
composition
|
|
Reorganized platform windowing code into dedicated subdirectory for
better organization and consistency with other subsystems (audio/, gpu/, 3d/).
Changes:
- Created src/platform/ directory
- Moved src/platform.{h,cc} → src/platform/platform.{h,cc}
- Updated 11 include paths: "platform.h" → "platform/platform.h"
- src/main.cc, src/test_demo.cc
- src/gpu/gpu.{h,cc}
- src/platform/platform.cc (self-include)
- 6 test files
- Updated CMakeLists.txt PLATFORM_SOURCES variable
Verification:
✓ All targets build successfully (demo64k, test_demo, test_platform)
✓ test_platform passes (70% coverage maintained)
✓ demo64k smoke test passed
This completes the platform code reorganization side quest.
No functional changes, purely organizational.
|