summaryrefslogtreecommitdiff
path: root/doc/HOWTO.md
diff options
context:
space:
mode:
authorskal <pascal.massimino@gmail.com>2026-02-06 10:25:04 +0100
committerskal <pascal.massimino@gmail.com>2026-02-06 10:25:04 +0100
commit83f34fb955524c09b7f3e124b97c3d4feef02a0c (patch)
tree65c7e2621ec806993fc717a22ba1688fd8b66d62 /doc/HOWTO.md
parent34b88141c44b7b7ea56f160d755de1d17c79e882 (diff)
docs: Update documentation for completed build optimization (Task C)
Updated documentation to reflect completed build system improvements: TODO.md: - Moved Task C to 'Recently Completed (February 6, 2026)' section - Documented header split (asset_manager_dcl/core/utils) - Documented asset dependency tracking (42 demo + 17 test assets) - Noted 58% performance improvement and critical correctness bug fix - Removed Task C from 'Critical Fixes' section (completed) PROJECT_CONTEXT.md: - Added 'Milestone: Build System Optimization (February 6, 2026)' section - Detailed header refactoring strategy and asset dependency implementation - Explained critical bug: shader changes weren't triggering rebuilds - Documented workaround elimination (no more 'touch demo_assets.txt') HOWTO.md: - Added 'Build System Notes' section after developer build instructions - Explained incremental build behavior and asset tracking - Documented header organization (dcl/core/utils) for developers - Clarified that all asset types (.wgsl, .spec, .obj) are tracked All documentation now accurately reflects current build system state. Ready to begin next task: Spectrogram Editor (HTML).
Diffstat (limited to 'doc/HOWTO.md')
-rw-r--r--doc/HOWTO.md13
1 files changed, 13 insertions, 0 deletions
diff --git a/doc/HOWTO.md b/doc/HOWTO.md
index 5af3f05..ef1f1ed 100644
--- a/doc/HOWTO.md
+++ b/doc/HOWTO.md
@@ -55,6 +55,19 @@ cmake -S . -B build -DDEMO_ALL_OPTIONS=ON
cmake --build build
```
+### Build System Notes
+
+**Incremental Builds**: The build system tracks all source files (.cc, .h) and asset files (.wgsl shaders, .spec audio, .obj meshes) as dependencies. Editing any file will trigger the necessary rebuilds automatically.
+
+**Asset Dependency Tracking**: CMake tracks 42 demo assets and 17 test assets individually. Changing a shader file (e.g., `assets/final/shaders/renderer_3d.wgsl`) automatically regenerates the asset bundle and recompiles dependent files. No manual workarounds needed.
+
+**Header Organization**: The `asset_manager` system is split into three headers for faster incremental builds:
+- `asset_manager_dcl.h`: Forward declarations (use in headers)
+- `asset_manager.h`: Core API (GetAsset/DropAsset)
+- `asset_manager_utils.h`: Typed helpers (TextureAsset/MeshAsset)
+
+Include only what you need to minimize rebuild times.
+
## git cloning
if you have the public ssh key authorized on the VPS, you can use