<feed xmlns='http://www.w3.org/2005/Atom'>
<title>demo.git/cnn_v3, 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-05-21T06:10:47Z</updated>
<entry>
<title>style: apply clang-format</title>
<updated>2026-05-21T06:10:47Z</updated>
<author>
<name>skal</name>
<email>pascal.massimino@gmail.com</email>
</author>
<published>2026-05-21T06:10:47Z</published>
<link rel='alternate' type='text/html' href='https://git.taar-o.com/demo.git/commit/?id=d806027dcaeadcdd8d2febd88bc46b2fd2c465de'/>
<id>urn:sha1:d806027dcaeadcdd8d2febd88bc46b2fd2c465de</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix: code review cleanup — bugs, dead code, factorization, simplification</title>
<updated>2026-05-20T21:21:59Z</updated>
<author>
<name>skal</name>
<email>pascal.massimino@gmail.com</email>
</author>
<published>2026-05-20T20:44:44Z</published>
<link rel='alternate' type='text/html' href='https://git.taar-o.com/demo.git/commit/?id=a91f89c8ea15665853176c05597760d0fcf6e0df'/>
<id>urn:sha1:a91f89c8ea15665853176c05597760d0fcf6e0df</id>
<content type='text'>
Bugs:
- B1: fix dead tempo debug (prev_tempo captured after assignment)
- B2: fix ReloadAssetsFromFile leak for disk-loaded assets; simplify DropAsset
- B3: fix get_free_pool_slot leak (unregister synth + free data on reuse)
- B4: volatile -&gt; std::atomic with acquire/release in miniaudio_backend, synth
- B5: fix unaligned reads in scene_loader (memcpy-based read_f32/read_u32)
- B6: fix shader module + BGL + pipeline layout leaks in gpu.cc, pipeline_builder

Dead code:
- D1: remove unused particle_defs.h
- D3: remove create_post_process_pipeline_simple (zero callers)
- D4: remove empty gpu_draw()
- D5: remove write-only Hybrid3D::initialized_
- D6: remove legacy pending buffer path in audio.cc

Factorization:
- F1: Effect::run_fullscreen_pass() replaces boilerplate in 5 effects
- F2: particle_common.wgsl snippet, #include in 3 WGSL shaders
- F3: gpu_create_shader_module() helper, used in 3 call sites
- F5: get_world_aabb() shared between bvh.cc and physics.cc
- F6: samples_to_seconds() replaces 6 inline expressions
- F7: gpu_create_linear/nearest_sampler use SamplerCache; add nearest() preset

Simplification:
- S9+S1: WgslSamplerType param; Scene2Effect collapsed to thin wrapper
- S4: FFT heap allocs -&gt; stack arrays (zero allocs on hot path)
- S5: ObjectType::CUBE documented as legacy alias for BOX; default changed
- S6: bind group dirty-flag in Renderer3D; remove duplicate pipeline set
- S7: create_gpu_procedural() helper in texture_manager (~80 lines removed)

37/37 tests passing.

handoff(Claude): code review batch — all items verified, no regressions.
</content>
</entry>
<entry>
<title>update weights</title>
<updated>2026-03-29T14:51:22Z</updated>
<author>
<name>skal</name>
<email>pascal.massimino@gmail.com</email>
</author>
<published>2026-03-29T14:50:56Z</published>
<link rel='alternate' type='text/html' href='https://git.taar-o.com/demo.git/commit/?id=4bcbe13dab5ffb64d93cc61956f07ee5168a84c9'/>
<id>urn:sha1:4bcbe13dab5ffb64d93cc61956f07ee5168a84c9</id>
<content type='text'>
</content>
</entry>
<entry>
<title>update assets and weights</title>
<updated>2026-03-29T14:39:53Z</updated>
<author>
<name>skal</name>
<email>pascal.massimino@gmail.com</email>
</author>
<published>2026-03-29T14:38:10Z</published>
<link rel='alternate' type='text/html' href='https://git.taar-o.com/demo.git/commit/?id=45f8436a5c2410e2f15a0006f6a4540de0d913a5'/>
<id>urn:sha1:45f8436a5c2410e2f15a0006f6a4540de0d913a5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>more 3d assets for cnn_v3</title>
<updated>2026-03-29T14:07:09Z</updated>
<author>
<name>skal</name>
<email>pascal.massimino@gmail.com</email>
</author>
<published>2026-03-29T14:07:09Z</published>
<link rel='alternate' type='text/html' href='https://git.taar-o.com/demo.git/commit/?id=febd68030e8ef1a51411a0ab8593343a954e152b'/>
<id>urn:sha1:febd68030e8ef1a51411a0ab8593343a954e152b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>new script</title>
<updated>2026-03-29T13:18:54Z</updated>
<author>
<name>skal</name>
<email>pascal.massimino@gmail.com</email>
</author>
<published>2026-03-29T13:18:54Z</published>
<link rel='alternate' type='text/html' href='https://git.taar-o.com/demo.git/commit/?id=c82ddfa3fda67e50ee73a578500b56282c377476'/>
<id>urn:sha1:c82ddfa3fda67e50ee73a578500b56282c377476</id>
<content type='text'>
</content>
</entry>
<entry>
<title>docs: consolidate and sync docs with current codebase state</title>
<updated>2026-03-29T08:15:38Z</updated>
<author>
<name>skal</name>
<email>pascal.massimino@gmail.com</email>
</author>
<published>2026-03-29T08:15:38Z</published>
<link rel='alternate' type='text/html' href='https://git.taar-o.com/demo.git/commit/?id=e22256e374694fd92cc55ba198d3f7b1911713fe'/>
<id>urn:sha1:e22256e374694fd92cc55ba198d3f7b1911713fe</id>
<content type='text'>
- PROJECT_CONTEXT.md: fix effect count (12→18), shader count (27→37),
  update CNN v3 pipeline description, tighten Next Up section
