summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--PROJECT_CONTEXT.md2
-rw-r--r--doc/ARCHITECTURE.md2
-rw-r--r--doc/SHADER_REUSE_INVESTIGATION.md4
-rw-r--r--doc/WORKSPACE_SYSTEM.md4
-rw-r--r--src/shaders/camera_common.wgsl (renamed from common/shaders/camera_common.wgsl)0
-rw-r--r--src/shaders/combined_postprocess.wgsl (renamed from common/shaders/combined_postprocess.wgsl)0
-rw-r--r--src/shaders/common_uniforms.wgsl (renamed from common/shaders/common_uniforms.wgsl)0
-rw-r--r--src/shaders/compute/gen_blend.wgsl (renamed from common/shaders/compute/gen_blend.wgsl)0
-rw-r--r--src/shaders/compute/gen_grid.wgsl (renamed from common/shaders/compute/gen_grid.wgsl)0
-rw-r--r--src/shaders/compute/gen_mask.wgsl (renamed from common/shaders/compute/gen_mask.wgsl)0
-rw-r--r--src/shaders/compute/gen_noise.wgsl (renamed from common/shaders/compute/gen_noise.wgsl)0
-rw-r--r--src/shaders/compute/gen_perlin.wgsl (renamed from common/shaders/compute/gen_perlin.wgsl)0
-rw-r--r--src/shaders/gaussian_blur.wgsl (renamed from common/shaders/gaussian_blur.wgsl)0
-rw-r--r--src/shaders/heptagon.wgsl (renamed from common/shaders/heptagon.wgsl)0
-rw-r--r--src/shaders/lighting.wgsl (renamed from common/shaders/lighting.wgsl)0
-rw-r--r--src/shaders/math/color.wgsl (renamed from common/shaders/math/color.wgsl)0
-rw-r--r--src/shaders/math/common_utils.wgsl (renamed from common/shaders/math/common_utils.wgsl)0
-rw-r--r--src/shaders/math/noise.wgsl (renamed from common/shaders/math/noise.wgsl)0
-rw-r--r--src/shaders/math/sdf_shapes.wgsl (renamed from common/shaders/math/sdf_shapes.wgsl)0
-rw-r--r--src/shaders/math/sdf_utils.wgsl (renamed from common/shaders/math/sdf_utils.wgsl)0
-rw-r--r--src/shaders/math/utils.wgsl (renamed from common/shaders/math/utils.wgsl)0
-rw-r--r--src/shaders/passthrough.wgsl (renamed from common/shaders/passthrough.wgsl)0
-rw-r--r--src/shaders/postprocess_inline.wgsl (renamed from common/shaders/postprocess_inline.wgsl)0
-rw-r--r--src/shaders/ray_box.wgsl (renamed from common/shaders/ray_box.wgsl)0
-rw-r--r--src/shaders/ray_triangle.wgsl (renamed from common/shaders/ray_triangle.wgsl)0
-rw-r--r--src/shaders/render/fullscreen_uv_vs.wgsl (renamed from common/shaders/render/fullscreen_uv_vs.wgsl)0
-rw-r--r--src/shaders/render/fullscreen_vs.wgsl (renamed from common/shaders/render/fullscreen_vs.wgsl)0
-rw-r--r--src/shaders/render/lighting_utils.wgsl (renamed from common/shaders/render/lighting_utils.wgsl)0
-rw-r--r--src/shaders/render/raymarching.wgsl (renamed from common/shaders/render/raymarching.wgsl)0
-rw-r--r--src/shaders/render/raymarching_id.wgsl (renamed from common/shaders/render/raymarching_id.wgsl)0
-rw-r--r--src/shaders/render/scene_query_bvh.wgsl (renamed from common/shaders/render/scene_query_bvh.wgsl)0
-rw-r--r--src/shaders/render/scene_query_linear.wgsl (renamed from common/shaders/render/scene_query_linear.wgsl)0
-rw-r--r--src/shaders/render/shadows.wgsl (renamed from common/shaders/render/shadows.wgsl)0
-rw-r--r--src/shaders/sequence_uniforms.wgsl (renamed from common/shaders/sequence_uniforms.wgsl)0
-rw-r--r--src/shaders/skybox.wgsl (renamed from common/shaders/skybox.wgsl)0
-rw-r--r--workspaces/main/assets.txt64
-rw-r--r--workspaces/test/assets.txt62
37 files changed, 69 insertions, 69 deletions
diff --git a/PROJECT_CONTEXT.md b/PROJECT_CONTEXT.md
index 8b81c28..bce4d67 100644
--- a/PROJECT_CONTEXT.md
+++ b/PROJECT_CONTEXT.md
@@ -32,7 +32,7 @@
## Current Status
- **Timing System:** **Beat-based timelines** for musical synchronization. Sequences defined in beats, converted to seconds at runtime. Effects receive both physical time (constant) and beat time (musical). Variable tempo affects audio only. See `doc/BEAT_TIMING.md`.
-- **Workspace system:** Multi-workspace support. Easy switching with `-DDEMO_WORKSPACE=<name>`. Organized structure: `music/`, `weights/`, `obj/`, `shaders/`. Shared common shaders in `common/shaders/`. See `doc/WORKSPACE_SYSTEM.md`.
+- **Workspace system:** Multi-workspace support. Easy switching with `-DDEMO_WORKSPACE=<name>`. Organized structure: `music/`, `weights/`, `obj/`, `shaders/`. Shared common shaders in `src/shaders/`. See `doc/WORKSPACE_SYSTEM.md`.
- **Audio:** Sample-accurate sync. Zero heap allocations per frame. Variable tempo. Comprehensive tests.
- **Shaders:** Parameterized effects (UniformHelper, .seq syntax). Beat-synchronized animation support (`beat_time`, `beat_phase`). Modular WGSL composition with ShaderComposer. 24 shared common shaders (math, render, compute).
- **3D:** Hybrid SDF/rasterization with BVH. Binary scene loader. Blender pipeline.
diff --git a/doc/ARCHITECTURE.md b/doc/ARCHITECTURE.md
index ebb2a59..582903b 100644
--- a/doc/ARCHITECTURE.md
+++ b/doc/ARCHITECTURE.md
@@ -17,7 +17,7 @@ Detailed system architecture for the 64k demo project.
- Provides `update_camera()` helper methods (from Camera object or manual values)
- Standard binding: 0=CommonUniforms, 1=CameraParams
-**WGSL Helpers** (`common/shaders/camera_common.wgsl`):
+**WGSL Helpers** (`src/shaders/camera_common.wgsl`):
- `getCameraRay(cam, uv)`: Generate ray from screen UV coordinates
- `getCameraPosition/Forward/Up/Right()`: Extract camera vectors from inv_view
- Integrates with existing `render/raymarching.wgsl` (rayMarch, normal, shadow)
diff --git a/doc/SHADER_REUSE_INVESTIGATION.md b/doc/SHADER_REUSE_INVESTIGATION.md
index 0eb36f9..e840126 100644
--- a/doc/SHADER_REUSE_INVESTIGATION.md
+++ b/doc/SHADER_REUSE_INVESTIGATION.md
@@ -7,9 +7,9 @@
**Status:** IMPLEMENTED
**Results:**
-- Created `common/shaders/` with 20 shared shader files
+- Created `src/shaders/` with 20 shared shader files (moved from `common/shaders/` 2026-02-28)
- Eliminated 36 duplicate files across workspaces
-- Asset references use `../../common/shaders/...`
+- Asset references use `../../src/shaders/...`
- Enhanced asset_packer with filesystem path normalization
- Build passes, all tests pass
diff --git a/doc/WORKSPACE_SYSTEM.md b/doc/WORKSPACE_SYSTEM.md
index a0077d2..6b4319d 100644
--- a/doc/WORKSPACE_SYSTEM.md
+++ b/doc/WORKSPACE_SYSTEM.md
@@ -133,7 +133,7 @@ assets = "assets.txt"
asset_dirs = ["assets/", "../common/audio/"]
# Shader directories (order matters: workspace-specific first)
-shader_dirs = ["shaders/", "../common/shaders/"]
+shader_dirs = ["shaders/", "../src/shaders/"]
[options]
# Default resolution
@@ -255,7 +255,7 @@ class ShaderComposer {
```wgsl
// workspace-specific shader
#include "custom_uniforms.wgsl" // From workspaces/main/shaders/
-#include "math/common_utils.wgsl" // From assets/common/shaders/
+#include "math/common_utils.wgsl" // From src/shaders/
```
### CLI Tool
diff --git a/common/shaders/camera_common.wgsl b/src/shaders/camera_common.wgsl
index 846d052..846d052 100644
--- a/common/shaders/camera_common.wgsl
+++ b/src/shaders/camera_common.wgsl
diff --git a/common/shaders/combined_postprocess.wgsl b/src/shaders/combined_postprocess.wgsl
index c0acfe7..c0acfe7 100644
--- a/common/shaders/combined_postprocess.wgsl
+++ b/src/shaders/combined_postprocess.wgsl
diff --git a/common/shaders/common_uniforms.wgsl b/src/shaders/common_uniforms.wgsl
index 5dc0251..5dc0251 100644
--- a/common/shaders/common_uniforms.wgsl
+++ b/src/shaders/common_uniforms.wgsl
diff --git a/common/shaders/compute/gen_blend.wgsl b/src/shaders/compute/gen_blend.wgsl
index c6be7bb..c6be7bb 100644
--- a/common/shaders/compute/gen_blend.wgsl
+++ b/src/shaders/compute/gen_blend.wgsl
diff --git a/common/shaders/compute/gen_grid.wgsl b/src/shaders/compute/gen_grid.wgsl
index 4ce7ea3..4ce7ea3 100644
--- a/common/shaders/compute/gen_grid.wgsl
+++ b/src/shaders/compute/gen_grid.wgsl
diff --git a/common/shaders/compute/gen_mask.wgsl b/src/shaders/compute/gen_mask.wgsl
index 39f5b50..39f5b50 100644
--- a/common/shaders/compute/gen_mask.wgsl
+++ b/src/shaders/compute/gen_mask.wgsl
diff --git a/common/shaders/compute/gen_noise.wgsl b/src/shaders/compute/gen_noise.wgsl
index 7b75f13..7b75f13 100644
--- a/common/shaders/compute/gen_noise.wgsl
+++ b/src/shaders/compute/gen_noise.wgsl
diff --git a/common/shaders/compute/gen_perlin.wgsl b/src/shaders/compute/gen_perlin.wgsl
index 2807f6d..2807f6d 100644
--- a/common/shaders/compute/gen_perlin.wgsl
+++ b/src/shaders/compute/gen_perlin.wgsl
diff --git a/common/shaders/gaussian_blur.wgsl b/src/shaders/gaussian_blur.wgsl
index 7f85719..7f85719 100644
--- a/common/shaders/gaussian_blur.wgsl
+++ b/src/shaders/gaussian_blur.wgsl
diff --git a/common/shaders/heptagon.wgsl b/src/shaders/heptagon.wgsl
index a8a450f..a8a450f 100644
--- a/common/shaders/heptagon.wgsl
+++ b/src/shaders/heptagon.wgsl
diff --git a/common/shaders/lighting.wgsl b/src/shaders/lighting.wgsl
index fd92c1a..fd92c1a 100644
--- a/common/shaders/lighting.wgsl
+++ b/src/shaders/lighting.wgsl
diff --git a/common/shaders/math/color.wgsl b/src/shaders/math/color.wgsl
index 9352053..9352053 100644
--- a/common/shaders/math/color.wgsl
+++ b/src/shaders/math/color.wgsl
diff --git a/common/shaders/math/common_utils.wgsl b/src/shaders/math/common_utils.wgsl
index 6ebc25a..6ebc25a 100644
--- a/common/shaders/math/common_utils.wgsl
+++ b/src/shaders/math/common_utils.wgsl
diff --git a/common/shaders/math/noise.wgsl b/src/shaders/math/noise.wgsl
index dd97e02..dd97e02 100644
--- a/common/shaders/math/noise.wgsl
+++ b/src/shaders/math/noise.wgsl
diff --git a/common/shaders/math/sdf_shapes.wgsl b/src/shaders/math/sdf_shapes.wgsl
index 2dfae3e..2dfae3e 100644
--- a/common/shaders/math/sdf_shapes.wgsl
+++ b/src/shaders/math/sdf_shapes.wgsl
diff --git a/common/shaders/math/sdf_utils.wgsl b/src/shaders/math/sdf_utils.wgsl
index 5a77c7e..5a77c7e 100644
--- a/common/shaders/math/sdf_utils.wgsl
+++ b/src/shaders/math/sdf_utils.wgsl
diff --git a/common/shaders/math/utils.wgsl b/src/shaders/math/utils.wgsl
index c75cb66..c75cb66 100644
--- a/common/shaders/math/utils.wgsl
+++ b/src/shaders/math/utils.wgsl
diff --git a/common/shaders/passthrough.wgsl b/src/shaders/passthrough.wgsl
index bce377c..bce377c 100644
--- a/common/shaders/passthrough.wgsl
+++ b/src/shaders/passthrough.wgsl
diff --git a/common/shaders/postprocess_inline.wgsl b/src/shaders/postprocess_inline.wgsl
index 84ef3d3..84ef3d3 100644
--- a/common/shaders/postprocess_inline.wgsl
+++ b/src/shaders/postprocess_inline.wgsl
diff --git a/common/shaders/ray_box.wgsl b/src/shaders/ray_box.wgsl
index 37b9d6a..37b9d6a 100644
--- a/common/shaders/ray_box.wgsl
+++ b/src/shaders/ray_box.wgsl
diff --git a/common/shaders/ray_triangle.wgsl b/src/shaders/ray_triangle.wgsl
index ece823a..ece823a 100644
--- a/common/shaders/ray_triangle.wgsl
+++ b/src/shaders/ray_triangle.wgsl
diff --git a/common/shaders/render/fullscreen_uv_vs.wgsl b/src/shaders/render/fullscreen_uv_vs.wgsl
index f9ae427..f9ae427 100644
--- a/common/shaders/render/fullscreen_uv_vs.wgsl
+++ b/src/shaders/render/fullscreen_uv_vs.wgsl
diff --git a/common/shaders/render/fullscreen_vs.wgsl b/src/shaders/render/fullscreen_vs.wgsl
index 507b892..507b892 100644
--- a/common/shaders/render/fullscreen_vs.wgsl
+++ b/src/shaders/render/fullscreen_vs.wgsl
diff --git a/common/shaders/render/lighting_utils.wgsl b/src/shaders/render/lighting_utils.wgsl
index f805860..f805860 100644
--- a/common/shaders/render/lighting_utils.wgsl
+++ b/src/shaders/render/lighting_utils.wgsl
diff --git a/common/shaders/render/raymarching.wgsl b/src/shaders/render/raymarching.wgsl
index 2d6616d..2d6616d 100644
--- a/common/shaders/render/raymarching.wgsl
+++ b/src/shaders/render/raymarching.wgsl
diff --git a/common/shaders/render/raymarching_id.wgsl b/src/shaders/render/raymarching_id.wgsl
index d9f32b2..d9f32b2 100644
--- a/common/shaders/render/raymarching_id.wgsl
+++ b/src/shaders/render/raymarching_id.wgsl
diff --git a/common/shaders/render/scene_query_bvh.wgsl b/src/shaders/render/scene_query_bvh.wgsl
index cf2136b..cf2136b 100644
--- a/common/shaders/render/scene_query_bvh.wgsl
+++ b/src/shaders/render/scene_query_bvh.wgsl
diff --git a/common/shaders/render/scene_query_linear.wgsl b/src/shaders/render/scene_query_linear.wgsl
index 5864b6f..5864b6f 100644
--- a/common/shaders/render/scene_query_linear.wgsl
+++ b/src/shaders/render/scene_query_linear.wgsl
diff --git a/common/shaders/render/shadows.wgsl b/src/shaders/render/shadows.wgsl
index b71e073..b71e073 100644
--- a/common/shaders/render/shadows.wgsl
+++ b/src/shaders/render/shadows.wgsl
diff --git a/common/shaders/sequence_uniforms.wgsl b/src/shaders/sequence_uniforms.wgsl
index 1aef34e..1aef34e 100644
--- a/common/shaders/sequence_uniforms.wgsl
+++ b/src/shaders/sequence_uniforms.wgsl
diff --git a/common/shaders/skybox.wgsl b/src/shaders/skybox.wgsl
index 075eeb6..075eeb6 100644
--- a/common/shaders/skybox.wgsl
+++ b/src/shaders/skybox.wgsl
diff --git a/workspaces/main/assets.txt b/workspaces/main/assets.txt
index 4115397..85ae1fc 100644
--- a/workspaces/main/assets.txt
+++ b/workspaces/main/assets.txt
@@ -24,19 +24,19 @@ NOISE_TEX, PROC(gen_noise, 1234, 16), _, "Procedural noise texture for bump mapp
# --- WGSL Shaders & Snippets ---
SHADER_RENDERER_3D, NONE, shaders/renderer_3d.wgsl, "Hybrid 3D Renderer Shader"
-SHADER_COMMON_UNIFORMS, NONE, ../../common/shaders/common_uniforms.wgsl, "Common Uniforms Snippet"
-SHADER_CAMERA_COMMON, NONE, ../../common/shaders/camera_common.wgsl, "Camera parameters and raymarching helpers"
-SHADER_SDF_SHAPES, NONE, ../../common/shaders/math/sdf_shapes.wgsl, "SDF Shapes (2D/3D primitives)"
-SHADER_LIGHTING, NONE, ../../common/shaders/lighting.wgsl, "Lighting Snippet"
-SHADER_RAY_BOX, NONE, ../../common/shaders/ray_box.wgsl, "Ray-Box Intersection Snippet"
-SHADER_RAY_TRIANGLE, NONE, ../../common/shaders/ray_triangle.wgsl, "Ray-Triangle Intersection Snippet (Möller-Trumbore)"
+SHADER_COMMON_UNIFORMS, NONE, ../../src/shaders/common_uniforms.wgsl, "Common Uniforms Snippet"
+SHADER_CAMERA_COMMON, NONE, ../../src/shaders/camera_common.wgsl, "Camera parameters and raymarching helpers"
+SHADER_SDF_SHAPES, NONE, ../../src/shaders/math/sdf_shapes.wgsl, "SDF Shapes (2D/3D primitives)"
+SHADER_LIGHTING, NONE, ../../src/shaders/lighting.wgsl, "Lighting Snippet"
+SHADER_RAY_BOX, NONE, ../../src/shaders/ray_box.wgsl, "Ray-Box Intersection Snippet"
+SHADER_RAY_TRIANGLE, NONE, ../../src/shaders/ray_triangle.wgsl, "Ray-Triangle Intersection Snippet (Möller-Trumbore)"
SHADER_MAIN, NONE, shaders/main_shader.wgsl, "Main Heptagon Shader"
SHADER_PARTICLE_COMPUTE, NONE, shaders/particle_compute.wgsl, "Particle Compute Shader"
SHADER_PARTICLE_RENDER, NONE, shaders/particle_render.wgsl, "Particle Render Shader"
SHADER_PARTICLE_COMPUTE_V2, NONE, shaders/particle_compute.wgsl, "Particle Compute Shader"
SHADER_PARTICLE_RENDER_V2, NONE, shaders/particle_render.wgsl, "Particle Render Shader"
SHADER_ROTATING_CUBE_V2, NONE, shaders/rotating_cube.wgsl, "Rotating Cube Shader"
-SHADER_PASSTHROUGH, NONE, ../../common/shaders/passthrough.wgsl, "Passthrough Shader"
+SHADER_PASSTHROUGH, NONE, ../../src/shaders/passthrough.wgsl, "Passthrough Shader"
SHADER_ELLIPSE, NONE, shaders/ellipse.wgsl, "Ellipse Shader"
SHADER_PARTICLE_SPRAY_COMPUTE, NONE, shaders/particle_spray_compute.wgsl, "Particle Spray Compute"
SHADER_GAUSSIAN_BLUR, NONE, shaders/gaussian_blur.wgsl, "Gaussian Blur Shader"
@@ -54,39 +54,39 @@ SHADER_SOLARIZE, NONE, shaders/solarize.wgsl, "Solarize Shader"
SHADER_DISTORT, NONE, shaders/distort.wgsl, "Distort Shader"
SHADER_CHROMA_ABERRATION, NONE, shaders/chroma_aberration.wgsl, "Chroma Aberration Shader"
SHADER_VISUAL_DEBUG, NONE, shaders/visual_debug.wgsl, "Visual Debug Shader"
-SHADER_SKYBOX, NONE, ../../common/shaders/skybox.wgsl, "Skybox background shader"
-SHADER_MATH_SDF_SHAPES, NONE, ../../common/shaders/math/sdf_shapes.wgsl, "SDF Shapes Snippet"
-SHADER_MATH_SDF_UTILS, NONE, ../../common/shaders/math/sdf_utils.wgsl, "SDF Utils Snippet"
-SHADER_MATH_COMMON_UTILS, NONE, ../../common/shaders/math/common_utils.wgsl, "Common Math Utils"
-SHADER_MATH_NOISE, NONE, ../../common/shaders/math/noise.wgsl, "RNG and Noise Functions"
-SHADER_RENDER_SHADOWS, NONE, ../../common/shaders/render/shadows.wgsl, "Shadows Snippet"
-SHADER_RENDER_SCENE_QUERY_BVH, NONE, ../../common/shaders/render/scene_query_bvh.wgsl, "Scene Query Snippet (BVH)"
-SHADER_RENDER_SCENE_QUERY_LINEAR, NONE, ../../common/shaders/render/scene_query_linear.wgsl, "Scene Query Snippet (Linear)"
-SHADER_RENDER_LIGHTING_UTILS, NONE, ../../common/shaders/render/lighting_utils.wgsl, "Lighting Utils Snippet"
+SHADER_SKYBOX, NONE, ../../src/shaders/skybox.wgsl, "Skybox background shader"
+SHADER_MATH_SDF_SHAPES, NONE, ../../src/shaders/math/sdf_shapes.wgsl, "SDF Shapes Snippet"
+SHADER_MATH_SDF_UTILS, NONE, ../../src/shaders/math/sdf_utils.wgsl, "SDF Utils Snippet"
+SHADER_MATH_COMMON_UTILS, NONE, ../../src/shaders/math/common_utils.wgsl, "Common Math Utils"
+SHADER_MATH_NOISE, NONE, ../../src/shaders/math/noise.wgsl, "RNG and Noise Functions"
+SHADER_RENDER_SHADOWS, NONE, ../../src/shaders/render/shadows.wgsl, "Shadows Snippet"
+SHADER_RENDER_SCENE_QUERY_BVH, NONE, ../../src/shaders/render/scene_query_bvh.wgsl, "Scene Query Snippet (BVH)"
+SHADER_RENDER_SCENE_QUERY_LINEAR, NONE, ../../src/shaders/render/scene_query_linear.wgsl, "Scene Query Snippet (Linear)"
+SHADER_RENDER_LIGHTING_UTILS, NONE, ../../src/shaders/render/lighting_utils.wgsl, "Lighting Utils Snippet"
SHADER_MESH, NONE, shaders/mesh_render.wgsl, "Mesh Rasterization Shader"
MESH_CUBE, NONE, obj/test_mesh.obj, "A simple cube mesh"
DODECAHEDRON, NONE, obj/dodecahedron.obj, "A dodecahedron mesh"
-SHADER_RENDER_FULLSCREEN_VS, NONE, ../../common/shaders/render/fullscreen_vs.wgsl, "Fullscreen Vertex Shader"
-SHADER_RENDER_FULLSCREEN_UV_VS, NONE, ../../common/shaders/render/fullscreen_uv_vs.wgsl, "Fullscreen Vertex Shader + UV"
-SHADER_MATH_COLOR, NONE, ../../common/shaders/math/color.wgsl, "Color Functions"
-SHADER_MATH_UTILS, NONE, ../../common/shaders/math/utils.wgsl, "Math Utilities"
-SHADER_RENDER_RAYMARCHING, NONE, ../../common/shaders/render/raymarching.wgsl, "Raymarching Functions"
-SHADER_RENDER_RAYMARCHING_ID, NONE, ../../common/shaders/render/raymarching_id.wgsl, "Raymarching-ID Functions"
+SHADER_RENDER_FULLSCREEN_VS, NONE, ../../src/shaders/render/fullscreen_vs.wgsl, "Fullscreen Vertex Shader"
+SHADER_RENDER_FULLSCREEN_UV_VS, NONE, ../../src/shaders/render/fullscreen_uv_vs.wgsl, "Fullscreen Vertex Shader + UV"
+SHADER_MATH_COLOR, NONE, ../../src/shaders/math/color.wgsl, "Color Functions"
+SHADER_MATH_UTILS, NONE, ../../src/shaders/math/utils.wgsl, "Math Utilities"
+SHADER_RENDER_RAYMARCHING, NONE, ../../src/shaders/render/raymarching.wgsl, "Raymarching Functions"
+SHADER_RENDER_RAYMARCHING_ID, NONE, ../../src/shaders/render/raymarching_id.wgsl, "Raymarching-ID Functions"
SHADER_VIGNETTE, NONE, shaders/vignette.wgsl, "Vignette Shader"
-SHADER_COMPUTE_GEN_NOISE, NONE, ../../common/shaders/compute/gen_noise.wgsl, "GPU Noise Compute Shader"
-SHADER_COMPUTE_GEN_PERLIN, NONE, ../../common/shaders/compute/gen_perlin.wgsl, "GPU Perlin Noise Compute Shader"
-SHADER_COMPUTE_GEN_GRID, NONE, ../../common/shaders/compute/gen_grid.wgsl, "GPU Grid Compute Shader"
-SHADER_COMPUTE_GEN_BLEND, NONE, ../../common/shaders/compute/gen_blend.wgsl, "GPU Blend Composite Shader"
-SHADER_COMPUTE_GEN_MASK, NONE, ../../common/shaders/compute/gen_mask.wgsl, "GPU Mask Composite Shader"
+SHADER_COMPUTE_GEN_NOISE, NONE, ../../src/shaders/compute/gen_noise.wgsl, "GPU Noise Compute Shader"
+SHADER_COMPUTE_GEN_PERLIN, NONE, ../../src/shaders/compute/gen_perlin.wgsl, "GPU Perlin Noise Compute Shader"
+SHADER_COMPUTE_GEN_GRID, NONE, ../../src/shaders/compute/gen_grid.wgsl, "GPU Grid Compute Shader"
+SHADER_COMPUTE_GEN_BLEND, NONE, ../../src/shaders/compute/gen_blend.wgsl, "GPU Blend Composite Shader"
+SHADER_COMPUTE_GEN_MASK, NONE, ../../src/shaders/compute/gen_mask.wgsl, "GPU Mask Composite Shader"
CIRCLE_MASK_COMPUTE_SHADER, NONE, shaders/circle_mask_compute.wgsl, "Circle mask compute shader"
CIRCLE_MASK_RENDER_SHADER, NONE, shaders/circle_mask_render.wgsl, "Circle mask render shader"
MASKED_CUBE_SHADER, NONE, shaders/masked_cube.wgsl, "Masked cube shader"
SHADER_SCENE1, NONE, shaders/scene1.wgsl, "Scene1 effect shader"
# --- Sequence Shaders ---
-SHADER_SEQUENCE_V2_UNIFORMS, NONE, ../../common/shaders/sequence_uniforms.wgsl, "Sequence Uniforms Snippet"
-SHADER_POSTPROCESS_INLINE, NONE, ../../common/shaders/postprocess_inline.wgsl, "Inline Post-Process Functions"
-SHADER_PASSTHROUGH_V2, NONE, ../../common/shaders/passthrough.wgsl, "Passthrough Shader"
-SHADER_GAUSSIAN_BLUR_V2, NONE, ../../common/shaders/gaussian_blur.wgsl, "Gaussian Blur Shader"
-SHADER_HEPTAGON_V2, NONE, ../../common/shaders/heptagon.wgsl, "Heptagon Shader"
+SHADER_SEQUENCE_V2_UNIFORMS, NONE, ../../src/shaders/sequence_uniforms.wgsl, "Sequence Uniforms Snippet"
+SHADER_POSTPROCESS_INLINE, NONE, ../../src/shaders/postprocess_inline.wgsl, "Inline Post-Process Functions"
+SHADER_PASSTHROUGH_V2, NONE, ../../src/shaders/passthrough.wgsl, "Passthrough Shader"
+SHADER_GAUSSIAN_BLUR_V2, NONE, ../../src/shaders/gaussian_blur.wgsl, "Gaussian Blur Shader"
+SHADER_HEPTAGON_V2, NONE, ../../src/shaders/heptagon.wgsl, "Heptagon Shader"
SHADER_FLASH, NONE, shaders/flash.wgsl, "Flash Shader"
diff --git a/workspaces/test/assets.txt b/workspaces/test/assets.txt
index 7835cf8..6184d8b 100644
--- a/workspaces/test/assets.txt
+++ b/workspaces/test/assets.txt
@@ -24,17 +24,17 @@ NOISE_TEX, PROC(gen_noise, 1234, 16), _, "Procedural noise texture for bump mapp
# --- WGSL Shaders & Snippets ---
SHADER_RENDERER_3D, NONE, shaders/renderer_3d.wgsl, "Hybrid 3D Renderer Shader"
-SHADER_COMMON_UNIFORMS, NONE, ../../common/shaders/common_uniforms.wgsl, "Common Uniforms Snippet"
-SHADER_SDF_SHAPES, NONE, ../../common/shaders/math/sdf_shapes.wgsl, "SDF Shapes (2D/3D primitives)"
-SHADER_LIGHTING, NONE, ../../common/shaders/lighting.wgsl, "Lighting Snippet"
-SHADER_RAY_BOX, NONE, ../../common/shaders/ray_box.wgsl, "Ray-Box Intersection Snippet"
-SHADER_RAY_TRIANGLE, NONE, ../../common/shaders/ray_triangle.wgsl, "Ray-Triangle Intersection Snippet (Möller-Trumbore)"
+SHADER_COMMON_UNIFORMS, NONE, ../../src/shaders/common_uniforms.wgsl, "Common Uniforms Snippet"
+SHADER_SDF_SHAPES, NONE, ../../src/shaders/math/sdf_shapes.wgsl, "SDF Shapes (2D/3D primitives)"
+SHADER_LIGHTING, NONE, ../../src/shaders/lighting.wgsl, "Lighting Snippet"
+SHADER_RAY_BOX, NONE, ../../src/shaders/ray_box.wgsl, "Ray-Box Intersection Snippet"
+SHADER_RAY_TRIANGLE, NONE, ../../src/shaders/ray_triangle.wgsl, "Ray-Triangle Intersection Snippet (Möller-Trumbore)"
SHADER_SNIPPET_A, NONE, shaders/test_snippet_a.wgsl, "Test Snippet A"
SHADER_SNIPPET_B, NONE, shaders/test_snippet_b.wgsl, "Test Snippet B"
SHADER_MAIN, NONE, shaders/main_shader.wgsl, "Main Heptagon Shader"
SHADER_PARTICLE_COMPUTE, NONE, shaders/particle_compute.wgsl, "Particle Compute Shader"
SHADER_PARTICLE_RENDER, NONE, shaders/particle_render.wgsl, "Particle Render Shader"
-SHADER_PASSTHROUGH, NONE, ../../common/shaders/passthrough.wgsl, "Passthrough Shader"
+SHADER_PASSTHROUGH, NONE, ../../src/shaders/passthrough.wgsl, "Passthrough Shader"
SHADER_ELLIPSE, NONE, shaders/ellipse.wgsl, "Ellipse Shader"
SHADER_PARTICLE_SPRAY_COMPUTE, NONE, shaders/particle_spray_compute.wgsl, "Particle Spray Compute"
SHADER_GAUSSIAN_BLUR, NONE, shaders/gaussian_blur.wgsl, "Gaussian Blur Shader"
@@ -42,40 +42,40 @@ SHADER_SOLARIZE, NONE, shaders/solarize.wgsl, "Solarize Shader"
SHADER_DISTORT, NONE, shaders/distort.wgsl, "Distort Shader"
SHADER_CHROMA_ABERRATION, NONE, shaders/chroma_aberration.wgsl, "Chroma Aberration Shader"
SHADER_VISUAL_DEBUG, NONE, shaders/visual_debug.wgsl, "Visual Debug Shader"
-SHADER_SKYBOX, NONE, ../../common/shaders/skybox.wgsl, "Skybox background shader"
-SHADER_MATH_SDF_SHAPES, NONE, ../../common/shaders/math/sdf_shapes.wgsl, "SDF Shapes Snippet"
-SHADER_MATH_SDF_UTILS, NONE, ../../common/shaders/math/sdf_utils.wgsl, "SDF Utils Snippet"
-SHADER_MATH_COMMON_UTILS, NONE, ../../common/shaders/math/common_utils.wgsl, "Common Math Utils"
-SHADER_MATH_NOISE, NONE, ../../common/shaders/math/noise.wgsl, "RNG and Noise Functions"
-SHADER_RENDER_SHADOWS, NONE, ../../common/shaders/render/shadows.wgsl, "Shadows Snippet"
-SHADER_RENDER_SCENE_QUERY_BVH, NONE, ../../common/shaders/render/scene_query_bvh.wgsl, "Scene Query Snippet (BVH)"
-SHADER_RENDER_SCENE_QUERY_LINEAR, NONE, ../../common/shaders/render/scene_query_linear.wgsl, "Scene Query Snippet (Linear)"
-SHADER_RENDER_LIGHTING_UTILS, NONE, ../../common/shaders/render/lighting_utils.wgsl, "Lighting Utils Snippet"
+SHADER_SKYBOX, NONE, ../../src/shaders/skybox.wgsl, "Skybox background shader"
+SHADER_MATH_SDF_SHAPES, NONE, ../../src/shaders/math/sdf_shapes.wgsl, "SDF Shapes Snippet"
+SHADER_MATH_SDF_UTILS, NONE, ../../src/shaders/math/sdf_utils.wgsl, "SDF Utils Snippet"
+SHADER_MATH_COMMON_UTILS, NONE, ../../src/shaders/math/common_utils.wgsl, "Common Math Utils"
+SHADER_MATH_NOISE, NONE, ../../src/shaders/math/noise.wgsl, "RNG and Noise Functions"
+SHADER_RENDER_SHADOWS, NONE, ../../src/shaders/render/shadows.wgsl, "Shadows Snippet"
+SHADER_RENDER_SCENE_QUERY_BVH, NONE, ../../src/shaders/render/scene_query_bvh.wgsl, "Scene Query Snippet (BVH)"
+SHADER_RENDER_SCENE_QUERY_LINEAR, NONE, ../../src/shaders/render/scene_query_linear.wgsl, "Scene Query Snippet (Linear)"
+SHADER_RENDER_LIGHTING_UTILS, NONE, ../../src/shaders/render/lighting_utils.wgsl, "Lighting Utils Snippet"
SHADER_MESH, NONE, shaders/mesh_render.wgsl, "Mesh Rasterization Shader"
MESH_CUBE, NONE, obj/test_mesh.obj, "A simple cube mesh"
DODECAHEDRON, NONE, obj/dodecahedron.obj, "A dodecahedron mesh"
-SHADER_RENDER_FULLSCREEN_VS, NONE, ../../common/shaders/render/fullscreen_vs.wgsl, "Fullscreen Vertex Shader"
-SHADER_RENDER_FULLSCREEN_UV_VS, NONE, ../../common/shaders/render/fullscreen_uv_vs.wgsl, "Fullscreen Vertex Shader + UV"
-SHADER_MATH_COLOR, NONE, ../../common/shaders/math/color.wgsl, "Color Functions"
-SHADER_MATH_UTILS, NONE, ../../common/shaders/math/utils.wgsl, "Math Utilities"
-SHADER_RENDER_RAYMARCHING, NONE, ../../common/shaders/render/raymarching.wgsl, "Raymarching Functions"
-SHADER_RENDER_RAYMARCHING_ID, NONE, ../../common/shaders/render/raymarching_id.wgsl, "Raymarching-ID Functions"
+SHADER_RENDER_FULLSCREEN_VS, NONE, ../../src/shaders/render/fullscreen_vs.wgsl, "Fullscreen Vertex Shader"
+SHADER_RENDER_FULLSCREEN_UV_VS, NONE, ../../src/shaders/render/fullscreen_uv_vs.wgsl, "Fullscreen Vertex Shader + UV"
+SHADER_MATH_COLOR, NONE, ../../src/shaders/math/color.wgsl, "Color Functions"
+SHADER_MATH_UTILS, NONE, ../../src/shaders/math/utils.wgsl, "Math Utilities"
+SHADER_RENDER_RAYMARCHING, NONE, ../../src/shaders/render/raymarching.wgsl, "Raymarching Functions"
+SHADER_RENDER_RAYMARCHING_ID, NONE, ../../src/shaders/render/raymarching_id.wgsl, "Raymarching-ID Functions"
SHADER_VIGNETTE, NONE, shaders/vignette.wgsl, "Vignette Shader"
-SHADER_COMPUTE_GEN_NOISE, NONE, ../../common/shaders/compute/gen_noise.wgsl, "GPU Noise Compute Shader"
-SHADER_COMPUTE_GEN_PERLIN, NONE, ../../common/shaders/compute/gen_perlin.wgsl, "GPU Perlin Noise Compute Shader"
-SHADER_COMPUTE_GEN_GRID, NONE, ../../common/shaders/compute/gen_grid.wgsl, "GPU Grid Compute Shader"
-SHADER_COMPUTE_GEN_BLEND, NONE, ../../common/shaders/compute/gen_blend.wgsl, "GPU Blend Composite Shader"
-SHADER_COMPUTE_GEN_MASK, NONE, ../../common/shaders/compute/gen_mask.wgsl, "GPU Mask Composite Shader"
+SHADER_COMPUTE_GEN_NOISE, NONE, ../../src/shaders/compute/gen_noise.wgsl, "GPU Noise Compute Shader"
+SHADER_COMPUTE_GEN_PERLIN, NONE, ../../src/shaders/compute/gen_perlin.wgsl, "GPU Perlin Noise Compute Shader"
+SHADER_COMPUTE_GEN_GRID, NONE, ../../src/shaders/compute/gen_grid.wgsl, "GPU Grid Compute Shader"
+SHADER_COMPUTE_GEN_BLEND, NONE, ../../src/shaders/compute/gen_blend.wgsl, "GPU Blend Composite Shader"
+SHADER_COMPUTE_GEN_MASK, NONE, ../../src/shaders/compute/gen_mask.wgsl, "GPU Mask Composite Shader"
CIRCLE_MASK_COMPUTE_SHADER, NONE, shaders/circle_mask_compute.wgsl, "Circle mask compute shader"
CIRCLE_MASK_RENDER_SHADER, NONE, shaders/circle_mask_render.wgsl, "Circle mask render shader"
MASKED_CUBE_SHADER, NONE, shaders/masked_cube.wgsl, "Masked cube shader"
# --- Sequence Shaders ---
-SHADER_SEQUENCE_V2_UNIFORMS, NONE, ../../common/shaders/sequence_uniforms.wgsl, "Sequence Uniforms Snippet"
-SHADER_POSTPROCESS_INLINE, NONE, ../../common/shaders/postprocess_inline.wgsl, "Inline Post-Process Functions"
-SHADER_PASSTHROUGH_V2, NONE, ../../common/shaders/passthrough.wgsl, "Passthrough Shader"
-SHADER_GAUSSIAN_BLUR_V2, NONE, ../../common/shaders/gaussian_blur.wgsl, "Gaussian Blur Shader"
-SHADER_HEPTAGON_V2, NONE, ../../common/shaders/heptagon.wgsl, "Heptagon Shader"
+SHADER_SEQUENCE_V2_UNIFORMS, NONE, ../../src/shaders/sequence_uniforms.wgsl, "Sequence Uniforms Snippet"
+SHADER_POSTPROCESS_INLINE, NONE, ../../src/shaders/postprocess_inline.wgsl, "Inline Post-Process Functions"
+SHADER_PASSTHROUGH_V2, NONE, ../../src/shaders/passthrough.wgsl, "Passthrough Shader"
+SHADER_GAUSSIAN_BLUR_V2, NONE, ../../src/shaders/gaussian_blur.wgsl, "Gaussian Blur Shader"
+SHADER_HEPTAGON_V2, NONE, ../../src/shaders/heptagon.wgsl, "Heptagon Shader"
SHADER_ROTATING_CUBE_V2, NONE, ../main/shaders/rotating_cube.wgsl, "Rotating Cube Shader"
SHADER_FLASH, NONE, shaders/flash.wgsl, "Flash Shader"