<feed xmlns='http://www.w3.org/2005/Atom'>
<title>demo.git/src/shaders/math, 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-22T19:10:53Z</updated>
<entry>
<title>refactor(shaders): extract oct-normal encode/decode into math/normal snippet</title>
<updated>2026-03-22T19:10:53Z</updated>
<author>
<name>skal</name>
<email>pascal.massimino@gmail.com</email>
</author>
<published>2026-03-22T19:10:53Z</published>
<link rel='alternate' type='text/html' href='https://git.taar-o.com/demo.git/commit/?id=aa5c8e6730b03ea901ead59bc7cb1c31dac62012'/>
<id>urn:sha1:aa5c8e6730b03ea901ead59bc7cb1c31dac62012</id>
<content type='text'>
New src/shaders/math/normal.wgsl: oct_encode, oct_decode, oct_encode_unorm,
oct_decode_unorm. Registered in InitShaderComposer as "math/normal".
Removed inline copies from gbuf_raster.wgsl and gbuf_pack.wgsl.
18/18 tests passing.
</content>
</entry>
<entry>
<title>change dither_c64() signature to take 'dimension' directly</title>
<updated>2026-03-10T20:47:56Z</updated>
<author>
<name>skal</name>
<email>pascal.massimino@gmail.com</email>
</author>
<published>2026-03-10T20:47:56Z</published>
<link rel='alternate' type='text/html' href='https://git.taar-o.com/demo.git/commit/?id=58112b4fbc95d188ce2c001f84a810b2c57fe3c2'/>
<id>urn:sha1:58112b4fbc95d188ce2c001f84a810b2c57fe3c2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>rotating_cube: use VSOut, and store to yiq</title>
<updated>2026-03-10T08:33:41Z</updated>
<author>
<name>skal</name>
<email>pascal.massimino@gmail.com</email>
</author>
<published>2026-03-10T08:33:41Z</published>
<link rel='alternate' type='text/html' href='https://git.taar-o.com/demo.git/commit/?id=7ca40818e3d0401f97efae6fe876038df4f5bd00'/>
<id>urn:sha1:7ca40818e3d0401f97efae6fe876038df4f5bd00</id>
<content type='text'>
</content>
</entry>
<entry>
<title>NTSC: use 6-taps filtering instead of 12-tap</title>
<updated>2026-03-09T22:04:40Z</updated>
<author>
<name>skal</name>
<email>pascal.massimino@gmail.com</email>
</author>
<published>2026-03-09T22:04:40Z</published>
<link rel='alternate' type='text/html' href='https://git.taar-o.com/demo.git/commit/?id=dd0dba4bdfd5d742a190b86115bde5107329f8ab'/>
<id>urn:sha1:dd0dba4bdfd5d742a190b86115bde5107329f8ab</id>
<content type='text'>
</content>
</entry>
<entry>
<title>refactor: mv get_border_col() to color_c64.wgsl as get_border_c64()</title>
<updated>2026-03-09T07:50:52Z</updated>
<author>
<name>skal</name>
<email>pascal.massimino@gmail.com</email>
</author>
<published>2026-03-09T07:50:52Z</published>
<link rel='alternate' type='text/html' href='https://git.taar-o.com/demo.git/commit/?id=7e7615075b666bfaec5f07f727da85c724b64399'/>
<id>urn:sha1:7e7615075b666bfaec5f07f727da85c724b64399</id>
<content type='text'>
</content>
</entry>
<entry>
<title>refactor: extract YIQ and C64 dither to common WGSL shaders</title>
<updated>2026-03-09T07:44:09Z</updated>
<author>
<name>skal</name>
<email>pascal.massimino@gmail.com</email>
</author>
<published>2026-03-09T07:44:09Z</published>
<link rel='alternate' type='text/html' href='https://git.taar-o.com/demo.git/commit/?id=9f53f8cbeb599dafc57ed80193b79e2c48700376'/>
<id>urn:sha1:9f53f8cbeb599dafc57ed80193b79e2c48700376</id>
<content type='text'>
- math/color.wgsl: add rgba_to_yiqa, yiqa_to_rgba, rgba_to_luma_chroma_phase
- math/color_c64.wgsl: new file with C64 palette, Bayer 8x8, Dither()
- ntsc.wgsl: include both, remove local duplicates; Dither() now takes xsize/ysize

handoff(Claude): YIQ/dither helpers now reusable by other effects
</content>
</entry>
<entry>
<title>ntsc effect for real</title>
<updated>2026-03-08T22:38:11Z</updated>
<author>
<name>skal</name>
<email>pascal.massimino@gmail.com</email>
</author>
<published>2026-03-08T22:38:11Z</published>
<link rel='alternate' type='text/html' href='https://git.taar-o.com/demo.git/commit/?id=ad0f386e1b5cd9148ad278c7f016734af00cd0bc'/>
<id>urn:sha1:ad0f386e1b5cd9148ad278c7f016734af00cd0bc</id>
<content type='text'>
</content>
</entry>
<entry>
<title>refactor: move common/shaders/ to src/shaders/</title>
<updated>2026-02-28T08:08:57Z</updated>
<author>
<name>skal</name>
<email>pascal.massimino@gmail.com</email>
</author>
<published>2026-02-28T08:08:57Z</published>
<link rel='alternate' type='text/html' href='https://git.taar-o.com/demo.git/commit/?id=9ee410594a52cbc699b13de2bde4860d70c959a3'/>
<id>urn:sha1:9ee410594a52cbc699b13de2bde4860d70c959a3</id>
<content type='text'>
Relocates shared WGSL shaders under src/ where all source code lives,
eliminating the top-level common/ directory.

- Update asset references in workspaces/main/assets.txt and workspaces/test/assets.txt
- Update docs: PROJECT_CONTEXT.md, ARCHITECTURE.md, WORKSPACE_SYSTEM.md, SHADER_REUSE_INVESTIGATION.md

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