Skip to content

Commit 1400f6d

Browse files
committed
cockpit/torso: smaller splat brush — detail over blur
The /torso splat3d frames used a big isotropic gaussian (scale 0.008) tuned for "solidity", which smeared the 231K-gaussian detail into a painterly "Warhol" look — while /torso-live (tiny points) showed the full ribcage/vertebrae. Same data, different brush. Re-render the turntable at scale 0.0025, 810x1080: the detail (ribcage, spine, organs) returns. Plan records the proper next step (anisotropic surface-fit gaussians + a third "map FMA" view). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TzqvDqbFRzyx17EkLKBoZF
1 parent f197cab commit 1400f6d

21 files changed

Lines changed: 23 additions & 0 deletions

claude-notes/plans/2026-06-24-fma-torso-bodyparts3d-splat.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,3 +58,26 @@ Notes:
5858
~6.6 s/frame on the scalar path (no AVX target-cpu in the scratchpad project);
5959
correctness verified by viewing the rendered frames.
6060
- Colours: golden-angle hue per structure at S=0.34 V=0.78 (muted, per request).
61+
- Brush: splat3d render uses gaussian scale 0.0025 (was 0.008 — the big isotropic
62+
brush blobbed the detail into a "Warhol" look; 0.0025 at 810x1080 restores the
63+
ribcage/vertebrae). Frames re-rendered.
64+
65+
## Follow-ups (proposed, next PR)
66+
67+
The splat is currently isotropic spheres (no orientation) — too big = blobs,
68+
too small = disconnected dots. The real upgrade, in one pass over the meshes:
69+
70+
- [ ] **Anisotropic surface-fit gaussians** ("connect the dots"): read OBJ
71+
*faces* (the bake currently drops them) -> per-vertex normals -> orient
72+
each gaussian flat-to-surface (`scale[3]` tangent-wide / normal-thin,
73+
`quat` from normal). splat3d's `Gaussian3D` already supports scale+quat;
74+
the three.js page needs a real splat shader (oriented quads). This is the
75+
"muscle memory of the nodes" — each gaussian inherits its shape from the
76+
structure it came from. NOT voxels (those are discrete/volumetric; these
77+
are continuous surfaces).
78+
- [ ] **Third "map FMA" view**: bake a per-gaussian FMA structure id + legend
79+
(idx -> FMA concept / name / colour) into SPL1, then pick-to-label in 3D
80+
and sync selection with the /fma-style partonomy graph. Realises the
81+
osint-cad-splat thesis: graph and splat are one node at one address, two
82+
payloads. Own page (/torso-map) vs folding labels into /torso-live: TBD
83+
with user.
29.4 KB
Loading
30.2 KB
Loading
31.6 KB
Loading
33.5 KB
Loading
34.8 KB
Loading
32.7 KB
Loading
31.9 KB
Loading
30.3 KB
Loading
29.6 KB
Loading

0 commit comments

Comments
 (0)