summaryrefslogtreecommitdiff
path: root/workspaces/main/shaders/cnn/cnn_weights_generated.wgsl
diff options
context:
space:
mode:
authorskal <pascal.massimino@gmail.com>2026-02-10 10:27:44 +0100
committerskal <pascal.massimino@gmail.com>2026-02-10 10:27:44 +0100
commit96a349b9874c6cdaac525ba062a0f4f90c9bc3ed (patch)
treea4eb24fdb417393cbe5a0dc84bf5063cffc94daf /workspaces/main/shaders/cnn/cnn_weights_generated.wgsl
parent75af266889b61b5722d842a1a1eb23f79bc06a85 (diff)
feat: Add coordinate-aware CNN layer 0 for position-dependent stylization
- Implement CoordConv2d custom layer accepting (x,y) patch center - Split layer 0 weights: rgba_weights (9x mat4x4) + coord_weights (mat2x4) - Add *_with_coord() functions to 3x3/5x5/7x7 convolution shaders - Update training script to generate coordinate grid and export split weights - Regenerate placeholder weights with new format Size impact: +32B coord weights + ~100B shader code = +132B total All 36 tests passing (100%) handoff(Claude): CNN coordinate awareness implemented, ready for training Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Diffstat (limited to 'workspaces/main/shaders/cnn/cnn_weights_generated.wgsl')
-rw-r--r--workspaces/main/shaders/cnn/cnn_weights_generated.wgsl10
1 files changed, 8 insertions, 2 deletions
diff --git a/workspaces/main/shaders/cnn/cnn_weights_generated.wgsl b/workspaces/main/shaders/cnn/cnn_weights_generated.wgsl
index 98c17ff..e0a7dc4 100644
--- a/workspaces/main/shaders/cnn/cnn_weights_generated.wgsl
+++ b/workspaces/main/shaders/cnn/cnn_weights_generated.wgsl
@@ -2,8 +2,8 @@
// DO NOT EDIT MANUALLY - regenerate with scripts/train_cnn.py
// Placeholder identity-like weights for initial testing
-// Layer 0: 3x3 convolution
-const weights_layer0: array<mat4x4<f32>, 9> = array(
+// Layer 0: 3x3 convolution with coordinate awareness
+const rgba_weights_layer0: array<mat4x4<f32>, 9> = array(
mat4x4<f32>(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0),
mat4x4<f32>(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0),
mat4x4<f32>(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0),
@@ -14,4 +14,10 @@ const weights_layer0: array<mat4x4<f32>, 9> = array(
mat4x4<f32>(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0),
mat4x4<f32>(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0)
);
+
+const coord_weights_layer0 = mat2x4<f32>(
+ 0.0, 0.0, 0.0, 0.0,
+ 0.0, 0.0, 0.0, 0.0
+);
+
const bias_layer0 = vec4<f32>(0.0, 0.0, 0.0, 0.0);