<feed xmlns='http://www.w3.org/2005/Atom'>
<title>demo.git/tools/cnn_v2_test/index.html, 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-02-15T17:44:17Z</updated>
<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>
<entry>
<title>refactor(tools): consolidate common CSS for HTML tools</title>
<updated>2026-02-15T16:09:57Z</updated>
<author>
<name>skal</name>
<email>pascal.massimino@gmail.com</email>
</author>
<published>2026-02-15T16:09:57Z</published>
<link rel='alternate' type='text/html' href='https://git.taar-o.com/demo.git/commit/?id=f074964f9a39644fc2acd901b137eca345fdae5a'/>
<id>urn:sha1:f074964f9a39644fc2acd901b137eca345fdae5a</id>
<content type='text'>
Extract common styles from various tool HTML files (timeline, spectral, cnn_v2_test, etc.) into a shared stylesheet.

This reduces code duplication and improves maintainability of the tool frontends.

- Create a new 'tools/common/style.css' to house the shared rules.
- Update all tool HTML files to link to the new stylesheet.
- Remove redundant inline styles from individual HTML files.
</content>
</entry>
<entry>
<title>CNN v2: bilinear mip-level sampling and UI improvements</title>
<updated>2026-02-14T06:24:51Z</updated>
<author>
<name>skal</name>
<email>pascal.massimino@gmail.com</email>
</author>
<published>2026-02-14T06:22:17Z</published>
<link rel='alternate' type='text/html' href='https://git.taar-o.com/demo.git/commit/?id=0f53ed1ed8ed7c07cd7ea8e88e21b5be5d5494e5'/>
<id>urn:sha1:0f53ed1ed8ed7c07cd7ea8e88e21b5be5d5494e5</id>
<content type='text'>
**CNN v2 Changes:**
- Replace point sampling with bilinear interpolation for mip-level features
- Add linear sampler (binding 6) to static features shader
- Update CNNv2Effect, cnn_test, and HTML tool

**HTML Tool UI:**
- Move controls to floating bottom bar in central view
- Consolidate video controls + Blend/Depth/Save PNG in single container
- Increase left panel width: 300px → 315px (+5%)
- Remove per-frame debug messages (visualization, rendering logs)

**Technical:**
- WGSL: textureSample() with linear_sampler vs textureLoad()
- C++: Create WGPUSampler with Linear filtering
- HTML: Change sampler from 'nearest' to 'linear'

handoff(Claude): CNN v2 now uses bilinear mip-level sampling across all tools
</content>
</entry>
<entry>
<title>Replace hard clamp with sigmoid activation in CNN v2</title>
<updated>2026-02-14T01:12:12Z</updated>
<author>
<name>skal</name>
<email>pascal.massimino@gmail.com</email>
</author>
<published>2026-02-14T01:12:12Z</published>
<link rel='alternate' type='text/html' href='https://git.taar-o.com/demo.git/commit/?id=043044ae7563c2f92760c428765e35b411da82ea'/>
<id>urn:sha1:043044ae7563c2f92760c428765e35b411da82ea</id>
<content type='text'>
Fixes training collapse where p1/p2 channels saturate due to gradient
blocking at clamp boundaries. Sigmoid provides smooth [0,1] mapping
with continuous gradients.

Changes:
- Layer 0: clamp(x, 0, 1) → sigmoid(x)
- Final layer: clamp(x, 0, 1) → sigmoid(x)
- Middle layers: ReLU unchanged (already stable)

Updated files:
- training/train_cnn_v2.py: PyTorch model activations
- workspaces/main/shaders/cnn_v2/cnn_v2_compute.wgsl: WGSL shader
- tools/cnn_v2_test/index.html: HTML validation tool
- doc/CNN_V2.md: Documentation

Validation:
- Build clean (no shader errors)
- 34/36 tests pass (2 unrelated script tests fail)
- 10-epoch training: loss 0.153 → 0.088 (good convergence)
- cnn_test processes images successfully

Breaking change: Old checkpoints trained with clamp() incompatible.
Retrain from scratch required.

