cockpit/GeoHelix: Garmin-as-surfel step 1 — continuous residue + smoothed normals#94
Conversation
…thed normals Toward "treat Garmin as the surfel the body has": upgrade the ver-8 grid decode's per-vertex surfel quality so terrain reads like the /helix body's surfel field rather than a quantized heightfield carpet. - CONTINUOUS residue: the within-kind CurveRuler brightness texture was applied per-CELL (one value per floor(pos·detail) cell → stepped at every boundary, the intra-family discontinuity). Now it's the inter-family CONTINUOUS version — the stride-4-over-17 value sampled at integer lattice CORNERS and smoothstep-interpolated between them (value-noise), matching geo/src/kurvenlineal.rs. The surfel texture flows across cells instead of blocking. - SMOOTHED normals: widen the central-difference gradient stencil from ±1 to ±2 so the shading stops catching every one-cell quantization stair (the "light on every numeric step" needle look) — WITHOUT touching the geometry. Verified: /garmin/grand-canyon screenshot — the plateau reads as a smooth mesa, the walls as clean cliffs with the dendritic side-canyons resolved, the drainage network crisp. tsc + vite build clean. Note: this is the surfel-QUALITY half. The OSM⊕Garmin overlay (drape OSM features onto the Garmin surfel via the shared HHTL address) and a bake-side height dequantize for Iceland's steep coastal cliffs are the remaining pieces of the "Garmin as surfel" arc. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012jEwwaT5JZ5x8qWvcnaMYC
|
Warning Review limit reached
Next review available in: 42 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: serverGenReqId_d20b25ab-4fe9-42bc-b024-122cdc24d65b) |
Follow-up to the merged #93 (sunset + hypsometric + auto-scaled relief), on the same
GeoHelixfork so it carries zero risk to the/helixanatomy body. This is step 1 of "treat Garmin as the surfel the body already has" — the client-side half, sharpening the surface texture on the already-live/garmin/grand-canyonrender.A clean one-commit diff (30 +/15 − on
cockpit/src/GeoHelix.tsx); #93 merged via a merge-commit somainshares this branch's base and nothing already-merged re-appears.What changed
r±2,c±2) instead of ±1. On steep canyon walls the ±1 stencil picks up single-cell quantization steps and reads as faceted grain; the wider stencil averages that out, so lit slopes read as slopes, not a comb. True-scale is preserved (the gradient is still in display units) — only the smoothing window widened.helix::CurveRulerbrightness (the ±18 % "surfel sparkle" the anatomy body carries per-vertex) was, in the old path, sampled per grid cell — so it stepped discontinuously at every cell boundary (the seam artifact). It's now a proper value-noise: the golden-spiral residue is evaluated at integer lattice corners (mix17-hashed, cached) and smoothstep-trilinear-interpolated between them, so it's C1-continuous across cells and isotropic (3D hash, no directional bias).sweet = 0.90 + 0.18·res.This mirrors
geo/src/kurvenlineal.rs's inter-family fix from #91 (corner value-noise, not per-cell step) on the decode side, so the client and the bake reconstruct the residue the same way.Verify
npx tsc --noEmit— clean (exit 0).GeoHelix.tsxchange (nothub-client/), so no changelog entry required./garmin/grand-canyonrenders the recognizable canyon (mesa, gorge, side-canyons, Stream-KIND drainage, sunset light); the within-KIND texture is now continuous across cell seams rather than stepped.Not in this PR (follow-ups, in order)
/garmin/icelandver-8 grid's needle field (F16 height quantization over Iceland's tiny true-scale span).🤖 Generated with Claude Code
https://claude.ai/code/session_012jEwwaT5JZ5x8qWvcnaMYC
Generated by Claude Code