<feed xmlns='http://www.w3.org/2005/Atom'>
<title>demo.git/scripts, branch main</title>
<subtitle>Vide-coded 64k demo system</subtitle>
<id>https://git.taar-o.com/demo.git/atom?h=main</id>
<link rel='self' href='https://git.taar-o.com/demo.git/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://git.taar-o.com/demo.git/'/>
<updated>2026-03-26T06:40:45Z</updated>
<entry>
<title>chore(scripts): document and guard mingw-w64 setup</title>
<updated>2026-03-26T06:40:45Z</updated>
<author>
<name>skal</name>
<email>pascal.massimino@gmail.com</email>
</author>
<published>2026-03-26T06:40:45Z</published>
<link rel='alternate' type='text/html' href='https://git.taar-o.com/demo.git/commit/?id=667212bd5dea1c791cf140c184b31ffc2dce12ac'/>
<id>urn:sha1:667212bd5dea1c791cf140c184b31ffc2dce12ac</id>
<content type='text'>
- check_all.sh: guard Windows cross-compile step with command -v check
  instead of failing unconditionally; print install hint when skipped
- project_init.sh: add Linux/WSL setup path alongside existing macOS
  path — installs build-essential/cmake/glfw/wgpu-native via apt-get,
  prints mingw-w64 install hint if cross-compile toolchain is absent
</content>
</entry>
<entry>
<title>fix(tools): fetch stb_image_write.h in project_init.sh, fix cnn_test include path</title>
<updated>2026-03-22T11:57:14Z</updated>
<author>
<name>skal</name>
<email>pascal.massimino@gmail.com</email>
</author>
<published>2026-03-22T11:57:14Z</published>
<link rel='alternate' type='text/html' href='https://git.taar-o.com/demo.git/commit/?id=96b454743a2eac2ae1d4bdd38d7ca81cc4fd100b'/>
<id>urn:sha1:96b454743a2eac2ae1d4bdd38d7ca81cc4fd100b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>docs(init): add glfw as macOS brew dependency</title>
<updated>2026-03-19T17:48:17Z</updated>
<author>
<name>skal</name>
<email>pascal.massimino@gmail.com</email>
</author>
<published>2026-03-19T17:48:17Z</published>
<link rel='alternate' type='text/html' href='https://git.taar-o.com/demo.git/commit/?id=b311fd3747e3d3fa2b4e8daf54cc91f4de44a3cf'/>
<id>urn:sha1:b311fd3747e3d3fa2b4e8daf54cc91f4de44a3cf</id>
<content type='text'>
project_init.sh now checks/installs both wgpu-native and glfw via brew.
HOWTO.md documents the macOS prerequisites before the build steps.

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>fix(win): update wgpu-native to v27, unify Windows/macOS API paths</title>
<updated>2026-03-12T16:14:57Z</updated>
<author>
<name>skal</name>
<email>pascal.massimino@gmail.com</email>
</author>
<published>2026-03-12T16:14:57Z</published>
<link rel='alternate' type='text/html' href='https://git.taar-o.com/demo.git/commit/?id=efad11008616d30f685752fc70aa05be524c1a78'/>
<id>urn:sha1:efad11008616d30f685752fc70aa05be524c1a78</id>
<content type='text'>
- fetch_win_deps.sh: update wgpu-native v0.19.4.1 → v27.0.4.0 (same as macOS)
- platform.h: remove v0.19 compat shims, Windows now uses WGPUStringView API
- gpu.cc/gpu.h: remove DEMO_CROSS_COMPILE_WIN32 old-API branches
- texture_readback.cc, visual_debug.cc, hybrid3d_effect.cc: same cleanup
- rotating_cube_effect.cc: remove #ifdef guard for depthSlice
- glfw3webgpu.c: remove old WGPUSurfaceDescriptorFromWindowsHWND branch
- asset_manager.cc: fix DEMO_STRIP_ALL→STRIP_ALL guard (vs_main was missing
  in STRIP_ALL Windows builds because disk-loading path ran on embedded data)
