summaryrefslogtreecommitdiff
path: root/src/generated/assets_data.cc
diff options
context:
space:
mode:
authorskal <pascal.massimino@gmail.com>2026-02-06 10:22:01 +0100
committerskal <pascal.massimino@gmail.com>2026-02-06 10:22:01 +0100
commit34b88141c44b7b7ea56f160d755de1d17c79e882 (patch)
tree87f21c79a1dfb10fa85a853c5a5488205dc13ba5 /src/generated/assets_data.cc
parente281b6ff0884a5b4af8aa2ca79fd01141bc2005b (diff)
fix(build): Add file-level dependencies for assets (shaders, meshes, audio)
CRITICAL FIX: Changing .wgsl/.spec/.obj files now triggers asset regeneration. Problem: CMake only tracked demo_assets.txt, not individual asset files. Result: Editing shaders didn't trigger rebuilds → stale code in binary! Solution: Parse demo_assets.txt to extract all asset filenames and add them to DEPENDS clause in add_custom_command(). Now CMake tracks all 42 assets. Implementation: - Added parse_asset_list() function to extract filenames from asset list - Regex parses format: ASSET_NAME, COMPRESSION, FILENAME, DESCRIPTION - Filters out PROC() entries (procedural, no file on disk) - Adds full paths to DEPENDS for both pack_assets() and pack_test_assets() Performance impact: - Before: touch shader → 0.28s (no rebuild, STALE!) - After: touch shader → 3.55s (regenerates assets, rebuilds users) Files tracked: 42 demo assets + 17 test assets - Shaders: renderer_3d.wgsl, mesh_render.wgsl, skybox.wgsl, etc. - Audio: kick1.spec, KICK_606.spec, snare samples, bass samples - Meshes: dodecahedron.obj, other geometry Developer workflow: No more 'touch demo_assets.txt' workaround needed! Just edit shaders and rebuild - dependencies work correctly now.
Diffstat (limited to 'src/generated/assets_data.cc')
-rw-r--r--src/generated/assets_data.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/generated/assets_data.cc b/src/generated/assets_data.cc
index 0b2daba..a29680f 100644
--- a/src/generated/assets_data.cc
+++ b/src/generated/assets_data.cc
@@ -369584,7 +369584,7 @@ static const float ASSET_PROC_PARAMS_NOISE_TEX[] = {1234.000000, 16.000000};
static const char* ASSET_PROC_FUNC_STR_NOISE_TEX = "gen_noise";
-const size_t ASSET_SIZE_SHADER_RENDERER_3D = 9449;
+const size_t ASSET_SIZE_SHADER_RENDERER_3D = 9468;
alignas(16) static const uint8_t ASSET_DATA_SHADER_RENDERER_3D[] = {
0x23, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x20, 0x22, 0x63, 0x6f,
0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d,
@@ -370373,7 +370373,9 @@ alignas(16) static const uint8_t ASSET_DATA_SHADER_RENDERER_3D[] = {
0x6f, 0x73, 0x2e, 0x7a, 0x20, 0x2f, 0x20, 0x63, 0x6c, 0x69, 0x70, 0x5f,
0x70, 0x6f, 0x73, 0x2e, 0x77, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x0a,
0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6f,
- 0x75, 0x74, 0x3b, 0x0a, 0x7d, 0x00
+ 0x75, 0x74, 0x3b, 0x0a, 0x7d, 0x2f, 0x2f, 0x20, 0x64, 0x65, 0x70, 0x65,
+ 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x20, 0x74, 0x65, 0x73, 0x74, 0x0a,
+ 0x00
};
const size_t ASSET_SIZE_SHADER_COMMON_UNIFORMS = 346;
alignas(16) static const uint8_t ASSET_DATA_SHADER_COMMON_UNIFORMS[] = {