From 58e360bfeb32d8f46782db208a6dbc53ada1f62c Mon Sep 17 00:00:00 2001 From: skal Date: Sat, 7 Mar 2026 20:19:18 +0100 Subject: fix(cmake): normalize asset paths to fix incremental rebuild tracking Paths like ../../src/effects/ntsc.wgsl were stored non-normalized in the DEPENDS list, preventing Ninja/Make from detecting file changes. Co-Authored-By: Claude Sonnet 4.6 --- cmake/DemoCodegen.cmake | 4 ++-- src/effects/ntsc.wgsl | 5 ++--- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/cmake/DemoCodegen.cmake b/cmake/DemoCodegen.cmake index aa20a92..2d21b14 100644 --- a/cmake/DemoCodegen.cmake +++ b/cmake/DemoCodegen.cmake @@ -21,8 +21,8 @@ function(parse_asset_list INPUT_TXT OUT_FILE_LIST) string(REGEX REPLACE "^[^,]+,[^,]+,[ ]*([^,]+).*" "\\1" FILENAME "${LINE}") string(STRIP "${FILENAME}" FILENAME) - # Use workspace-relative path - set(FULL_PATH "${INPUT_DIR}/${FILENAME}") + # Normalize path (resolves .. components for correct dependency tracking) + get_filename_component(FULL_PATH "${INPUT_DIR}/${FILENAME}" ABSOLUTE) if(EXISTS ${FULL_PATH}) list(APPEND ASSET_FILES ${FULL_PATH}) diff --git a/src/effects/ntsc.wgsl b/src/effects/ntsc.wgsl index f357b17..3c4a2bf 100644 --- a/src/effects/ntsc.wgsl +++ b/src/effects/ntsc.wgsl @@ -10,9 +10,8 @@ // Barrel (fisheye) distortion: strength > 0 = barrel, < 0 = pincushion fn fisheye(uv: vec2f, strength: f32) -> vec2f { let c = uv * 2.0 - 1.0; - let r2 = dot(c, c); - let distorted = c * (1.0 + strength * r2); - return distorted * 0.5 + 0.5; + let r2 = c * c; + return uv * 1.03 * (1.0 + vec2f(.1, .24) * strength * r2); } @fragment fn fs_main(in: VertexOutput) -> @location(0) vec4f { -- cgit v1.2.3