summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorskal <pascal.massimino@gmail.com>2026-02-03 08:18:50 +0100
committerskal <pascal.massimino@gmail.com>2026-02-03 08:18:50 +0100
commitf9b91fac0f4611bd344eb57c8596b2da04926d02 (patch)
tree21e360fd7f28b0842645437ecbbf6bc51686d2c3
parentf32afcbeffa0e8b947457c67c73566da4ebf33cc (diff)
docs: Mark Shader Asset Integration (Task #24) as completed
Updates status in PROJECT_CONTEXT.md and TODO.md.
-rw-r--r--PROJECT_CONTEXT.md7
-rw-r--r--TODO.md12
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.
diff --git a/TODO.md b/TODO.md
index 1cb6196..5ecd4bf 100644
--- a/TODO.md
+++ b/TODO.md
@@ -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.