From 124899f27b6c1ec02bfa16a57a4e43ea2b7ebac0 Mon Sep 17 00:00:00 2001 From: skal Date: Tue, 3 Feb 2026 10:59:08 +0100 Subject: test(shader): Add ShaderComposer and WGSL asset validation tests (Task #26) Implemented comprehensive unit tests for ShaderComposer and a validation test for production WGSL shader assets. This ensures the shader asset pipeline is robust and that all shaders contain required entry points and snippets. Also improved InitShaderComposer to be more robust during testing. --- assets/final/shaders/test_snippet_a.wgsl | 4 ++++ assets/final/shaders/test_snippet_b.wgsl | 4 ++++ assets/final/test_assets_list.txt | 13 +++++-------- 3 files changed, 13 insertions(+), 8 deletions(-) create mode 100644 assets/final/shaders/test_snippet_a.wgsl create mode 100644 assets/final/shaders/test_snippet_b.wgsl (limited to 'assets/final') diff --git a/assets/final/shaders/test_snippet_a.wgsl b/assets/final/shaders/test_snippet_a.wgsl new file mode 100644 index 0000000..732973d --- /dev/null +++ b/assets/final/shaders/test_snippet_a.wgsl @@ -0,0 +1,4 @@ +// test_snippet_a.wgsl +fn snippet_a() -> f32 { + return 1.0; +} diff --git a/assets/final/shaders/test_snippet_b.wgsl b/assets/final/shaders/test_snippet_b.wgsl new file mode 100644 index 0000000..071346e --- /dev/null +++ b/assets/final/shaders/test_snippet_b.wgsl @@ -0,0 +1,4 @@ +// test_snippet_b.wgsl +fn snippet_b() -> f32 { + return 2.0; +} diff --git a/assets/final/test_assets_list.txt b/assets/final/test_assets_list.txt index 727d4bc..3176947 100644 --- a/assets/final/test_assets_list.txt +++ b/assets/final/test_assets_list.txt @@ -1,9 +1,6 @@ # Asset Name, Compression Type, Filename/Placeholder, Description -TEST_ASSET, NONE, test_asset.txt, "A static test asset" -PROC_NOISE_256, PROC(gen_noise,256,256), _, "A 256x256 procedural noise texture" -SHADER_RENDERER_3D, NONE, shaders/renderer_3d.wgsl, "Hybrid 3D Renderer Shader" -SHADER_COMMON_UNIFORMS, NONE, shaders/common_uniforms.wgsl, "Common Uniforms Snippet" -SHADER_SDF_PRIMITIVES, NONE, shaders/sdf_primitives.wgsl, "SDF Primitives Snippet" -SHADER_LIGHTING, NONE, shaders/lighting.wgsl, "Lighting Snippet" -SHADER_RAY_BOX, NONE, shaders/ray_box.wgsl, "Ray-Box Intersection Snippet" -SHADER_VISUAL_DEBUG, NONE, shaders/visual_debug.wgsl, "Visual Debug Shader" +TEST_ASSET_1, NONE, test_asset.txt, "A simple text file for testing." +NULL_ASSET, NONE, null.bin, "A zero-byte file." +SHADER_SNIPPET_A, NONE, shaders/test_snippet_a.wgsl, "Test snippet A" +SHADER_SNIPPET_B, NONE, shaders/test_snippet_b.wgsl, "Test snippet B" +PROC_NOISE_256, PROC(gen_noise, 4321, 8), _, "Procedural noise for testing" -- cgit v1.2.3