Kernel Inventory¶
Generated kernel scaffolds land here first so agents can audit what exists and which tier gate applies.
Intent¶
Track scaffolded kernel modules, tests, and benchmark stubs.
Request Signals¶
kernel scaffold
benchmark stub
kernel inventory
Open First¶
docs/testing/kernel-inventory.md
scripts/generate_kernel_scaffold.py
docs/testing/performance-tiers.md
Verify¶
uv run python scripts/generate_kernel_scaffold.py --check point_boundsuv run python scripts/check_docs.py --check
Risks¶
Scaffold drift can leave tests, benchmarks, and manifests out of sync.
Tier metadata becomes meaningless if generated benchmarks do not match policy.
Scaffolds¶
Kernel |
Module |
Tier |
Geometry Types |
Source |
Test |
Benchmark |
|---|
| point_bounds | vibespatial.kernels.predicates | Tier 4 | point, polygon | src/vibespatial/kernels/predicates/point_bounds.py | tests/test_point_bounds.py | vsbench run point-predicates |
| segment_intersection | vibespatial.spatial.segment_primitives | Tier 1 | linestring, polygon, multilinestring, multipolygon | src/vibespatial/spatial/segment_primitives.py | tests/test_segment_primitives.py | vsbench run segment-intersection |
| binary_constructive | vibespatial.constructive.binary_constructive | Tier 3 | point, polygon, multipolygon | src/vibespatial/constructive/binary_constructive.py | tests/test_binary_constructive.py | vsbench run constructive |
| envelope | vibespatial.constructive.envelope | Tier 1 | point, multipoint, linestring, multilinestring, polygon, multipolygon | src/vibespatial/constructive/envelope.py | tests/test_envelope.py | vsbench run constructive |
| geometry_simplify | vibespatial.constructive.simplify | Tier 1 | linestring, multilinestring, polygon, multipolygon | src/vibespatial/constructive/simplify.py | tests/test_zero_copy_pipeline.py | vsbench run constructive |
| make_valid | vibespatial.constructive.make_valid_pipeline | Tier 3 | polygon, multipolygon, linestring, multilinestring, point, multipoint | src/vibespatial/constructive/make_valid_pipeline.py | tests/test_make_valid_pipeline.py | vsbench run constructive |
| normalize | vibespatial.constructive.normalize | Tier 1 | point, multipoint, linestring, multilinestring, polygon, multipolygon | src/vibespatial/constructive/normalize.py | tests/test_normalize.py | vsbench run constructive |
| clip_by_rect | vibespatial.constructive.clip_rect | Tier 3 | point, multipoint, linestring, multilinestring, polygon, multipolygon | src/vibespatial/constructive/clip_rect.py | tests/test_clip_rect.py | vsbench run constructive |
| hausdorff_distance | vibespatial.spatial.distance_metrics | Tier 1 | point, multipoint, linestring, multilinestring, polygon | src/vibespatial/spatial/distance_metrics.py | tests/test_distance_metrics.py | vsbench run metric |
| frechet_distance | vibespatial.spatial.distance_metrics | Tier 1 | linestring | src/vibespatial/spatial/distance_metrics.py | tests/test_distance_metrics.py | vsbench run metric |
| polygon_intersection | vibespatial.kernels.constructive | Tier 1 | polygon | src/vibespatial/kernels/constructive/polygon_intersection.py | tests/test_gpu_polygon_intersection_kernel.py | vsbench run constructive |
| polygon_difference | vibespatial.kernels.constructive | Tier 3 | polygon, multipolygon | src/vibespatial/kernels/constructive/polygon_difference.py | tests/test_gpu_polygon_difference_kernel.py | vsbench run constructive |
| segmented_union_all | vibespatial.kernels.constructive | Tier 3 | polygon, multipolygon | src/vibespatial/kernels/constructive/segmented_union.py | tests/test_gpu_segmented_union_kernel.py | vsbench run constructive |
| segmented_point_union | vibespatial.constructive | Tier 3 | point | src/vibespatial/constructive/grouped_point_union.py | tests/test_grouped_point_union.py | vsbench shootout benchmarks/shootout/corpora --scale 1m |
| osm_varint_decode | vibespatial.io.osm_gpu | Tier 1 | point | src/vibespatial/io/osm_gpu.py | tests/test_osm_gpu.py | – |
| decode_wkb | vibespatial.kernels.core.wkb_decode | Tier 1 | point, linestring, polygon, multipoint, multilinestring, multipolygon | src/vibespatial/kernels/core/wkb_decode.py | tests/test_wkb_big_endian_gpu.py | uv run python scripts/benchmark_io_arrow.py --wkb-endian --scale 100000 --repeat 3 |
| packed_str_index | vibespatial.kernels.spatial | Tier 1 | point, linestring, polygon, multipoint, multilinestring, multipolygon | src/vibespatial/kernels/spatial/packed_str_index.py | tests/test_packed_str_index.py | benchmarks/bench_packed_str_index.py |
| segment_bvh | vibespatial.kernels.spatial | Tier 1 | linestring, multilinestring, polygon, multipolygon | src/vibespatial/kernels/spatial/segment_bvh.py | tests/test_segment_bvh.py | benchmarks/bench_segment_bvh.py |
Private IO Codecs¶
src/vibespatial/io/osm_pbf_native.py owns the osm-pbf-native-fp64 NVRTC
group (byte traversal, delta decode, tags, reference lookup, ring assembly).
It is admitted by native file IO, rather than the public geometry-operation
variant registry. See the PBF shape contract,
tests/test_osm_pbf_native.py, tests/test_osm_pbf_relations.py, and
uv run python scripts/benchmark_osm_pbf.py --help.