- tracker.cc: skip MP3 assets gracefully in STRIP_ALL builds instead of fatal

handoff(Gemini): Windows .exe now runs under Wine. demo64k.exe renders frames
and progresses through audio timeline. Pre-existing test failures unchanged.

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>feat(tools): add offline WGSL validator + fix ntsc.wgsl syntax</title>
<updated>2026-03-07T20:18:42Z</updated>
<author>
<name>skal</name>
<email>pascal.massimino@gmail.com</email>
</author>
<published>2026-03-07T20:18:42Z</published>
<link rel='alternate' type='text/html' href='https://git.taar-o.com/demo.git/commit/?id=22d46b3bb47fa175e5227e27e1e7273805e2094e'/>
<id>urn:sha1:22d46b3bb47fa175e5227e27e1e7273805e2094e</id>
<content type='text'>
- scripts/validate_shaders.py: compose #includes then validate with naga-cli
  (mirrors InitShaderComposer snippet map; skips runtime-substitution shaders)
- src/effects/ntsc.wgsl: remove broken GLSL-syntax vignette() function
  (GLSL const/param syntax, f32→vec2f assignment; inline vignette at line 55
  already handles darkening)

handoff(Gemini): validator at scripts/validate_shaders.py; install naga with
  cargo install naga-cli; 29/29 shaders pass

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>docs(build): add WSL (Windows 10) build support and documentation</title>
<updated>2026-02-23T08:16:54Z</updated>
<author>
<name>skal</name>
<email>pascal.massimino@gmail.com</email>
</author>
<published>2026-02-23T08:16:54Z</published>
<link rel='alternate' type='text/html' href='https://git.taar-o.com/demo.git/commit/?id=c906cb0e048ef7cd32f636f1692a0c72a5d206b7'/>
<id>urn:sha1:c906cb0e048ef7cd32f636f1692a0c72a5d206b7</id>
<content type='text'>
- build_win.sh: platform-aware MinGW DLL search (macOS Homebrew vs Linux apt paths)
- HOWTO.md: new WSL section covering native Linux build and Windows cross-compile
- PROJECT_CONTEXT.md: note WSL support in Build status

handoff(Gemini): WSL native + cross-compile build support added.

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>fix(build): Resolve Windows cross-compilation failures</title>
<updated>2026-02-17T10:00:51Z</updated>
<author>
<name>skal</name>
<email>pascal.massimino@gmail.com</email>
</author>
<published>2026-02-17T10:00:51Z</published>
<link rel='alternate' type='text/html' href='https://git.taar-o.com/demo.git/commit/?id=a30a9878fe083240dbd98ae4ca93339cd8a8d667'/>
<id>urn:sha1:a30a9878fe083240dbd98ae4ca93339cd8a8d667</id>
<content type='text'>
This commit fixes several issues that caused the Windows cross-compilation build (`scripts/build_win.sh`) to fail.

The root causes were platform-specific API differences in the wgpu-native library and incorrect dependency tracking in the CMake build system for generated code.

Changes:
- **`tools/seq_compiler.py`**: The timeline generator now wraps `depthSlice` assignments in `#if !defined(DEMO_CROSS_COMPILE_WIN32)` directives to handle API differences in `WGPURenderPassColorAttachment`.
- **`src/gpu/gpu.h`**: The `gpu_init_color_attachment` helper is now platform-aware, using a preprocessor guard for the `depthSlice` member.
- **`src/effects/*.cc`**: All effects are updated to use the new platform-aware helper or have explicit guards for `depthSlice`. Also, replaced `WGPUTexelCopyTextureInfo` with the cross-platform alias `GpuTextureCopyInfo` in `rotating_cube_effect.cc`.
- **`cmake`**: Added `tools/seq_compiler.py` as an explicit dependency to the `generate_timeline` and `generate_test_demo_timeline` custom commands. This ensures that changes to the generator script correctly trigger a rebuild of the generated C++ files.
- **`scripts/build_win.sh`**: Removed the erroneous attempt to build the `seq_compiler.py` script as a native executable.

