summaryrefslogtreecommitdiff
path: root/doc/EFFECT_WORKFLOW.md
diff options
context:
space:
mode:
Diffstat (limited to 'doc/EFFECT_WORKFLOW.md')
-rw-r--r--doc/EFFECT_WORKFLOW.md27
1 files changed, 18 insertions, 9 deletions
diff --git a/doc/EFFECT_WORKFLOW.md b/doc/EFFECT_WORKFLOW.md
index 46aebd2..3e574f6 100644
--- a/doc/EFFECT_WORKFLOW.md
+++ b/doc/EFFECT_WORKFLOW.md
@@ -68,13 +68,11 @@ SHADER_<UPPER_NAME>, NONE, shaders/<name>.wgsl, "Description"
Asset ID: `AssetId::ASSET_SHADER_<UPPER_NAME>`
-### 3. Add to CMakeLists.txt
+### 3. Add to DemoSourceLists.cmake
-**File**: `CMakeLists.txt`
+**File**: `cmake/DemoSourceLists.cmake`
-Add `src/effects/<name>_effect.cc` to **BOTH** GPU_SOURCES sections:
-- Headless mode (around line 141-167)
-- Normal mode (around line 171-197)
+Add `src/effects/<name>_effect.cc` to the `COMMON_GPU_EFFECTS` list.
### 4. Include in demo_effects.h
@@ -84,7 +82,19 @@ Add `src/effects/<name>_effect.cc` to **BOTH** GPU_SOURCES sections:
#include "effects/<name>_effect.h"
```
-### 5. Add to Timeline
+### 5. Add to test_demo_effects.cc
+
+**File**: `src/tests/gpu/test_demo_effects.cc`
+
+Add entry to the effects vector:
+```cpp
+{"MyEffect", std::make_shared<MyEffect>(
+ fixture.ctx(), inputs, outputs, 0.0f, 1000.0f)},
+```
+
+Run with: `./build/test_demo_effects`
+
+### 6. Add to Timeline
**File**: `workspaces/main/timeline.seq`
@@ -95,7 +105,7 @@ SEQUENCE <start> <priority> "name"
**Priority modifiers** (REQUIRED): `+` (increment), `=` (same), `-` (decrement)
-### 6. Regenerate and Build
+### 7. Regenerate and Build
```bash
# Regenerate timeline.cc
@@ -241,8 +251,7 @@ class My3DEffect : public Effect {
- Asset ID is `ASSET_` + uppercase entry name
**Build Error: "undefined symbol"**
-- Effect not in CMakeLists.txt GPU_SOURCES
-- Must add to BOTH sections (headless + normal)
+- Effect not in `cmake/DemoSourceLists.cmake` COMMON_GPU_EFFECTS
**Runtime Error: "Node not found"**
- Forgot `declare_nodes()` for temp nodes