<feed xmlns='http://www.w3.org/2005/Atom'>
<title>demo.git/workspaces/main/shaders/cnn, 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:52:48Z</updated>
<entry>
<title>archive(cnn): move CNN v1 to cnn_v1/ subdirectory</title>
<updated>2026-02-15T17:52:48Z</updated>
<author>
<name>skal</name>
<email>pascal.massimino@gmail.com</email>
</author>
<published>2026-02-15T17:52:48Z</published>
<link rel='alternate' type='text/html' href='https://git.taar-o.com/demo.git/commit/?id=d4b67e2f6ab48ab9ec658140be4f1999f604559a'/>
<id>urn:sha1:d4b67e2f6ab48ab9ec658140be4f1999f604559a</id>
<content type='text'>
Consolidate CNN v1 (CNNEffect) into dedicated directory:
- C++ effect: src/effects → cnn_v1/src/
- Shaders: workspaces/main/shaders/cnn → cnn_v1/shaders/
- Training: training/train_cnn.py → cnn_v1/training/
- Docs: doc/CNN*.md → cnn_v1/docs/

Updated all references:
- CMake source list
- C++ includes (relative paths: ../../cnn_v1/src/)
- Asset paths (../../cnn_v1/shaders/)
- Documentation cross-references

CNN v1 remains active in timeline. For new work, use CNN v2 with
enhanced features (7D static, storage buffer, sigmoid activation).

Tests: 34/34 passing (100%)
</content>
</entry>
<entry>
<title>add trained layers</title>
<updated>2026-02-11T23:10:36Z</updated>
<author>
<name>skal</name>
<email>pascal.massimino@gmail.com</email>
</author>
<published>2026-02-11T23:10:36Z</published>
<link rel='alternate' type='text/html' href='https://git.taar-o.com/demo.git/commit/?id=4e0b7c040c3e45c66767b936a8058f76bcc31bf1'/>
<id>urn:sha1:4e0b7c040c3e45c66767b936a8058f76bcc31bf1</id>
<content type='text'>
+misc
</content>
</entry>
<entry>
<title>docs: Update CNN comments and add bias fix summary</title>
<updated>2026-02-11T22:25:09Z</updated>
<author>
<name>skal</name>
<email>pascal.massimino@gmail.com</email>
</author>
<published>2026-02-11T22:25:09Z</published>
<link rel='alternate' type='text/html' href='https://git.taar-o.com/demo.git/commit/?id=75b820e1d5be15b0187bb201ca432157b4049bc5'/>
<id>urn:sha1:75b820e1d5be15b0187bb201ca432157b4049bc5</id>
<content type='text'>
- Fix stale comments: RGBD→RGB (not grayscale)
- Clarify shape transformations in inference
- Add CNN_BIAS_FIX_2026-02.md consolidating recent fixes
- Include regenerated weights with 5x5 kernel for layer 0

Co-Authored-By: Claude Sonnet 4.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>fix: CNN bias accumulation and output format improvements</title>
<updated>2026-02-11T22:13:43Z</updated>
<author>
<name>skal</name>
<email>pascal.massimino@gmail.com</email>
</author>
<published>2026-02-11T22:13:43Z</published>
<link rel='alternate' type='text/html' href='https://git.taar-o.com/demo.git/commit/?id=8ff8c56cd68d9e785cf6cb36ce1fc2bdc54ac15a'/>
<id>urn:sha1:8ff8c56cd68d9e785cf6cb36ce1fc2bdc54ac15a</id>
<content type='text'>
- Fix bias division bug: divide by num_positions to compensate for
  shader loop accumulation (affects all layers)
- train_cnn.py: Save RGBA output preserving alpha channel from input
- Add --debug-hex flag to both tools for pixel-level debugging
- Remove sRGB/linear_png debug code from cnn_test
- Regenerate weights with corrected bias export

