This repository was archived by the owner on Oct 23, 2026. It is now read-only.
Repository navigation
Ride on floor agreement at the wall threshold (#76) - #78
Merged
Merged
Conversation
F6 without authored SURFACES now samples a 5x5 window (2 m, +/-4 m, from rider z + 2) through coverageWindow() and uploads 32 triangles on layer 1 via SURFACE_BEGIN/VERTEX -> MOUNT_SURFACE. Non-finite, near-zero and wall-height (> 0.3 m) samples refuse mount with a stated coverage gap. Riding out of the fixed window dismounts with "window edge"; a sampled window is never handed to refreshSurface. The JS flat patch is removed. Raw samples are written to the private local log for fixture replay. tests/coverage-window.cjs reports interpolation error against the 0.05 m riding check: within for curvature radius >= ~16 m; exceeds at ~8 m and tighter, and for curbs between samples (owner decision pending). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Triangles between 2 m samples miss curved ground by more than the old 0.05 m ride check (0.079 m at R=8 m, 0.125 m beside a 0.25 m curb), which would end rides on ordinary streets. Floor agreement now asks which floor the rider is on: host ground at the rider within the wall threshold (0.3 m) of the surface, for authored and sampled surfaces alike, in JS surfaceObservation and Rust Surface::observation. Losing it dismounts with "floor agreement lost". The mount-preparation check stays at 0.05 m. Tests: rolling ground down to R=6 m and a 0.25 m curb keep floor agreement; a 0.5 m planter between samples loses it on sampled and authored floors and restores GTA; Rust observation passes at 0.29 m and fails at 0.31 m. Recorded in GLOSSARY.md (Floor agreement) and ADR 0004, including curbs riding as ramps as a known limitation. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
7 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Part of #76. Includes the Slice 1 commit (
51372c7), which was only ever on a localmain.Summary
Riding now needs floor agreement: GTA's ground under the rider must belong to the floor the coverage window describes. Previously it had to match the triangles within 0.05 m. Decision record: ADR 0004, new "Floor agreement" section.
Evidence
python3 scripts/verify.pypasses:Merge Danger
Door: two-way
The change is a tolerance constant on each side plus one dismount reason. Reverting restores the 0.05 m check.
Blast Radius: riding
It affects only when an active ride dismounts. A ride can now continue with a different floor up to 0.3 m away under the rider, such as a low planter. Curbs ride as ramps, so near one the ped can be drawn up to the step height off GTA ground (a known limitation in ADR 0004). Mounting, coverage gaps and authored-surface refresh are unchanged.
🤖 Generated with Claude Code