<feed xmlns='http://www.w3.org/2005/Atom'>
<title>demo.git/workspaces/test, 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-08T08:36:02Z</updated>
<entry>
<title>fix: Correct and simplify test asset manifest</title>
<updated>2026-03-08T08:36:02Z</updated>
<author>
<name>skal</name>
<email>pascal.massimino@gmail.com</email>
</author>
<published>2026-03-08T08:36:02Z</published>
<link rel='alternate' type='text/html' href='https://git.taar-o.com/demo.git/commit/?id=8358ce4a9a2b6e683f75474cb338d10675776629'/>
<id>urn:sha1:8358ce4a9a2b6e683f75474cb338d10675776629</id>
<content type='text'>
Updated 'workspaces/test/assets.txt' to use the new explicit asset types, resolving a compilation error in the generated test assets.

Also, streamlined the asset list to include only a few representative examples, which will result in a more concise and focused generated test file.
</content>
</entry>
<entry>
<title>test(assets): add MP3 asset type test (TEST_MP3/ASSET_TEST_MP3)</title>
<updated>2026-03-03T08:11:27Z</updated>
<author>
<name>skal</name>
<email>pascal.massimino@gmail.com</email>
</author>
<published>2026-03-03T08:11:27Z</published>
<link rel='alternate' type='text/html' href='https://git.taar-o.com/demo.git/commit/?id=e0be1ff83f6da41f37ac806428bcb0ce7f0e4b32'/>
<id>urn:sha1:e0be1ff83f6da41f37ac806428bcb0ce7f0e4b32</id>
<content type='text'>
Adds a minimal test.mp3 fixture to the test workspace and verifies
GetAssetType returns AssetType::MP3 and GetAsset returns non-null data.

handoff(Gemini): MP3 asset test added, 34/34 tests passing.

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>feat(assets): replace is_procedural/is_gpu_procedural bools with AssetType enum, add MP3 type</title>
<updated>2026-03-03T08:00:50Z</updated>
<author>
<name>skal</name>
<email>pascal.massimino@gmail.com</email>
</author>
<published>2026-03-03T08:00:50Z</published>
<link rel='alternate' type='text/html' href='https://git.taar-o.com/demo.git/commit/?id=d572203c41cfff817465fc3cddcdea56d5d7d9f8'/>
<id>urn:sha1:d572203c41cfff817465fc3cddcdea56d5d7d9f8</id>
<content type='text'>
- Add AssetType enum {STATIC, PROC, PROC_GPU, MP3} to AssetRecord
- Add GetAssetType() API to asset_manager.h/cc
- asset_packer: parse 'MP3' compression keyword in assets.txt
- tracker: remove magic-byte is_mp3_asset(); use GetAssetType() instead
- assets.txt: NEVER_MP3 now uses 'MP3' compression type
- doc/ASSET_SYSTEM.md: rewritten to document new types and API

handoff(Gemini): AssetType enum landed; MP3 detection is now explicit via asset metadata.
</content>
</entry>
<entry>
<title>refactor(effects): co-locate effect WGSL shaders with their .h/.cc in src/effects/</title>
<updated>2026-02-28T10:50:13Z</updated>
<author>
<name>skal</name>
<email>pascal.massimino@gmail.com</email>
</author>
<published>2026-02-28T10:50:13Z</published>
<link rel='alternate' type='text/html' href='https://git.taar-o.com/demo.git/commit/?id=b9c2a0394343ff3586880d118b7d549b3e748cad'/>
<id>urn:sha1:b9c2a0394343ff3586880d118b7d549b3e748cad</id>
<content type='text'>
Move 13 effect-specific shaders from workspaces/main/shaders/ to src/effects/
so each effect's .h, .cc, and .wgsl are together. Update assets.txt paths in
both main and test workspaces. Update EFFECT_WORKFLOW.md to reflect new location.
Shared/reusable snippets remain in src/shaders/.

