diff options
Diffstat (limited to 'PROJECT_CONTEXT.md')
| -rw-r--r-- | PROJECT_CONTEXT.md | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/PROJECT_CONTEXT.md b/PROJECT_CONTEXT.md index 2f1333b..27b7ed9 100644 --- a/PROJECT_CONTEXT.md +++ b/PROJECT_CONTEXT.md @@ -28,36 +28,35 @@ Style: ## Project Roadmap ### Next Up -- ** Task #?: Build system - - [ ] collect the sub-system code under (static and dynamic) libraries - - [ ] consolidate CMakeList.txt content to use more macro for declaration, to avoid long repetitives lines and clauses +- **Task #25: Build System Consolidation**: + - [ ] Create static/dynamic libraries for subsystems (audio, gpu, 3d, util) to improve modularity. + - [ ] Refactor `CMakeLists.txt` using macros to reduce boilerplate and repetitive clauses. + - [ ] Consolidate host-tool build logic (asset_packer, etc.) into a unified helper. - **Task #20: Code & Platform Hygiene** - [ ] Gather all cross-compile and platform-specific conditional code into `platform.h`. - [ ] Refactor `platform_init()` and `platform_poll()` for cleaner abstraction. - [ ] Consolidate WebGPU header inclusions. - - [ ] Remove `std::map`/`std::vector` from hot paths. + - [ ] Remove `std::map`/`std::vector` from hot paths to prepare for CRT replacement. - **Task #18: 3D System Enhancements** - [ ] **Blender Exporter**: Create script to export scenes to internal binary format. - [ ] **Asset Pipeline**: Update `asset_packer` and runtime loader for 3D scenes. -- **Task #21: Shader Optimization** - - [ ] Use macros or code generation to factorize common WGSL code (normals, bump, lighting). - - [ ] Implement Tri-planar mapping for better procedural textures. - ### Future Goals - **Task #5: Implement Spectrogram Editor** - [ ] Develop a web-based tool (`tools/editor`) for creating and editing `.spec` files visually. -- **Task #18: 3D System Enhancements** - - [ ] **Blender Exporter**: Convert Blender scenes to internal asset format. - - [ ] **GPU BVH & Shadows**: Optimize scene queries with a GPU-based BVH. +- **Task #21: Shader Optimization** + - [ ] Use macros or code generation to factorize common WGSL code (normals, bump, lighting). + - [ ] Implement Tri-planar mapping for better procedural textures. +- **Task #18-B: GPU BVH & Shadows**: Optimize scene queries with a GPU-based BVH. - **Phase 2: Advanced Size Optimization** - [ ] Replace GLFW with minimal native Windows API. - [ ] Quantize spectrograms to logarithmic frequency and uint16_t. - [ ] CRT replacement investigation. ### Recently Completed +- **Asset System Robustness**: Resolved "static initialization order fiasco" by wrapping the asset table in a "Construct On First Use" getter (`GetAssetRecordTable()`), ensuring assets are available during dynamic global initialization (e.g., shader strings). - **Shader Asset Integration (Task #24)**: Extracted all hardcoded WGSL strings into `.wgsl` assets, registered them in `demo_assets.txt`, and updated `Renderer3D`, `VisualDebug`, and `Effects` to use `GetAsset` and `ShaderComposer`. - **WebGPU Stabilization**: Resolved `WGPUSurface` creation failures on macOS by adding platform-specific `GLFW_EXPOSE_NATIVE_COCOA` definitions and fixed validation errors in the render pass configuration. - **Final Build Stripping (Task #8)**: Implemented the `STRIP_ALL` macro to remove non-essential code (CLI parsing, debug labels, iostream) and refined size optimization flags (`-dead_strip`) for macOS. |
