From a10cabbe3a5ae05730c2e76493e42554ee6037ba Mon Sep 17 00:00:00 2001 From: skal Date: Fri, 20 Mar 2026 09:22:18 +0100 Subject: feat(cnn_v3): Phase 1 complete - GBufferEffect integrated + HOWTO playbook - Wire GBufferEffect into demo build: assets.txt, DemoSourceLists.cmake, demo_effects.h, shaders.h/cc. ShaderComposer::Compose() applied to gbuf_raster.wgsl (resolves #include "common_uniforms"). - Add GBufferEffect construction test. 35/35 passing. - Write cnn_v3/docs/HOWTO.md: G-buffer wiring, training data prep, training plan, per-pixel validation workflow, phase status table, troubleshooting guide. - Add project hooks: remind to update HOWTO.md on cnn_v3/ edits; warn on direct str_view(*_wgsl) usage bypassing ShaderComposer. - Update PROJECT_CONTEXT.md and TODO.md: Phase 1 done, Phase 3 (WGSL U-Net shaders) is next active. handoff(Gemini): CNN v3 Phase 3 is next - WGSL enc/dec/bottleneck/FiLM shaders in cnn_v3/shaders/. See cnn_v3/docs/CNN_V3.md Architecture section and cnn_v3/docs/HOWTO.md section 3 for spec. GBufferEffect outputs feat_tex0 + feat_tex1 (rgba32uint, 20ch, 32 bytes/pixel). C++ CNNv3Effect (Phase 4) takes those as input nodes. --- .claude/settings.json | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to '.claude') diff --git a/.claude/settings.json b/.claude/settings.json index fb6efa5..40c1320 100644 --- a/.claude/settings.json +++ b/.claude/settings.json @@ -1,3 +1,20 @@ { - "permissions": {} + "permissions": {}, + "hooks": { + "PostToolUse": [ + { + "matcher": "Write|Edit", + "hooks": [ + { + "type": "command", + "command": "f=$(jq -r '.tool_input.file_path'); if echo \"$f\" | grep -q 'cnn_v3/' && ! echo \"$f\" | grep -q 'cnn_v3/docs/HOWTO.md'; then echo '{\"systemMessage\": \"Reminder: update cnn_v3/docs/HOWTO.md if this change affects the pipeline.\"}'; fi" + }, + { + "type": "command", + "command": "f=$(jq -r '.tool_input.file_path'); if echo \"$f\" | grep -qE '\\.(cc|h)$' && grep -qE 'str_view\\([a-zA-Z_]+_wgsl\\b' \"$f\" 2>/dev/null; then echo '{\"systemMessage\": \"Direct .wgsl asset usage detected — wrap with ShaderComposer::Get().Compose() before passing to str_view().\"}'; fi" + } + ] + } + ] + } } -- cgit v1.2.3