- TODO.md: fix priority numbering, restore GPU PCM synthesis as pending,
  streamline CNN v3 section, consolidate Future items
- doc/SEQUENCE.md: effect count 12→18
- cnn_v3/README.md: phases 1–7→1–9, test count 36→38, add phases 8–9
- cnn_v3/docs/HOWTO.md: fix dataset layout blender/photos→full/simple,
  update test counts 36→38 throughout
- doc/COMPLETED.md: archive FFT/timing/OLA fixes, remove false GPU PCM claim
- src/audio/audio_engine.cc: fix step comment numbering (6→5)
- src/audio/synth.cc: remove stale fractional_pos tempo-scaling comment

handoff(Gemini): docs now accurate — 18 effects, 37 shaders, 38/38 tests,
GPU PCM synthesis back in TODO as pending, CNN v3 dataset layout corrected.
</content>
</entry>
<entry>
<title>fix(cnn_v3): handle OPEN_EXR_MULTILAYER removal in Blender 5.x</title>
<updated>2026-03-29T08:00:27Z</updated>
<author>
<name>skal</name>
<email>pascal.massimino@gmail.com</email>
</author>
<published>2026-03-29T08:00:27Z</published>
<link rel='alternate' type='text/html' href='https://git.taar-o.com/demo.git/commit/?id=3be659d9f0a150f8a6527ad0edc31787b0d39994'/>
<id>urn:sha1:3be659d9f0a150f8a6527ad0edc31787b0d39994</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix(audio): fix early timing drift in tracker, use ola_decode_frame in synth</title>
<updated>2026-03-28T19:14:59Z</updated>
<author>
<name>skal</name>
<email>pascal.massimino@gmail.com</email>
</author>
<published>2026-03-28T17:45:42Z</published>
<link rel='alternate' type='text/html' href='https://git.taar-o.com/demo.git/commit/?id=8bee7577cba9f55be8bc404038d5df959595b989'/>
<id>urn:sha1:8bee7577cba9f55be8bc404038d5df959595b989</id>
<content type='text'>
- Replaced chunk_frames truncation accumulation with accurate double-precision integration in audio_render_ahead.
- Updated tracker to use double-precision time representations for exact sample-accurate scheduling.
- Extracted ola_decode_frame to handle per-frame OLA-IDCT synthesis in synth.cc.
- Updated TODO.md for completed audio tasks.

handoff(Claude): Audio timing drift and OLA-IDCT enhancement resolved.
</content>
</entry>
<entry>
<title>fix(cnn_v3): L1 loss + depth-grad tanh normalization to reduce flat convergence</title>
<updated>2026-03-27T07:41:05Z</updated>
<author>
<name>skal</name>
<email>pascal.massimino@gmail.com</email>
</author>
<published>2026-03-27T07:41:05Z</published>
<link rel='alternate' type='text/html' href='https://git.taar-o.com/demo.git/commit/?id=37df61d1a0dbd5e253f9db778c17c4187e453b8d'/>
<id>urn:sha1:37df61d1a0dbd5e253f9db778c17c4187e453b8d</id>
<content type='text'>
- Switch MSELoss → L1Loss in train_cnn_v3.py (median-seeking, avoids gray-blob)
- Normalize depth_grad channels with tanh(10x) in cnn_v3_utils.py (bounds ±∞ signed values)
- Match normalization in gbuf_pack.wgsl: tanh((right-left)*5.0) == tanh(10*central_diff)

handoff(Gemini): training pipeline only; no C++ or test changes needed.
</content>
</entry>
</feed>
