summaryrefslogtreecommitdiff
path: root/PROJECT_CONTEXT.md
diff options
context:
space:
mode:
Diffstat (limited to 'PROJECT_CONTEXT.md')
-rw-r--r--PROJECT_CONTEXT.md21
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.