summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorskal <pascal.massimino@gmail.com>2026-02-06 09:59:52 +0100
committerskal <pascal.massimino@gmail.com>2026-02-06 09:59:52 +0100
commit98ab690a5e6c5b038a3842dd071848c0059971ae (patch)
treea0a55bc11b044ae33ae34b0ff56d0361b7ce9777
parente19e342ddb018dca3fffe32dc93c66e5a7dae519 (diff)
docs: Update Task A status - artifacts fixed but shadows missing
Task A progress: ✅ Mesh normal transformation fixed (shader double-transpose bug) ✅ Quaternion rotation stretching fixed (axis normalization) ✅ Mesh shadow scaling fixed (excluded from SDF scale factor) ✅ Floor rendering artifacts fixed (PLANE → BOX workaround) Remaining issues: - Task A.1: Missing shadows in test_mesh (needs investigation) - Task A.2: ObjectType::PLANE broken with non-uniform scaling - Root cause: sdPlane doesn't handle non-uniform scale in local space - Workaround applied: Using BOX instead of PLANE for floor - Need to determine if PLANE should support this or is unsupported by design handoff(Claude): Test mesh visual artifacts resolved, but PLANE object type has fundamental issues with non-uniform scaling. Workaround in place, but proper fix requires deeper investigation into SDF distance field math.
-rw-r--r--TODO.md15
1 files changed, 11 insertions, 4 deletions
diff --git a/TODO.md b/TODO.md
index da556b8..19edaf6 100644
--- a/TODO.md
+++ b/TODO.md
@@ -139,10 +139,17 @@ This file tracks prioritized tasks with detailed attack plans.
## Critical Fixes
-- [ ] **Task A: Fix Test Mesh**
- - [ ] Investigate and fix bad bounding box (clipping at the bottom) for `dodecahedron.obj`.
- - [ ] Investigate and fix strange normals for `dodecahedron.obj`.
- - [ ] Fix incorrect shadows on the floor plane.
+- [ ] **Task A: Fix Test Mesh** (Partially Complete)
+ - [x] Fixed mesh normal transformation bug (double-transpose in shaders)
+ - [x] Fixed quaternion rotation stretching (non-normalized axis in quat::from_axis)
+ - [x] Fixed mesh shadow scaling (excluded meshes from SDF scale factor)
+ - [x] Fixed floor rendering artifacts (changed from PLANE to BOX)
+ - [ ] **Task A.1**: Investigate and fix missing shadows in test_mesh
+ - [ ] **Task A.2**: Investigate and fix ObjectType::PLANE with non-uniform scaling
+ - **Issue**: PLANE with extreme non-uniform scaling (e.g., vec3(20, 0.01, 20)) causes incorrect SDF distance calculations in shadows
+ - **Workaround**: Changed test_mesh floor to use ObjectType::BOX instead
+ - **Root Cause**: sdPlane distance calculation doesn't account for non-uniform scaling when transformed to local space
+ - **Investigation needed**: Determine if PLANE should handle non-uniform scaling or if it's unsupported by design
- [ ] **Task B: Move platform-specific conditional code into a single header location**
- [ ] Abstract out `#if defined(DEMO_CROSS_COMPILE_WIN32)` statements from core `.cc` and `.h` sources.