From c3714939897af2541c655c03bcdd61108fff46ea Mon Sep 17 00:00:00 2001 From: skal Date: Tue, 3 Feb 2026 18:52:44 +0100 Subject: docs: number all tasks for reference Assigned reference numbers to all remaining tasks in documentation: - Task #34: Full STL Removal - Task #35: CRT Replacement - Task #36: Blender Exporter - Task #37: Asset Ingestion - Task #38: Runtime Loader - Task #39: Visual Debugging System - Task #40: Advanced Lighting & Transparency - Task #41: Spectrogram Editor HTML Tool - Task #42: Vectorial Spectrogram Reader (C++) - Task #43: Spectrogram Drawing Bricks Ensured consistent task numbering across PROJECT_CONTEXT.md and TODO.md. --- PROJECT_CONTEXT.md | 13 +++++++------ TODO.md | 14 +++++++++----- doc/3D.md | 6 +++--- doc/ASSET_SYSTEM.md | 2 +- doc/SPEC_EDITOR.md | 8 ++++---- 5 files changed, 24 insertions(+), 19 deletions(-) diff --git a/PROJECT_CONTEXT.md b/PROJECT_CONTEXT.md index 430854e..cbaeb9b 100644 --- a/PROJECT_CONTEXT.md +++ b/PROJECT_CONTEXT.md @@ -48,11 +48,12 @@ Style: - [x] Gather all cross-compile and platform-specific conditional code into `platform.h`. - [x] Refactor `platform_init()` and `platform_poll()` for cleaner abstraction. - [x] Consolidate WebGPU header inclusions. - - [ ] Remove `std::map`/`std::vector` from remaining paths (Deferred to Phase 2). + - [ ] **Task #34: Full STL Removal**: Remove `std::map`/`std::vector` from remaining paths (Deferred to Phase 2). - **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 #36: Blender Exporter**: Create script to export scenes to internal binary format. + - [ ] **Task #37: Asset Ingestion**: Update `asset_packer` to handle the new 3D binary format. + - [ ] **Task #38: Runtime Loader**: Implement a minimal C++ parser to load the scene data into the ECS/Renderer. --- ## Future Goals @@ -63,9 +64,9 @@ Style: - [ ] 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. + - [ ] **Task #22: Windows Native Platform**: Replace GLFW with minimal native Windows API. + - [ ] **Task #28: Spectrogram Quantization**: Quantize spectrograms to logarithmic frequency and uint16_t. + - [ ] **Task #35: CRT Replacement**: Investigation and implementation of CRT-free entry point. --- *For a detailed list of all completed tasks, see the git history.* diff --git a/TODO.md b/TODO.md index 640c5f2..70154da 100644 --- a/TODO.md +++ b/TODO.md @@ -35,17 +35,21 @@ This file tracks prioritized tasks with detailed attack plans. ## Priority 1: 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. +- [ ] **Task #36: Blender Exporter:** Create a Python script (`tools/blender_export.py`) to export meshes/cameras/lights to a binary asset format. +- [ ] **Task #37: Asset Ingestion:** Update `asset_packer` to handle the new 3D binary format. +- [ ] **Task #38: Runtime Loader:** Implement a minimal C++ parser to load the scene data into the ECS/Renderer. ## Phase 2: Size Optimization (Final Goal) -- [ ] **Full STL Removal**: Replace all remaining `std::vector`, `std::map`, and `std::string` usage with custom minimal containers or C-style arrays to allow for CRT replacement. (Minimal Priority - deferred to end). +- [ ] **Task #34: Full STL Removal**: Replace all remaining `std::vector`, `std::map`, and `std::string` usage with custom minimal containers or C-style arrays to allow for CRT replacement. (Minimal Priority - deferred to end). - [ ] **Task #22: Windows Native Platform**: Replace GLFW with direct Win32 API calls for the final 64k push. -- [ ] **Spectrogram Quantization (Task #28)**: research optimal frequency bin distribution. +- [ ] **Task #28: Spectrogram Quantization**: Research optimal frequency bin distribution and implement quantization. + +- [ ] **Task #35: CRT Replacement**: investigation and implementation of CRT-free entry point. + + diff --git a/doc/3D.md b/doc/3D.md index e944cbe..5c5d1bd 100644 --- a/doc/3D.md +++ b/doc/3D.md @@ -35,16 +35,16 @@ removed with STRIP_ALL) that: d) displays the ray/object intersection interactively e) show the lights (direction, cone, ...), display their shadow-map in 3d and on-screen (2d). -This must be captured and tracked as a sub-task +This must be captured and tracked as **Task #39: Visual Debugging System**. ## future step Have an exporter from Blender modelling software. That would be a converter from simple blender-exported files to our internal format (as an asset for -our AssetManager or as c++ code directly) +our AssetManager or as c++ code directly) - **Task #36: Blender Exporter**. ## latter improvement How to handle transparency? Multi-Ray-casting? -We need to think about the lighting strategy. +We need to think about the lighting strategy. - **Task #40: Advanced Lighting & Transparency**. diff --git a/doc/ASSET_SYSTEM.md b/doc/ASSET_SYSTEM.md index 5f89380..aea99a2 100644 --- a/doc/ASSET_SYSTEM.md +++ b/doc/ASSET_SYSTEM.md @@ -268,4 +268,4 @@ For the **64k goal**, prioritize in this order: 2. **Task #29** (Shader Minification) - Easy win, low risk 3. **Task #28** (Spectrogram Quantization) - Medium effort, high impact 4. **Task #18.1** (3D Assets) - Once size budget allows -5. **Full STL Removal** - Deferred to final optimization phase. +5. **Task #34: Full STL Removal** - Deferred to final optimization phase. diff --git a/doc/SPEC_EDITOR.md b/doc/SPEC_EDITOR.md index cde0cdd..497a5a2 100644 --- a/doc/SPEC_EDITOR.md +++ b/doc/SPEC_EDITOR.md @@ -1,4 +1,4 @@ -# spectrogram editing tool in a browser +# spectrogram editing tool in a browser (Task #5) The sub-project is about have an editing tool in a browser that will allow generating, editing, compacting .spec files @@ -24,17 +24,17 @@ to the synth ## the work Analyze the requirement for the HTML tool. It must remain simple and easy to -use. Don't over-engineer it. +use. Don't over-engineer it. - **Task #41: Spectrogram Editor HTML Tool**. Still, the tool must have a decent load/save offer, to: * load the .wav * save the .spec * save/export the descriptive compressed version in vectorial form (like the SVG format, in fact) * be able to load this vectorial form -Then we need a reader for the vectorial form in c++ to use in the demo. +Then we need a reader for the vectorial form in c++ to use in the demo. - **Task #42: Vectorial Spectrogram Reader (C++)**. We also need to elementary tools / bricks to: draw a line / bezier curve / rectangle, ellipse, etc. in frequency domain, to generate the spectrogram on -the flight. +the flight. - **Task #43: Spectrogram Drawing Bricks**. We also need controllable random noise generation to add some 'texture' to the spectrogram. -- cgit v1.2.3