Repository navigation
CARLA index admission
This admission bound requires the corrected segment key from issue #589. It does not certify the lane selected from the admitted candidates. The global lane query remains under validation in draft #594.
Let D be the exact squared distance to a stored Float32 chord. Let K be the RTree's computed key for that chord and query. The corrected key satisfies K <= (1 + 2^-40) D. The RTree returns candidates in increasing key order. Its node bounds cannot exceed a stored entry's key. See the segment query numerical contract for the supported finite inputs.
The lower chord radius is sqrt(K / (1 + 2^-40)). Division and square root round outward before the lower endpoint is used. A nonfinite or negative key disables this rejection.
Construction supplies a bound E on the distance from the full stored center evaluator to its stored chord. This includes endpoint conversion and evaluator rounding. It does not use the sampled one-millimeter chord target as a certificate. The lower curve radius is max(0, lower_chord_radius - E), with outward subtraction. An unknown or nonfinite deviation disables this rejection.
The map retains the maximum E across its indexed segments. Thus the same lower bound applies to every later candidate in the sorted prefix. The query can stop only when that lower radius exceeds the incumbent point's wide upper radius. Equality retains the candidate and the insertion-order tie policy.
Each indexed segment also stores its own bound E (issue #685, item 1). The map's maximum is the largest of these values. The index orders its keys only, so the query keeps the stop above with the maximum E.
After that stop, the query computes the same lower radius with the candidate's own E. When this radius is strictly greater than the incumbent's wide upper radius, the query skips the candidate. The skip comes before candidate admission and refinement, like the box and sampled-cover skips. The incumbent's radius bounds the distance of an actual stored witness point. Thus a skipped candidate cannot win or tie, and every answer and certificate stays the same. An unknown or nonfinite E gives a zero radius, so that candidate is not skipped.
On assets/carla/town.xodr the skip removes about 44 percent of the candidate certifications.
See the #685 measurement.
The source edge has its own reviewed lane-oracle record, map_deviation_contracts.py.
This bound does not prove a minimum inside an admitted segment. Cross-candidate minimum intervals and strict on-road classification need separate certificates. It does not change the local refinement limits or provide a global map work budget.
The query rejects a nonfinite Float32 query before it enters the index. Construction rejects an endpoint that cannot be stored as a finite Float32 value. It does not clamp or silently cap that coordinate. Full center arithmetic remains Float64 inside the query. Public transform storage still has its separate Float32 precision and range limit.
Tutorials
How-to
Reference
- Scene graph
- Rotations
- Cameras
- Geometry
- Geometry addons
- Lofts and clipping groups
- Sculptor
- Procedural generators
- Meshes and assets
- Lines
- Points and sprites
- Helpers
- Scene objects
- Animated objects
- Raycasting
- Curves and paths
- Animation
- Skinning
- Materials
- Node materials
- TSL functions
- Lights
- Lighting addons
- Fog
- Textures
- Renderer
- Renderer hooks and material flags
- Rasterization
- GPU backend
- Render target
- Post-processing
- GPU computation
- Compute nodes
- Progressive light map
- Gaussian splats
- Voxel global illumination
- SVG renderer
- Image files
- Image decode queue
- Model files
- More model files
- Exporters
- Scene JSON
- Windowing and controls
- Math
- Norm consumers
- Math addons
- Units
- Coverage tool
- Commands
- Examples
- Benchmarks
- Extensions
- Shared physics
- Physics query snapshots
- Continuous collision
- Tick force restoration
- Water
- Animals
- Buildings
- CARLA
- Femur
- Tibia
- Fibula
- Patella
- Knee
- Muscles
- Vessels
- Lymph
- Nerves
- Integument
- Leg
- Foot
- Pelvis
- Torso
- Arm
- Hand
- Head
- Genome
- Game humanoid
- Humanoid fidelity
- Audio-aligned game faces
- Converted assets
- Mesh quality
- Segment inertia
Explanation
- Software rasterizer
- Scene graph as an array
- Linear color
- Normals are not colors
- Perspective correction
- Fixed-point coverage
- Per-fragment shading
- Mipmaps
- Sorted transparency
- Types and checks
- Render hooks as a trait
- Shared CPU and GPU code
- Bands and threads
- PNG structure
- Extensions beside the port
- CUDA teardown hang
- Mojo compiler hang