handoff(Claude): CNN v2 sigmoid activation implemented and validated.
</content>
</entry>
<entry>
<title>CNN v2 web tool: Remove vizScale, always show raw layer values</title>
<updated>2026-02-13T23:54:40Z</updated>
<author>
<name>skal</name>
<email>pascal.massimino@gmail.com</email>
</author>
<published>2026-02-13T23:54:40Z</published>
<link rel='alternate' type='text/html' href='https://git.taar-o.com/demo.git/commit/?id=ee58ffce299eca055e5668381061cd996d6fd4f6'/>
<id>urn:sha1:ee58ffce299eca055e5668381061cd996d6fd4f6</id>
<content type='text'>
Always use vizScale=1.0 for all layers. Shader clips to [0,1] for display.
Shows exact layer output values without artificial dimming.

Co-Authored-By: Claude Sonnet 4.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>CNN v2 web tool: Fix vizScale for final layer preview</title>
<updated>2026-02-13T23:53:43Z</updated>
<author>
<name>skal</name>
<email>pascal.massimino@gmail.com</email>
</author>
<published>2026-02-13T23:53:43Z</published>
<link rel='alternate' type='text/html' href='https://git.taar-o.com/demo.git/commit/?id=1d9f8dafab473e9660614a1970be3a1bfeada0e0'/>
<id>urn:sha1:1d9f8dafab473e9660614a1970be3a1bfeada0e0</id>
<content type='text'>
Final layer output is clamped [0,1] and should use vizScale=1.0
like static features, not 0.5 like middle layers (unbounded ReLU).

Before: All layers except static used 0.5 (too dark)
After: Static + final layer use 1.0, middle layers use 0.5

Fixes brightness mismatch between big preview and thumbnails.

Co-Authored-By: Claude Sonnet 4.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>CNN v2 tool: Fix off-by-one in composited layer filenames</title>
<updated>2026-02-13T23:37:02Z</updated>
<author>
<name>skal</name>
<email>pascal.massimino@gmail.com</email>
</author>
<published>2026-02-13T23:37:02Z</published>
<link rel='alternate' type='text/html' href='https://git.taar-o.com/demo.git/commit/?id=8b8b041f2b3437945c173b675d5daa08498f08dc'/>
<id>urn:sha1:8b8b041f2b3437945c173b675d5daa08498f08dc</id>
<content type='text'>
currentLayerIdx indexes layerOutputs array (0=Static Features, 1=Layer 0).
Filename should use layer number, not array index.

Co-Authored-By: Claude Sonnet 4.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>CNN v2: Remove vizScale, always clip to [0,1]</title>
<updated>2026-02-13T22:42:53Z</updated>
<author>
<name>skal</name>
<email>pascal.massimino@gmail.com</email>
</author>
<published>2026-02-13T22:42:53Z</published>
<link rel='alternate' type='text/html' href='https://git.taar-o.com/demo.git/commit/?id=112d7f82a4fccbe26ae2b4696d87464494253ce1'/>
<id>urn:sha1:112d7f82a4fccbe26ae2b4696d87464494253ce1</id>
<content type='text'>
All layers now use scale 1.0, shader clamps values &gt;1.

Co-Authored-By: Claude Sonnet 4.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>CNN v2: Fix Layer 0 visualization scale (was 0.5, now 1.0)</title>
<updated>2026-02-13T22:40:30Z</updated>
<author>
<name>skal</name>
<email>pascal.massimino@gmail.com</email>
</author>
<published>2026-02-13T22:40:30Z</published>
<link rel='alternate' type='text/html' href='https://git.taar-o.com/demo.git/commit/?id=25044d63057cdb134cc3930bb67b178cff1aebb4'/>
<id>urn:sha1:25044d63057cdb134cc3930bb67b178cff1aebb4</id>
<content type='text'>
Layer 0 output is clamped [0,1], does not need 0.5 dimming.
Middle layers (ReLU) keep 0.5 scale for values &gt;1.

Co-Authored-By: Claude Sonnet 4.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>CNN v2: Add debugging tools for mismatch investigation</title>
<updated>2026-02-13T22:32:32Z</updated>
<author>
<name>skal</name>
<email>pascal.massimino@gmail.com</email>
</author>
<published>2026-02-13T22:32:32Z</published>
<link rel='alternate' type='text/html' href='https://git.taar-o.com/demo.git/commit/?id=87a27bf022d7fba68e3a945ee29c854c6e1ae2d7'/>
<id>urn:sha1:87a27bf022d7fba68e3a945ee29c854c6e1ae2d7</id>
<content type='text'>
Add identity weight generator and composited layer save for debugging
HTML/C++ output differences.

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