diff options
| author | skal <pascal.massimino@gmail.com> | 2026-02-06 10:25:04 +0100 |
|---|---|---|
| committer | skal <pascal.massimino@gmail.com> | 2026-02-06 10:25:04 +0100 |
| commit | 83f34fb955524c09b7f3e124b97c3d4feef02a0c (patch) | |
| tree | 65c7e2621ec806993fc717a22ba1688fd8b66d62 /doc | |
| parent | 34b88141c44b7b7ea56f160d755de1d17c79e882 (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')
| -rw-r--r-- | doc/HOWTO.md | 13 |
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 |