Co-Authored-By: Claude Sonnet 4.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>update cnn code</title>
<updated>2026-02-11T16:23:07Z</updated>
<author>
<name>skal</name>
<email>pascal.massimino@gmail.com</email>
</author>
<published>2026-02-11T16:23:07Z</published>
<link rel='alternate' type='text/html' href='https://git.taar-o.com/demo.git/commit/?id=46e0935ba3b241dcd0e965e492ef8fa270b537ea'/>
<id>urn:sha1:46e0935ba3b241dcd0e965e492ef8fa270b537ea</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix: Register cnn_conv1x1 snippet and add verification</title>
<updated>2026-02-11T15:06:16Z</updated>
<author>
<name>skal</name>
<email>pascal.massimino@gmail.com</email>
</author>
<published>2026-02-11T15:06:16Z</published>
<link rel='alternate' type='text/html' href='https://git.taar-o.com/demo.git/commit/?id=09eba6004eb5faa5273e310ca560bfd41e1bc901'/>
<id>urn:sha1:09eba6004eb5faa5273e310ca560bfd41e1bc901</id>
<content type='text'>
- Add cnn_conv1x1 to shader composer registration
- Add VerifyIncludes() to detect missing snippet registrations
- STRIP_ALL-protected verification warns about unregistered includes
- Fixes cnn_test runtime failure loading cnn_layer.wgsl

Co-Authored-By: Claude Sonnet 4.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>fix: Move sigmoid activation to call site in CNN layer shader</title>
<updated>2026-02-11T09:10:11Z</updated>
<author>
<name>skal</name>
<email>pascal.massimino@gmail.com</email>
</author>
<published>2026-02-11T09:10:11Z</published>
<link rel='alternate' type='text/html' href='https://git.taar-o.com/demo.git/commit/?id=7dd1ac57178055aa8407777d4fb03787e21e6f66'/>
<id>urn:sha1:7dd1ac57178055aa8407777d4fb03787e21e6f66</id>
<content type='text'>
Conv functions now return raw sum, sigmoid applied at call site.
Matches tanh pattern used for inner layers.

Co-Authored-By: Claude Sonnet 4.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>fix: Replace clamp with sigmoid in CNN final layer</title>
<updated>2026-02-11T09:07:58Z</updated>
<author>
<name>skal</name>
<email>pascal.massimino@gmail.com</email>
</author>
<published>2026-02-11T09:07:58Z</published>
<link rel='alternate' type='text/html' href='https://git.taar-o.com/demo.git/commit/?id=d56de04a4b1f19b9fa73e6f7f9c7a5a0eadd6dd3'/>
<id>urn:sha1:d56de04a4b1f19b9fa73e6f7f9c7a5a0eadd6dd3</id>
<content type='text'>
Final layer used hard clamp causing saturation to white when output &gt; 1.0.
Replaced with sigmoid activation for smooth [0,1] mapping with gradients.

Changes:
- train_cnn.py: torch.sigmoid() in forward pass and WGSL codegen
- WGSL shaders: 1.0/(1.0+exp(-sum)) in cnn_conv3x3/5x5 _7to1 functions

Co-Authored-By: Claude Sonnet 4.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>format .wgsl layer code (cosmetics)</title>
<updated>2026-02-11T08:18:18Z</updated>
<author>
<name>skal</name>
<email>pascal.massimino@gmail.com</email>
</author>
<published>2026-02-11T08:18:18Z</published>
<link rel='alternate' type='text/html' href='https://git.taar-o.com/demo.git/commit/?id=66a489f64209925ec9615c9f6c4907e4e3caf9e2'/>
<id>urn:sha1:66a489f64209925ec9615c9f6c4907e4e3caf9e2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>opt: Move invariant in1 calculation outside CNN convolution loops</title>
<updated>2026-02-10T23:26:25Z</updated>
<author>
<name>skal</name>
<email>pascal.massimino@gmail.com</email>
</author>
<published>2026-02-10T23:26:25Z</published>
<link rel='alternate' type='text/html' href='https://git.taar-o.com/demo.git/commit/?id=c49d828f101b435d73a76fcfc8444cf76aeda22f'/>
<id>urn:sha1:c49d828f101b435d73a76fcfc8444cf76aeda22f</id>
<content type='text'>
The in1 vector (uv_norm, gray, 1.0) is loop-invariant and doesn't depend on
dx/dy offset. Moving it outside the convolution loop eliminates redundant
computation and enables better SIMD optimization.

Updated both shader files and train.py code generation.

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