From f9ac4caf2f36c283c2d90bcb985e3298c417d564 Mon Sep 17 00:00:00 2001 From: skal Date: Sat, 28 Feb 2026 09:48:08 +0100 Subject: fix(tools/shadertoy): fix Next Steps instructions and update EFFECT_WORKFLOW.md - Fix assets.txt path: shaders/xxx.wgsl (not ../../src/shaders/) - Fix shader output path to workspaces/main/shaders/ - Step 5: reference cmake/DemoSourceLists.cmake COMMON_GPU_EFFECTS (not CMakeLists.txt GPU_SOURCES) - Add step for test_demo_effects.cc Co-Authored-By: Claude Sonnet 4.6 --- doc/EFFECT_WORKFLOW.md | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) (limited to 'doc') 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_, NONE, shaders/.wgsl, "Description" Asset ID: `AssetId::ASSET_SHADER_` -### 3. Add to CMakeLists.txt +### 3. Add to DemoSourceLists.cmake -**File**: `CMakeLists.txt` +**File**: `cmake/DemoSourceLists.cmake` -Add `src/effects/_effect.cc` to **BOTH** GPU_SOURCES sections: -- Headless mode (around line 141-167) -- Normal mode (around line 171-197) +Add `src/effects/_effect.cc` to the `COMMON_GPU_EFFECTS` list. ### 4. Include in demo_effects.h @@ -84,7 +82,19 @@ Add `src/effects/_effect.cc` to **BOTH** GPU_SOURCES sections: #include "effects/_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( + 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 "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 -- cgit v1.2.3