summaryrefslogtreecommitdiff
path: root/workspaces
diff options
context:
space:
mode:
authorskal <pascal.massimino@gmail.com>2026-03-08 09:33:17 +0100
committerskal <pascal.massimino@gmail.com>2026-03-08 09:33:17 +0100
commita2f0f7c7a45ba8b30984fb135b8b54f11fb119f8 (patch)
tree794527d25368227320e5f6aebe409178296db391 /workspaces
parent9d114ae4fec465baed381de7782ef42ca77e734b (diff)
feat: Implement dual-mode asset loading and update documentation
This commit introduces a dual-mode asset loading system to enhance developer workflow and optimize release builds. Key changes include: - **Dual-Mode Asset Loading:** Assets are now loaded from disk during development (when is OFF) for faster iteration, particularly for heavy assets like and files. For release builds ( ON), all assets are embedded directly into the binary, ensuring a single, self-contained executable. - **Explicit Asset Typing:** Replaced generic asset type with specific types (, , , , ) in and the enum in for clearer categorization and more robust processing. - **Build System Integration:** Modified to pass a flag to in development builds. - **Asset Packer Updates:** now generates file paths for disk-loaded assets and embeds data for others based on the build mode. - **Asset Manager Enhancements:** includes new logic in for loading and caching disk-based assets and updates to for proper memory deallocation. - **Documentation:** Updated to reflect the new asset nomenclature and dual-mode loading strategy. - **Project Rules:** Added a concise rule to mandating top-level documentation updates for medium/large sub-system changes. handoff(Gemini): Implemented dual-mode asset loading and updated documentation.
Diffstat (limited to 'workspaces')
-rw-r--r--workspaces/main/assets.txt166
1 files changed, 83 insertions, 83 deletions
diff --git a/workspaces/main/assets.txt b/workspaces/main/assets.txt
index 7ce8bdd..5f5bad7 100644
--- a/workspaces/main/assets.txt
+++ b/workspaces/main/assets.txt
@@ -8,22 +8,22 @@
# PROC_GPU(func,..) - GPU compute procedural generation at init
# --- Drum & Percussion Samples ---
-KICK_1, NONE, music/KICK_606.spec, "606 Kick"
-KICK_2, NONE, music/KICK_90S_2.spec, "90s Kick"
-SNARE_1, NONE, music/SNARE_808.spec, "808 Snare"
-SNARE_2, NONE, music/SNARE_909_TUNE_8.spec, "909 Snare"
-SNARE_3, NONE, music/SNARE_BLUE_ROOM.spec, "Snare Blue Room"
-HIHAT_1, NONE, music/HIHAT_CLOSED_DMX.spec, "DMX Closed Hi-hat"
-HIHAT_2, NONE, music/HIHAT_CLOSED_DUFF.spec, "Duff Closed Hi-hat"
-HIHAT_3, NONE, music/HIHAT_CLOSED_ER_1.spec, "ER-1 Closed Hi-hat"
-CRASH_1, NONE, music/CRASH_DMX.spec, "DMX Crash"
-RIDE_1, NONE, music/RIDE_CUP_1.spec, "Ride Cymbal"
-SPLASH_1, NONE, music/SPLASH_GROUNDED.spec, "Splash Cymbal"
+KICK_1, SPEC, music/KICK_606.spec, "606 Kick"
+KICK_2, SPEC, music/KICK_90S_2.spec, "90s Kick"
+SNARE_1, SPEC, music/SNARE_808.spec, "808 Snare"
+SNARE_2, SPEC, music/SNARE_909_TUNE_8.spec, "909 Snare"
+SNARE_3, SPEC, music/SNARE_BLUE_ROOM.spec, "Snare Blue Room"
+HIHAT_1, SPEC, music/HIHAT_CLOSED_DMX.spec, "DMX Closed Hi-hat"
+HIHAT_2, SPEC, music/HIHAT_CLOSED_DUFF.spec, "Duff Closed Hi-hat"
+HIHAT_3, SPEC, music/HIHAT_CLOSED_ER_1.spec, "ER-1 Closed Hi-hat"
+CRASH_1, SPEC, music/CRASH_DMX.spec, "DMX Crash"
+RIDE_1, SPEC, music/RIDE_CUP_1.spec, "Ride Cymbal"
+SPLASH_1, SPEC, music/SPLASH_GROUNDED.spec, "Splash Cymbal"
# --- Melodic Samples ---
-BASS_1, NONE, music/BASS_GUITAR_FEEL.spec, "Bass Guitar"
-BASS_2, NONE, music/BASS_SYNTH_1.spec, "Synth Bass 1"
-BASS_3, NONE, music/SYNTH_BASS_DISTORT.spec, "Distorted Synth Bass"
+BASS_1, SPEC, music/BASS_GUITAR_FEEL.spec, "Bass Guitar"
+BASS_2, SPEC, music/BASS_SYNTH_1.spec, "Synth Bass 1"
+BASS_3, SPEC, music/SYNTH_BASS_DISTORT.spec, "Distorted Synth Bass"
NEVER_MP3, MP3, music/never.mp3, "MP3 Sample"
DRUM_MP3, MP3, music/drum.mp3, "Drum Sample"
@@ -31,74 +31,74 @@ DRUM_MP3, MP3, music/drum.mp3, "Drum Sample"
NOISE_TEX, PROC(gen_noise, 1234, 16), _, "Procedural noise texture for bump mapping"
# --- WGSL Shaders & Snippets ---
-SHADER_RENDERER_3D, NONE, shaders/renderer_3d.wgsl, "Hybrid 3D Renderer Shader"
-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, ../../src/effects/particle_compute.wgsl, "Particle Compute Shader"
-SHADER_PARTICLE_RENDER, NONE, ../../src/effects/particle_render.wgsl, "Particle Render Shader"
-SHADER_PARTICLE_COMPUTE_V2, NONE, ../../src/effects/particle_compute.wgsl, "Particle Compute Shader"
-SHADER_PARTICLE_RENDER_V2, NONE, ../../src/effects/particle_render.wgsl, "Particle Render Shader"
-SHADER_ROTATING_CUBE_V2, NONE, ../../src/effects/rotating_cube.wgsl, "Rotating Cube Shader"
-SHADER_PASSTHROUGH, NONE, ../../src/shaders/passthrough.wgsl, "Passthrough Shader"
-SHADER_ELLIPSE, NONE, ../../src/effects/ellipse.wgsl, "Ellipse Shader"
-SHADER_PARTICLE_SPRAY_COMPUTE, NONE, ../../src/effects/particle_spray_compute.wgsl, "Particle Spray Compute"
-SHADER_GAUSSIAN_BLUR, NONE, ../../src/effects/gaussian_blur.wgsl, "Gaussian Blur Shader"
-SHADER_CNN_ACTIVATION, NONE, ../../cnn_v1/shaders/cnn_activation.wgsl, "CNN Activation Functions"
-SHADER_CNN_CONV1X1, NONE, ../../cnn_v1/shaders/cnn_conv1x1.wgsl, "CNN 1x1 Convolution"
-SHADER_CNN_CONV3X3, NONE, ../../cnn_v1/shaders/cnn_conv3x3.wgsl, "CNN 3x3 Convolution"
-SHADER_CNN_CONV5X5, NONE, ../../cnn_v1/shaders/cnn_conv5x5.wgsl, "CNN 5x5 Convolution"
-SHADER_CNN_CONV7X7, NONE, ../../cnn_v1/shaders/cnn_conv7x7.wgsl, "CNN 7x7 Convolution"
-SHADER_CNN_WEIGHTS, NONE, ../../cnn_v1/shaders/cnn_weights_generated.wgsl, "CNN Weights (Generated)"
-SHADER_CNN_LAYER, NONE, ../../cnn_v1/shaders/cnn_layer.wgsl, "CNN Layer Shader"
-SHADER_CNN_V2_STATIC, NONE, ../../cnn_v2/shaders/cnn_v2_static.wgsl, "CNN v2 Static Features"
-SHADER_CNN_V2_COMPUTE, NONE, ../../cnn_v2/shaders/cnn_v2_compute.wgsl, "CNN v2 Compute (Storage Buffer)"
-WEIGHTS_CNN_V2, NONE, ../../cnn_v2/weights/cnn_v2_weights.bin, "CNN v2 Binary Weights"
-SHADER_SOLARIZE, NONE, ../../src/effects/solarize.wgsl, "Solarize Shader"
-SHADER_DISTORT, NONE, ../../src/effects/distort.wgsl, "Distort Shader"
-SHADER_CHROMA_ABERRATION, NONE, ../../src/effects/chroma_aberration.wgsl, "Chroma Aberration Shader"
-SHADER_VISUAL_DEBUG, NONE, shaders/visual_debug.wgsl, "Visual Debug Shader"
-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, ../../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, ../../src/effects/vignette.wgsl, "Vignette 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, ../../src/effects/scene1.wgsl, "Scene1 effect shader"
-SHADER_SCENE2, NONE, ../../src/effects/scene2.wgsl, "Scene2 effect shader"
-SHADER_RENDER_SCRATCH_LINES, NONE, ../../src/shaders/render/scratch_lines.wgsl, "Film scratch lines snippet"
-SHADER_SCRATCH, NONE, ../../src/effects/scratch.wgsl, "Scratch effect shader"
-SHADER_NTSC, NONE, ../../src/effects/ntsc.wgsl, "NTSC effect shader"
+SHADER_RENDERER_3D, WGSL, shaders/renderer_3d.wgsl, "Hybrid 3D Renderer Shader"
+SHADER_COMMON_UNIFORMS, WGSL, ../../src/shaders/common_uniforms.wgsl, "Common Uniforms Snippet"
+SHADER_CAMERA_COMMON, WGSL, ../../src/shaders/camera_common.wgsl, "Camera parameters and raymarching helpers"
+SHADER_SDF_SHAPES, WGSL, ../../src/shaders/math/sdf_shapes.wgsl, "SDF Shapes (2D/3D primitives)"
+SHADER_LIGHTING, WGSL, ../../src/shaders/lighting.wgsl, "Lighting Snippet"
+SHADER_RAY_BOX, WGSL, ../../src/shaders/ray_box.wgsl, "Ray-Box Intersection Snippet"
+SHADER_RAY_TRIANGLE, WGSL, ../../src/shaders/ray_triangle.wgsl, "Ray-Triangle Intersection Snippet (Möller-Trumbore)"
+SHADER_MAIN, WGSL, shaders/main_shader.wgsl, "Main Heptagon Shader"
+SHADER_PARTICLE_COMPUTE, WGSL, ../../src/effects/particle_compute.wgsl, "Particle Compute Shader"
+SHADER_PARTICLE_RENDER, WGSL, ../../src/effects/particle_render.wgsl, "Particle Render Shader"
+SHADER_PARTICLE_COMPUTE_V2, WGSL, ../../src/effects/particle_compute.wgsl, "Particle Compute Shader"
+SHADER_PARTICLE_RENDER_V2, WGSL, ../../src/effects/particle_render.wgsl, "Particle Render Shader"
+SHADER_ROTATING_CUBE_V2, WGSL, ../../src/effects/rotating_cube.wgsl, "Rotating Cube Shader"
+SHADER_PASSTHROUGH, WGSL, ../../src/shaders/passthrough.wgsl, "Passthrough Shader"
+SHADER_ELLIPSE, WGSL, ../../src/effects/ellipse.wgsl, "Ellipse Shader"
+SHADER_PARTICLE_SPRAY_COMPUTE, WGSL, ../../src/effects/particle_spray_compute.wgsl, "Particle Spray Compute"
+SHADER_GAUSSIAN_BLUR, WGSL, ../../src/effects/gaussian_blur.wgsl, "Gaussian Blur Shader"
+SHADER_CNN_ACTIVATION, WGSL, ../../cnn_v1/shaders/cnn_activation.wgsl, "CNN Activation Functions"
+SHADER_CNN_CONV1X1, WGSL, ../../cnn_v1/shaders/cnn_conv1x1.wgsl, "CNN 1x1 Convolution"
+SHADER_CNN_CONV3X3, WGSL, ../../cnn_v1/shaders/cnn_conv3x3.wgsl, "CNN 3x3 Convolution"
+SHADER_CNN_CONV5X5, WGSL, ../../cnn_v1/shaders/cnn_conv5x5.wgsl, "CNN 5x5 Convolution"
+SHADER_CNN_CONV7X7, WGSL, ../../cnn_v1/shaders/cnn_conv7x7.wgsl, "CNN 7x7 Convolution"
+SHADER_CNN_WEIGHTS, WGSL, ../../cnn_v1/shaders/cnn_weights_generated.wgsl, "CNN Weights (Generated)"
+SHADER_CNN_LAYER, WGSL, ../../cnn_v1/shaders/cnn_layer.wgsl, "CNN Layer Shader"
+SHADER_CNN_V2_STATIC, WGSL, ../../cnn_v2/shaders/cnn_v2_static.wgsl, "CNN v2 Static Features"
+SHADER_CNN_V2_COMPUTE, WGSL, ../../cnn_v2/shaders/cnn_v2_compute.wgsl, "CNN v2 Compute (Storage Buffer)"
+WEIGHTS_CNN_V2, BINARY, ../../cnn_v2/weights/cnn_v2_weights.bin, "CNN v2 Binary Weights"
+SHADER_SOLARIZE, WGSL, ../../src/effects/solarize.wgsl, "Solarize Shader"
+SHADER_DISTORT, WGSL, ../../src/effects/distort.wgsl, "Distort Shader"
+SHADER_CHROMA_ABERRATION, WGSL, ../../src/effects/chroma_aberration.wgsl, "Chroma Aberration Shader"
+SHADER_VISUAL_DEBUG, WGSL, shaders/visual_debug.wgsl, "Visual Debug Shader"
+SHADER_SKYBOX, WGSL, ../../src/shaders/skybox.wgsl, "Skybox background shader"
+SHADER_MATH_SDF_SHAPES, WGSL, ../../src/shaders/math/sdf_shapes.wgsl, "SDF Shapes Snippet"
+SHADER_MATH_SDF_UTILS, WGSL, ../../src/shaders/math/sdf_utils.wgsl, "SDF Utils Snippet"
+SHADER_MATH_COMMON_UTILS, WGSL, ../../src/shaders/math/common_utils.wgsl, "Common Math Utils"
+SHADER_MATH_NOISE, WGSL, ../../src/shaders/math/noise.wgsl, "RNG and Noise Functions"
+SHADER_RENDER_SHADOWS, WGSL, ../../src/shaders/render/shadows.wgsl, "Shadows Snippet"
+SHADER_RENDER_SCENE_QUERY_BVH, WGSL, ../../src/shaders/render/scene_query_bvh.wgsl, "Scene Query Snippet (BVH)"
+SHADER_RENDER_SCENE_QUERY_LINEAR, WGSL, ../../src/shaders/render/scene_query_linear.wgsl, "Scene Query Snippet (Linear)"
+SHADER_RENDER_LIGHTING_UTILS, WGSL, ../../src/shaders/render/lighting_utils.wgsl, "Lighting Utils Snippet"
+SHADER_MESH, WGSL, shaders/mesh_render.wgsl, "Mesh Rasterization Shader"
+MESH_CUBE, MESH, obj/test_mesh.obj, "A simple cube mesh"
+DODECAHEDRON, MESH, obj/dodecahedron.obj, "A dodecahedron mesh"
+SHADER_RENDER_FULLSCREEN_VS, WGSL, ../../src/shaders/render/fullscreen_vs.wgsl, "Fullscreen Vertex Shader"
+SHADER_RENDER_FULLSCREEN_UV_VS, WGSL, ../../src/shaders/render/fullscreen_uv_vs.wgsl, "Fullscreen Vertex Shader + UV"
+SHADER_MATH_COLOR, WGSL, ../../src/shaders/math/color.wgsl, "Color Functions"
+SHADER_MATH_UTILS, WGSL, ../../src/shaders/math/utils.wgsl, "Math Utilities"
+SHADER_RENDER_RAYMARCHING, WGSL, ../../src/shaders/render/raymarching.wgsl, "Raymarching Functions"
+SHADER_RENDER_RAYMARCHING_ID, WGSL, ../../src/shaders/render/raymarching_id.wgsl, "Raymarching-ID Functions"
+SHADER_VIGNETTE, WGSL, ../../src/effects/vignette.wgsl, "Vignette Shader"
+SHADER_COMPUTE_GEN_NOISE, WGSL, ../../src/shaders/compute/gen_noise.wgsl, "GPU Noise Compute Shader"
+SHADER_COMPUTE_GEN_PERLIN, WGSL, ../../src/shaders/compute/gen_perlin.wgsl, "GPU Perlin Noise Compute Shader"
+SHADER_COMPUTE_GEN_GRID, WGSL, ../../src/shaders/compute/gen_grid.wgsl, "GPU Grid Compute Shader"
+SHADER_COMPUTE_GEN_BLEND, WGSL, ../../src/shaders/compute/gen_blend.wgsl, "GPU Blend Composite Shader"
+SHADER_COMPUTE_GEN_MASK, WGSL, ../../src/shaders/compute/gen_mask.wgsl, "GPU Mask Composite Shader"
+CIRCLE_MASK_COMPUTE_SHADER, WGSL, shaders/circle_mask_compute.wgsl, "Circle mask compute shader"
+CIRCLE_MASK_RENDER_SHADER, WGSL, shaders/circle_mask_render.wgsl, "Circle mask render shader"
+MASKED_CUBE_SHADER, WGSL, shaders/masked_cube.wgsl, "Masked cube shader"
+SHADER_SCENE1, WGSL, ../../src/effects/scene1.wgsl, "Scene1 effect shader"
+SHADER_SCENE2, WGSL, ../../src/effects/scene2.wgsl, "Scene2 effect shader"
+SHADER_RENDER_SCRATCH_LINES, WGSL, ../../src/shaders/render/scratch_lines.wgsl, "Film scratch lines snippet"
+SHADER_SCRATCH, WGSL, ../../src/effects/scratch.wgsl, "Scratch effect shader"
+SHADER_NTSC, WGSL, ../../src/effects/ntsc.wgsl, "NTSC effect shader"
# --- Sequence Shaders ---
-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, ../../src/effects/flash.wgsl, "Flash Shader"
+SHADER_SEQUENCE_V2_UNIFORMS, WGSL, ../../src/shaders/sequence_uniforms.wgsl, "Sequence Uniforms Snippet"
+SHADER_POSTPROCESS_INLINE, WGSL, ../../src/shaders/postprocess_inline.wgsl, "Inline Post-Process Functions"
+SHADER_PASSTHROUGH_V2, WGSL, ../../src/shaders/passthrough.wgsl, "Passthrough Shader"
+SHADER_GAUSSIAN_BLUR_V2, WGSL, ../../src/shaders/gaussian_blur.wgsl, "Gaussian Blur Shader"
+SHADER_HEPTAGON_V2, WGSL, ../../src/shaders/heptagon.wgsl, "Heptagon Shader"
+SHADER_FLASH, WGSL, ../../src/effects/flash.wgsl, "Flash Shader"