| Age | Commit message (Expand) | Author |
| 9 days | style: apply clang-formatHEADmain | skal |
| 9 days | fix: correct WGPUTexelCopyBufferInfo initialization order | skal |
| 9 days | fix: code review cleanup — bugs, dead code, factorization, simplification | skal |
| 9 days | fix: code review cleanup — bugs, dead code, factorization (-167 lines) | skal |
| 2026-03-26 | chore(src/gpu): remove stale cnn_v1/v2 artifacts and dead comments | skal |
| 2026-03-26 | feat(cnn_v3): upgrade architecture to enc_channels=[8,16] | skal |
| 2026-03-23 | feat(gbuffer): wire_dag() + find_downstream_output() for temporal feedback | skal |
| 2026-03-23 | feat(cnn_v3): GBufferEffect temporal feedback via post_render() | skal |
| 2026-03-22 | feat(cnn_v3): GBufDeferredEffect — simple deferred render (albedo * shadow) | skal |
| 2026-03-22 | feat(cnn_v3): add G-buffer visualizer + web sample loader (Phase 7) | skal |
| 2026-03-21 | feat(cnn_v3): Phase 5 complete — parity validation passing (36/36 tests) | skal |
| 2026-03-21 | feat(cnn_v3): Phase 4 complete — CNNv3Effect C++ + FiLM uniform upload | skal |
| 2026-03-20 | feat(cnn_v3): Phase 1 complete - GBufferEffect integrated + HOWTO playbook | skal |
| 2026-03-20 | feat(cnn_v3): G-buffer phase 1 + training infrastructure | skal |
| 2026-03-12 | fix(win): update wgpu-native to v27, unify Windows/macOS API paths | skal |
| 2026-03-11 | fix(headless): add missing sampler/texture stubs to gpu_headless.cc | skal |
| 2026-03-08 | fix: transpose matrices on GPU upload (row-major → column-major) | skal |
| 2026-03-07 | feat(effects): add Ntsc post-process effect with fisheye distortion | skal |
| 2026-03-07 | refactor(effects): introduce WgslEffect for shader-only post-process effects | skal |
| 2026-03-06 | feat(effects): add Scratch post-process effect with reusable scratch_lines sn... | skal |
| 2026-03-05 | style: run clang-format to adhere to coding style | skal |
| 2026-02-28 | fix(tools/shadertoy): fix Next Steps instructions and update EFFECT_WORKFLOW.md | skal |
| 2026-02-28 | misc: cleanup comments and formatting in headers | skal |
| 2026-02-28 | refactor(gpu): move RenderPipelineBuilder impl to pipeline_builder.cc | skal |
| 2026-02-28 | refactor(gpu): move SamplerCache impl to .cc, expose single entry point | skal |
| 2026-02-28 | remove SDFEffect base class and sdf_test, update SDF_EFFECT_GUIDE | skal |
| 2026-02-28 | remove vestigial demo_effects.cc | skal |
| 2026-02-28 | fix: double-free of external views in NodeRegistry and PASSTHROUGH shader test | skal |
| 2026-02-28 | fix(shaders): deduplicate VertexOutput/vs_main via render/fullscreen_uv_vs sn... | skal |
| 2026-02-20 | feat(sequence): port Scene1Effect + fix seq_compiler absolute time bug | skal |
| 2026-02-17 | feat(uniforms): Add noise field with per-frame random values | skal |
| 2026-02-17 | refactor(effects): Streamline uniforms initialization | skal |
| 2026-02-17 | refactor(gpu): Add RAII wrapper for WGPU resources to eliminate manual cleanup | skal |
| 2026-02-17 | refactor(effects): Factor shared initialization into Effect base class | skal |
| 2026-02-17 | docs(gpu): Purge comment bloat from GPU headers | skal |
| 2026-02-17 | refactor(gpu): Remove stale v2 references from demo_effects | skal |
| 2026-02-17 | fix(build): Resolve Windows cross-compilation failures | skal |
| 2026-02-17 | feat: Rename GPU stub and headless files and update references | skal |
| 2026-02-17 | style: replace C++ casts with C-style casts | skal |
| 2026-02-17 | refactor: centralize platform-specific code in gpu.h | skal |
| 2026-02-17 | feat: add time-based effect activation with auto-passthrough | skal |
| 2026-02-17 | style: Apply clang-format | skal |
| 2026-02-17 | refactor: move shaders.{h,cc} to src/effects and remove v2 suffix | skal |
| 2026-02-16 | fix: port Hybrid3D effect to sequence v2 architecture | skal |
| 2026-02-16 | feat: Add PeakMeterEffect v2 for test_demo audio visualization | skal |
| 2026-02-16 | fix: calculate beat_phase for FlashEffect and refactor uniforms | skal |
| 2026-02-16 | fix: load rotating_cube_v2 shader from asset instead of empty string | skal |
| 2026-02-16 | refactor(gpu): remove depthSlice conditionals, use platform.h abstraction | skal |
| 2026-02-16 | feat: Add FlashEffect for audio/visual sync testing | skal |
| 2026-02-16 | refactor(headless): convert nullptr checks to strippable macros | skal |