From a109983c194c45ad85f0e481232bc605c7cfd85b Mon Sep 17 00:00:00 2001 From: skal Date: Fri, 13 Feb 2026 08:34:24 +0100 Subject: Remediation: Implement shared common/shaders/ directory Eliminates 36 duplicate shader files across workspaces. Structure: - common/shaders/{math,render,compute}/ - Shared utilities (20 files) - workspaces/*/shaders/ - Workspace-specific only Changes: - Created common/shaders/ with math, render, compute subdirectories - Moved 20 common shaders from workspaces to common/ - Removed duplicates from test workspace - Updated assets.txt: ../../common/shaders/ references - Enhanced asset_packer.cc: filesystem path normalization for ../ resolution Implementation: Option 1 from SHADER_REUSE_INVESTIGATION.md - Single source of truth for common code - Workspace references via relative paths - Path normalization in asset packer handoff(Claude): Common shader directory implemented --- workspaces/test/shaders/compute/gen_blend.wgsl | 29 -------------------------- 1 file changed, 29 deletions(-) delete mode 100644 workspaces/test/shaders/compute/gen_blend.wgsl (limited to 'workspaces/test/shaders/compute/gen_blend.wgsl') diff --git a/workspaces/test/shaders/compute/gen_blend.wgsl b/workspaces/test/shaders/compute/gen_blend.wgsl deleted file mode 100644 index 9fc9e1e..0000000 --- a/workspaces/test/shaders/compute/gen_blend.wgsl +++ /dev/null @@ -1,29 +0,0 @@ -// This file is part of the 64k demo project. -// GPU composite shader: Blend two textures. - -struct BlendParams { - width: u32, - height: u32, - blend_factor: f32, - _pad0: f32, -} - -@group(0) @binding(0) var output_tex: texture_storage_2d; -@group(0) @binding(1) var params: BlendParams; -@group(0) @binding(2) var input_a: texture_2d; -@group(0) @binding(3) var input_b: texture_2d; -@group(0) @binding(4) var tex_sampler: sampler; - -@compute @workgroup_size(8, 8, 1) -fn main(@builtin(global_invocation_id) id: vec3) { - if (id.x >= params.width || id.y >= params.height) { return; } - - let uv = vec2(f32(id.x) / f32(params.width), - f32(id.y) / f32(params.height)); - - let color_a = textureSampleLevel(input_a, tex_sampler, uv, 0.0); - let color_b = textureSampleLevel(input_b, tex_sampler, uv, 0.0); - let blended = mix(color_a, color_b, params.blend_factor); - - textureStore(output_tex, id.xy, blended); -} -- cgit v1.2.3