From 5d7fccce7927d1031d8ca33ab84307dda1b3c000 Mon Sep 17 00:00:00 2001 From: ruv Date: Wed, 29 Apr 2026 19:51:12 -0400 Subject: [PATCH] feat(pointcloud): fix upside-down face, densify mesh, add Foundation aesthetic MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Three fixes in one pass to address visitor feedback: 1. Face was rendering upside down — MediaPipe's lm.y is image-down (0=top of frame, 1=bottom) and the existing updateSplats() already does a y-negate to convert to Three.js Y-up. Pre-flipping in lmToCenter was a double flip. Use lm.y directly so the renderer's single flip lands the head at the top of the screen. 2. Density and fidelity — interpolate 6 splats per FACEMESH_TESSELATION edge (~1300 edges → ~8000 face splats vs 478 vertex-only). Amplify lm.z mapping (×8 vs ×4) so eye sockets, nose, and chin show real 3D depth. Smaller splat scale (0.006 surface, 0.010 vertices) for finer point appearance. 3. Foundation-inspired aesthetic — the demo now renders the subject (face mesh OR procedural fallback) inside a Hari Seldon time-vault: * Holographic surveyor grid in amber, breathing brightness pattern. * Slow-rotating two-arm galactic spiral receding behind the subject (~640 stars, warm core to cool edges, Trantor-evocation). * 800-star deterministic distant starfield on a spherical shell (fixed LCG seed so visitors don't see noise flicker). * 60-particle holographic halo orbiting the subject plane. Shared pushFoundationContext() drives both face-mesh and synthetic paths. Synthetic procedural figure densified 4x (240 vs 60 points) and re-oriented (head→top, feet→bottom) so the y-down convention is internally consistent. Camera pulled back to (0, 0.2, -3.5) to frame the galactic context. Poll cadence 4 Hz → 10 Hz so the spiral animates smoothly. Info panel gets a Seldon quote and "Seldon Vault" branding. CTA copy reframed to "Project Subject — render your face into the Vault". ADR-094 already documents the dual-transport intent; the aesthetic choices here are content, not architecture, so no ADR update needed. Co-Authored-By: claude-flow --- .../wifi-densepose-pointcloud/src/viewer.html | 275 +++++++++++++----- 1 file changed, 200 insertions(+), 75 deletions(-) diff --git a/v2/crates/wifi-densepose-pointcloud/src/viewer.html b/v2/crates/wifi-densepose-pointcloud/src/viewer.html index 70d78ab0..6040fa17 100644 --- a/v2/crates/wifi-densepose-pointcloud/src/viewer.html +++ b/v2/crates/wifi-densepose-pointcloud/src/viewer.html @@ -2,6 +2,9 @@ RuView — Camera + WiFi CSI Point Cloud + + +