diff options
| author | skal <pascal.massimino@gmail.com> | 2026-02-03 08:18:50 +0100 |
|---|---|---|
| committer | skal <pascal.massimino@gmail.com> | 2026-02-03 08:18:50 +0100 |
| commit | f9b91fac0f4611bd344eb57c8596b2da04926d02 (patch) | |
| tree | 21e360fd7f28b0842645437ecbbf6bc51686d2c3 | |
| parent | f32afcbeffa0e8b947457c67c73566da4ebf33cc (diff) | |
docs: Mark Shader Asset Integration (Task #24) as completed
Updates status in PROJECT_CONTEXT.md and TODO.md.
| -rw-r--r-- | PROJECT_CONTEXT.md | 7 | ||||
| -rw-r--r-- | TODO.md | 12 |
2 files changed, 4 insertions, 15 deletions
diff --git a/PROJECT_CONTEXT.md b/PROJECT_CONTEXT.md index 19e704a..d02e365 100644 --- a/PROJECT_CONTEXT.md +++ b/PROJECT_CONTEXT.md @@ -34,12 +34,6 @@ Style: - [ ] Consolidate WebGPU header inclusions. - [ ] Remove `std::map`/`std::vector` from hot paths. -- **Task #24: Shader Asset Integration** - - [ ] Extract hardcoded WGSL strings into `assets/final/shaders/`. - - [ ] Register shader assets in `demo_assets.txt`. - - [ ] Update `ShaderComposer` to load snippets from `AssetManager`. - - [ ] Refactor `Renderer3D` and `demo64k` to use asset-based shaders. - - **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. @@ -60,6 +54,7 @@ Style: - [ ] CRT replacement investigation. ### Recently Completed +- **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. - **Minimal Audio Tracker (Task 21.3)**: Finalized a pattern-based audio tracker supporting both procedural notes and asset-based spectrograms with a unified "one-voice-per-pattern" pasting strategy. @@ -9,20 +9,13 @@ This file tracks prioritized tasks with detailed attack plans. - [ ] **Attack Plan - Unified Poll:** Incorporate `platform_get_time()` and `platform_get_aspect_ratio()` updates into `platform_poll()`. - [ ] **Attack Plan - Standard Container Removal:** Replace `std::map`, `std::string`, and `std::vector` in performance-critical or size-sensitive paths with simpler C-style alternatives. -## Priority 2: Shader Asset Integration (Task #24) -**Goal:** Treat shader snippets as regular assets managed by `AssetManager` and `ShaderComposer`. -- [ ] **Attack Plan - Extract Shaders:** Move hardcoded WGSL strings (from `renderer.cc`, `gpu.cc`) into `assets/final/shaders/*.wgsl`. -- [ ] **Attack Plan - Asset Entry:** Add new shader files to `assets/final/demo_assets.txt` and `test_assets_list.txt`. -- [ ] **Attack Plan - ShaderComposer Update:** Update `ShaderComposer` to optionally register snippets from `AssetId`. -- [ ] **Attack Plan - Integration:** Update `Renderer3D` and `demo64k` to use `ShaderComposer` with asset-based snippets. - -## Priority 3: 3D System Enhancements (Task #18) +## Priority 2: 3D System Enhancements (Task #18) **Goal:** Establish a pipeline for importing complex 3D scenes to replace hardcoded geometry. - [ ] **Attack Plan - Blender Exporter:** Create a Python script (`tools/blender_export.py`) to export meshes/cameras/lights to a binary asset format. - [ ] **Attack Plan - Asset Ingestion:** Update `asset_packer` to handle the new 3D binary format. - [ ] **Attack Plan - Runtime Loader:** Implement a minimal C++ parser to load the scene data into the ECS/Renderer. -## Priority 4: Shader Optimization (Task #21) +## Priority 3: Shader Optimization (Task #21) **Goal:** Improve GPU performance and reduce shader source bloat. - [ ] **Attack Plan - Normal Factorization:** Create a standard WGSL helper for normal calculation to avoid duplicate code in every effect. - [ ] **Attack Plan - Tri-planar Mapping:** Implement bi/tri-planar mapping for procedural textures to improve visual quality on complex SDFs. @@ -37,6 +30,7 @@ This file tracks prioritized tasks with detailed attack plans. - [ ] **Task #22**: Windows Native Platform (Win32 API) ## Recently Completed +- [x] **Shader Asset Integration (Task #24)**: Extracted hardcoded shaders to `.wgsl` assets, updated `asset_packer` for string safety, and refactored C++ code to use `GetAsset`. - [x] **WebGPU Stability & macOS Fixes**: Resolved surface creation failures by adding `GLFW_EXPOSE_NATIVE_COCOA` and fixed validation errors in surface configuration and render pass attachments. - [x] **Final Build Stripping (Task #8)**: Implemented `STRIP_ALL` macro to remove CLI parsing and debug info. Optimized macOS linker flags (`-dead_strip`). - [x] **Tracker Asset Sample Integration**: Modified `assets/music.track` for `SAMPLE ASSET_NAME` syntax, updated `tools/tracker_compiler.cc` for parsing and code generation, and finalized `src/audio/tracker.cc` for unified asset sample pasting. |
