summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/COMPLETED.md43
1 files changed, 42 insertions, 1 deletions
diff --git a/doc/COMPLETED.md b/doc/COMPLETED.md
index 148e410..7ce1090 100644
--- a/doc/COMPLETED.md
+++ b/doc/COMPLETED.md
@@ -11,6 +11,47 @@ This file tracks recently completed tasks, organized by completion date.
- **Physics Fix**: Updated `PhysicsSystem::sample_sdf` to correctly scale plane distances on the CPU.
- **Mapping Cleanup**: Consolidated `ObjectType` to `type_id` mapping in `Renderer3D` and added support for `ObjectType::CUBE` in the shader path.
- **Result**: Ground planes with extreme non-uniform scaling now cast and receive shadows correctly, and physics collisions are accurate.
+- [x] **Task #18.0: Basic OBJ Asset Pipeline** (New)
+ - [x] Define `ASSET_MESH` type in `asset_manager`.
+ - [x] Update `asset_packer` to parse simple `.obj` files (positions, normals, UVs) and serialize them.
+ - [x] Update `Renderer3D` to handle `ObjectType::MESH` in the rasterization path.
+- [x] **Task #36: Blender Exporter:** Create a Python script (`tools/blender_export.py`) to export meshes/cameras/lights to a binary asset format.
+- [x] **Task #37: Asset Ingestion:** Update `asset_packer` to handle the new 3D binary format.
+ - [x] **Task #38: Runtime Loader:** Implement a minimal C++ parser to load the scene data into the ECS/Renderer.
+- [x] **Task #18-B: GPU BVH & Shadows** (Optimization)
+ - [x] **Upload BVH:** Create a storage buffer for `BVHNode` data and upload the CPU-built BVH every frame in `Renderer3D`.
+ - [x] **Shader Traversal:** Implement stack-based BVH traversal in `scene_query.wgsl` to replace the linear loop in `map_scene`.
+ - [x] **Shadow Optimization:** Use the BVH traversal for `calc_shadow` to skip occluded objects efficiently.
+ - [x] **Compile-Time Switch:** Implemented dual-pipeline architecture (BVH vs Linear) using `ShaderComposer` substitution to avoid runtime branching cost.
+- [x] **Task #51: Tracker Timing Verification** ✅ COMPLETED
+ - Created robust audio testing infrastructure with mock backend abstraction
+ - All subtasks complete, moved to COMPLETED.md
+- [x] **Task #53: Particles Shader Polish**: Improve visual quality of particles. (Completed February 6, 2026)
+ - Implemented transparent circular particles with smooth distance-based falloff
+ - Added UV coordinates and lifetime-based alpha fading (particle.pos.w: 1.0 → 0.0)
+ - Enabled alpha blending for particle shaders (auto-detected via shader name)
+ - Increased particle usage: Added 5 ParticleSprayEffect instances throughout demo (6b, 12b, 17b, 24b, 56b)
+ - Result: Particles now render as fading transparent circles instead of opaque squares
+- [x] **Task #68: Visual Debug - Mesh Wireframe Rendering**: Show triangle edges as lines for mesh objects
+ - **Current**: Visual debug mode shows normals for all objects (SDF and meshes)
+ - **Goal**: Add wireframe overlay for mesh objects to visualize triangle structure
+ - **Implementation**:
+ - Extend `VisualDebug` class with mesh wireframe rendering function
+ - For each mesh triangle: draw 3 lines connecting vertices (v0→v1, v1→v2, v2→v0)
+ - Use world-space positions (transform by model matrix)
+ - Color: distinct from normals (e.g., cyan for edges, yellow for normals)
+ - Only render when debug mode enabled (`!STRIP_ALL`)
+ - **Use Cases**:
+ - Verify mesh topology and face orientation
+ - Debug mesh loading/transformation issues
+ - Visualize mesh deformation or animation
+ - Check for degenerate triangles or mesh artifacts
+ - **Technical Details**:
+ - Access mesh data via `AssetManager::GetMeshAsset()`
+ - Iterate through indices in groups of 3 (triangles)
+ - Draw lines using existing `VisualDebug::draw_line()` API
+ - Transform vertices: `world_pos = model_matrix * local_pos`
+ - **Priority**: Low (debug visualization, not production feature)
## Recently Completed (February 7, 2026)
@@ -279,4 +320,4 @@ This file tracks recently completed tasks, organized by completion date.
- **Unified 3D Shadows**: Implemented robust SDF shadows across all objects using `inv_model` transforms.
- **test_mesh tool**: Implemented a standalone `test_mesh` tool for visualizing OBJ files with debug normal display.
- **Task #39: Visual Debugging System**: Implemented a comprehensive set of wireframe primitives (Sphere, Cone, Cross, Line, Trajectory) in `VisualDebug`. Updated `test_3d_render` to demonstrate usage.
-- **Task #68: Mesh Wireframe Rendering**: Added `add_mesh_wireframe` to `VisualDebug` to visualize triangle edges for mesh objects. Integrated into `Renderer3D` debug path and `test_mesh` tool.
+- **Task #68: Mesh Wireframe Rendering**: Added `add_mesh_wireframe` to `VisualDebug` to visualize triangle edges for mesh objects. Integrated into `Renderer3D` debug path and `test_mesh` tool. \ No newline at end of file