summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/CONTRIBUTING.md13
1 files changed, 12 insertions, 1 deletions
diff --git a/doc/CONTRIBUTING.md b/doc/CONTRIBUTING.md
index 4b85e9f..7d206a5 100644
--- a/doc/CONTRIBUTING.md
+++ b/doc/CONTRIBUTING.md
@@ -255,7 +255,18 @@ Make sure everything is reflected in clang-format.
- Implement `compute()` if you need GPU-side physics or state updates.
- Implement `render()` to record WebGPU draw commands.
2. **Register**: Add an `EFFECT` entry to `assets/demo.seq` specifying the class name, start/end times, and any constructor arguments.
-3. **Verify**: Build with `DEMO_ALL_OPTIONS=ON` and use `--seek` to test your effect at its specific timestamp.
+3. **Update Tests** (REQUIRED): Add your effect to `src/tests/test_demo_effects.cc`:
+ - Add effect to the appropriate test list (`test_post_process_effects()` or `test_scene_effects()`)
+ - Increment `EXPECTED_POST_PROCESS_COUNT` or `EXPECTED_SCENE_COUNT` at the top of the file
+ - If your effect requires `Renderer3D` with full shader setup, add it to the `requires_3d` check
+ - The test will fail with a clear error message if you forget this step
+4. **Verify**: Build with `DEMO_ALL_OPTIONS=ON` and run tests:
+ ```bash
+ cmake -S . -B build -DDEMO_BUILD_TESTS=ON
+ cmake --build build --target test_demo_effects
+ cd build && ./test_demo_effects
+ ```
+ Then test your effect at its specific timestamp with `--seek`.
### Audio Subsystem Initialization