With these changes, the Windows cross-compilation build now completes successfully.
</content>
</entry>
<entry>
<title>feat: add time-based effect activation with auto-passthrough</title>
<updated>2026-02-17T07:46:01Z</updated>
<author>
<name>skal</name>
<email>pascal.massimino@gmail.com</email>
</author>
<published>2026-02-17T07:46:01Z</published>
<link rel='alternate' type='text/html' href='https://git.taar-o.com/demo.git/commit/?id=7041babc9e5333d01191f3eb80fd711bd26cd4f7'/>
<id>urn:sha1:7041babc9e5333d01191f3eb80fd711bd26cd4f7</id>
<content type='text'>
Effects now accept start/end time parameters and automatically passthrough
when inactive. Implements buffer chain integrity via compile-time validation.

- Effect base class: dispatch_render() checks time bounds, auto-passthroughs
  1:1 input/output effects outside [start, end] interval
- seq_compiler.py: validates producer/consumer lifespan constraints for
  multi-output effects, adds --validate flag, always validates before codegen
- Updated all 9 effect classes and test fixtures to pass start/end times
- check_all.sh: includes timeline validation step
- Tests: 34/34 passing, demo runs successfully

Co-Authored-By: Claude Sonnet 4.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>feat: Update check_all.sh to include headless and coverage builds</title>
<updated>2026-02-16T14:28:01Z</updated>
<author>
<name>skal</name>
<email>pascal.massimino@gmail.com</email>
</author>
<published>2026-02-16T14:28:01Z</published>
<link rel='alternate' type='text/html' href='https://git.taar-o.com/demo.git/commit/?id=988422ed8ba4a3f96081aeeb722b9832716d61af'/>
<id>urn:sha1:988422ed8ba4a3f96081aeeb722b9832716d61af</id>
<content type='text'>
Fixes headless build by skipping GPU/3D tests.

handoff(Gemini): The check_all.sh script now verifies all compilation modes (native, headless, coverage, Windows cross-compilation) and correctly skips GPU/3D tests in headless mode. All checks pass.
</content>
</entry>
<entry>
<title>refactor(cnn): isolate CNN v2 to cnn_v2/ subdirectory</title>
<updated>2026-02-15T17:44:17Z</updated>
<author>
<name>skal</name>
<email>pascal.massimino@gmail.com</email>
</author>
<published>2026-02-15T17:44:17Z</published>
<link rel='alternate' type='text/html' href='https://git.taar-o.com/demo.git/commit/?id=161a59fa50bb92e3664c389fa03b95aefe349b3f'/>
<id>urn:sha1:161a59fa50bb92e3664c389fa03b95aefe349b3f</id>
<content type='text'>
Move all CNN v2 files to dedicated cnn_v2/ directory to prepare for CNN v3 development. Zero functional changes.

Structure:
- cnn_v2/src/ - C++ effect implementation
- cnn_v2/shaders/ - WGSL shaders (6 files)
- cnn_v2/weights/ - Binary weights (3 files)
- cnn_v2/training/ - Python training scripts (4 files)
- cnn_v2/scripts/ - Shell scripts (train_cnn_v2_full.sh)
- cnn_v2/tools/ - Validation tools (HTML)
- cnn_v2/docs/ - Documentation (4 markdown files)

Changes:
- Update CMake source list to cnn_v2/src/cnn_v2_effect.cc
- Update assets.txt with relative paths to cnn_v2/
- Update includes to ../../cnn_v2/src/cnn_v2_effect.h
- Add PROJECT_ROOT resolution to Python/shell scripts
- Update doc references in HOWTO.md, TODO.md
- Add cnn_v2/README.md

Verification: 34/34 tests passing, demo runs correctly.

Co-Authored-By: Claude Sonnet 4.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
</feed>
