You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Patchwork: Z-up axis transform, per-patch (zone × ring × sector) color, VLP-16 global Z hard cap
ensureZUp(cloud, presetId) flips Z for NaverLabs (PCD ships Z-down with
floor mass at z ≈ +0.6); KITTI is already Z-up. Both Patchwork and
TRAVEL pages now run the transform before invoking their algorithms.
Without this, the indoor scan's ceiling sat at the bottom of the
sensor frame and the ground gate had nothing to catch.
Region coloring: regionId now packs (zone, ring, sector); regionColor()
walks zones × rings × sectors so every CZM patch gets its own
golden-angle hue. Previously all sectors within a (zone, ring) shared
one color and visually read as concentric rings rather than patches.
VLP-16 hard cap: applies the global elevation threshold (0.0 in sensor
frame) as a defensive gate even on inner rings. Without this, a flat
ceiling could squeak past the FLAT_ENOUGH override on inner rings and
get marked as ground. HDL-64's useGlobalElevation=false so this is a
no-op there.
Smoke verification on the actual presets:
NaverLabs (Z-flipped): 27% ground, 81 patches across 7 rings,
ground z p50 = -0.40 (sensor h = 0.6)
KITTI: 59% ground, 230 patches across 15 rings,
ground z p50 = -1.77 (sensor h = 1.723)
0 commit comments