handoff(Gemini): shaders moved; src/effects/ now has .h, .cc, and .wgsl per effect.

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</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>
<entry>
<title>fix(shaders): deduplicate VertexOutput/vs_main via render/fullscreen_uv_vs snippet</title>
<updated>2026-02-27T23:51:27Z</updated>
<author>
<name>skal</name>
<email>pascal.massimino@gmail.com</email>
</author>
<published>2026-02-27T23:39:32Z</published>
<link rel='alternate' type='text/html' href='https://git.taar-o.com/demo.git/commit/?id=75e561bd092895a031ae4475f7d1fdc35b1b1832'/>
<id>urn:sha1:75e561bd092895a031ae4475f7d1fdc35b1b1832</id>
<content type='text'>
- Fix vs_main return type (VertexOutput, not vec4&lt;f32&gt;)
- Fix #include paths in passthrough, gaussian_blur, heptagon, combined_postprocess
- ShaderComposer: assert + suggest correct path on missing #include (non-STRIP_ALL)
- VerifyIncludes: upgrade WARNING to ERROR + assert, add "did you mean?" hint

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>split raymarching.wgsl in two: with id, or without id.</title>
<updated>2026-02-21T08:33:40Z</updated>
<author>
<name>skal</name>
<email>pascal.massimino@gmail.com</email>
</author>
<published>2026-02-21T08:33:40Z</published>
<link rel='alternate' type='text/html' href='https://git.taar-o.com/demo.git/commit/?id=1dad17db104f671aa0e913143a95826078892ed5'/>
<id>urn:sha1:1dad17db104f671aa0e913143a95826078892ed5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat(test): Add PeakMeter overlay to test_demo timeline</title>
<updated>2026-02-17T11:55:13Z</updated>
<author>
<name>skal</name>
<email>pascal.massimino@gmail.com</email>
</author>
<published>2026-02-17T11:55:13Z</published>
<link rel='alternate' type='text/html' href='https://git.taar-o.com/demo.git/commit/?id=a32c7456588abf4f44866d0c055fa94d105e8ef7'/>
<id>urn:sha1:a32c7456588abf4f44866d0c055fa94d105e8ef7</id>
<content type='text'>
Adds audio intensity visualization for debugging audio-visual sync.

Co-Authored-By: Claude Sonnet 4.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>feat: add Sequence V2 format support to timeline editor</title>
<updated>2026-02-17T06:52:48Z</updated>
<author>
<name>skal</name>
<email>pascal.massimino@gmail.com</email>
</author>
<published>2026-02-17T06:52:48Z</published>
<link rel='alternate' type='text/html' href='https://git.taar-o.com/demo.git/commit/?id=cd53ff0be8971b592d8d01836a6572c4123e5495'/>
<id>urn:sha1:cd53ff0be8971b592d8d01836a6572c4123e5495</id>
<content type='text'>
Implements full support for the sequence v2 DAG format with explicit
node routing and arrow syntax.

New features:
- timeline-format.js module for parsing/serializing v2 format
- NODE declarations with typed buffers (u8x4_norm, f32x4, etc.)
- Arrow syntax for effect routing: input1 input2 -&gt; output1 output2
- Buffer chain visualization in properties panel and tooltips
- Node editor modal for adding/deleting node declarations
- Validation for undeclared node references (when NODEs explicit)
- Backward compatible with auto-inferred nodes

Files added:
- tools/timeline_editor/timeline-format.js (214 lines)
- tools/timeline_editor/test_format.html (automated tests)
- workspaces/test/timeline_v2_test.seq (test file with NODE declarations)

Files modified:
- tools/timeline_editor/index.html (~40 changes for v2 support)

All success criteria met. Round-trip tested with existing timelines.

handoff(Claude): Timeline editor now fully supports v2 format with
explicit node routing, NODE declarations, and buffer chain visualization.
Parser handles both explicit NODE declarations and auto-inferred nodes.
Validation only runs when explicit NODEs exist. Ready for production use.

Co-Authored-By: Claude Sonnet 4.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>fix: correct Heptagon effect rendering and SDF implementation</title>
<updated>2026-02-16T22:54:15Z</updated>
<author>
<name>skal</name>
<email>pascal.massimino@gmail.com</email>
</author>
<published>2026-02-16T22:54:15Z</published>
<link rel='alternate' type='text/html' href='https://git.taar-o.com/demo.git/commit/?id=340dd11c44077ac121f9da27752ae97b3b7566e8'/>
<id>urn:sha1:340dd11c44077ac121f9da27752ae97b3b7566e8</id>
<content type='text'>
- Change draw call from 21 to 3 vertices (fullscreen triangle)
- Replace broken folding-based SDF with IQ's atan-based regular polygon formula
- Simplify test timeline to render Heptagon directly to sink
- Reduce heptagon radius from 0.5 to 0.3 for better visibility

The effect was not visible due to incorrect vertex count and broken SDF
returning negative values everywhere (showing only fill color).

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