summaryrefslogtreecommitdiff
path: root/CONTRIBUTING.md
diff options
context:
space:
mode:
Diffstat (limited to 'CONTRIBUTING.md')
-rw-r--r--CONTRIBUTING.md11
1 files changed, 11 insertions, 0 deletions
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index eb18786..3c78f18 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -146,3 +146,14 @@ types.
don't.
+## Development Protocols
+
+### Adding a New Visual Effect
+
+1. **Implement**: Create or update a class in `src/gpu/demo_effects.cc` (and declare in `demo_effects.h`) that inherits from `Effect`.
+ - Implement `init()` for one-time resource setup (e.g., using the asset system).
+ - 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.
+