| Age | Commit message (Collapse) | Author |
|
Replace boilerplate .h/.cc pairs for simple single-pass effects with a
generic WgslEffect base class that takes a shader string + optional
WgslEffectParams (binding 3). Port Flash, Passthrough, Heptagon, Scratch,
and GaussianBlur to thin header-only wrappers — no .cc files, no CMake
entries needed. Removes 5 .cc files (-243 lines).
Update EFFECT_WORKFLOW.md, CONTRIBUTING.md, and AI_RULES.md to document
the WgslEffect (Path A) vs full class (Path B) workflow. Doc cleanup:
fix stale GaussianBlurParams/PostProcessEffect references and test counts.
handoff(Claude): WgslEffect landed; 5 effects ported; docs updated.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
Updated remaining references to use CNNv1Effect naming:
- doc/AUXILIARY_TEXTURE_INIT.md
- doc/HOWTO.md (validation note)
- doc/COMPLETED.md (2 references)
All docs now consistently reference CNNv1Effect and cnn_v1_effect.cc
|
|
Summary of fixes:
1. MainSequence: resize() before init() (effect.cc:179-180, 189-190)
2. Auxiliary textures: Register in init() using width_/height_
3. Renderer3D effects: Add initialized_ flag guard
4. RotatingCubeEffect: Fix hardcoded vec2(1280,720) → u.resolution
Audit: No other hardcoded resolutions in effects.
All 36 tests pass. Ready for handoff.
handoff(Claude): Fixed auxiliary texture initialization order bug.
Main change: resize() called before init() in MainSequence.
Added guards for Renderer3D effects. Fixed hardcoded dimensions.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
|
Document the additional fix required for effects with Renderer3D members.
Explains why initialized_ flag is needed instead of ctx_.device check.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
|
Documents the "half resolution" bug, root cause analysis, and
solution decision (resize before init vs lazy initialization).
Key points:
- Problem: Auxiliary textures created with default dimensions
- Root cause: init() called before resize()
- Solution: Swap order (resize → init) for 2-line fix
- Rejected: Lazy initialization (too complex, cascade effects)
Includes implementation details and guidelines for new effects.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|