diff options
| author | skal <pascal.massimino@gmail.com> | 2026-03-07 20:19:18 +0100 |
|---|---|---|
| committer | skal <pascal.massimino@gmail.com> | 2026-03-07 20:19:18 +0100 |
| commit | 58e360bfeb32d8f46782db208a6dbc53ada1f62c (patch) | |
| tree | 4b62855468329dc52ed4db8746a4eaa0168a358e | |
| parent | ad9ee515d162d2aa23b64263e043d45add95615f (diff) | |
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 <noreply@anthropic.com>
| -rw-r--r-- | cmake/DemoCodegen.cmake | 4 | ||||
| -rw-r--r-- | 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 { |
