diff options
| author | skal <pascal.massimino@gmail.com> | 2026-02-09 12:37:57 +0100 |
|---|---|---|
| committer | skal <pascal.massimino@gmail.com> | 2026-02-09 12:37:57 +0100 |
| commit | 655d0a627c17b598562616a269e53bf06124d43f (patch) | |
| tree | 7af4bba4fd413ec3dc2fc0c9ac55d1c010732f8a /doc/COMPLETED.md | |
| parent | 9f470ce9c629b8756a3b1b8b9d30e8cf643dbcbd (diff) | |
docs: Archive Feb 9 completed tasks and clarify build configs
- Move completed tasks (Uniform alignment, WGSL validation, test_demo fix) to COMPLETED.md
- Clean up TODO.md and PROJECT_CONTEXT.md "Recently Completed" sections
- Update HOWTO.md to clarify DEMO_ALL_OPTIONS enables STRIP_ALL
- Note: test_demo PeakMeterEffect requires non-STRIP build
Net: -26 lines (better context hygiene)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Diffstat (limited to 'doc/COMPLETED.md')
| -rw-r--r-- | doc/COMPLETED.md | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/doc/COMPLETED.md b/doc/COMPLETED.md index a3c173d..49cfbe9 100644 --- a/doc/COMPLETED.md +++ b/doc/COMPLETED.md @@ -29,7 +29,34 @@ Detailed historical documents have been moved to `doc/archive/` for reference: Use `read @doc/archive/FILENAME.md` to access archived documents. -## Recently Completed (February 8, 2026) +## Recently Completed (February 9, 2026) + +- [x] **WGSL Uniform Buffer Validation & Consolidation (Task #75)** + - **Goal**: Standardize uniform buffer usage across all post-process effects and add validation tooling + - **Implementation**: + - Refactored `DistortEffect` and others to use `CommonPostProcessUniforms` (binding 2) + `EffectParams` (binding 3) + - Created `tools/validate_uniforms.py` to parse C++ and WGSL (including embedded strings) and verify size/alignment + - Added validation step to CMake build system + - Renamed generic `EffectParams` to specific names (`FadeParams`, `CircleMaskParams`, etc.) in WGSL and C++ + - Added `doc/UNIFORM_BUFFER_GUIDELINES.md` and updated `CONTRIBUTING.md` + - **Result**: Consistent binding layout across all effects, automatic validation on build + +- [x] **Uniform Buffer Alignment (Task #74)** + - **Goal**: Fix WGSL struct alignment issues causing validation errors and crashes + - **Implementation**: + - `circle_mask_compute.wgsl`: Changed `_pad: vec3<f32>` to three `f32` fields for correct 16-byte alignment + - `fade_effect.cc`: Changed EffectParams padding from `vec3<f32>` to `_pad0/1/2: f32` + - `theme_modulation_effect.cc`: Same padding fix for EffectParams + - Fixed ODR violation in `demo_effects.h` (incomplete FadeEffect forward declaration) + - Renamed shadowing `uniforms_` members to `common_uniforms_`/`flash_uniforms_` + - **Result**: demo64k runs without crashes, 32/33 tests passing (97%), 0 WebGPU validation errors + +- [x] **Fix test_demo Black Screen** + - **Issue**: `test_demo` showed black screen because it failed to load its timeline sequence (`assets/test_demo.seq`) + - **Fix**: Added missing `LoadTimeline` call in `src/test_demo.cc` + - **Result**: `FlashEffect` and `PeakMeterEffect` now render correctly + +## Previously Completed (February 8, 2026) - [x] **Shader Parametrization System (Task #73 Phase 0)** (February 8, 2026) - **Goal**: Enable per-frame dynamic parameters for shaders and effects via uniform buffers and .seq syntax |
