vibespatial.predicates.point_location_index

Reusable exact y-edge directory for point-in-polygon refinement.

This is a physical metadata carrier, not a public spatial index. It is cached on immutable polygon OwnedGeometryDeviceState and reused by public point- region consumers. Compile-time-uniform widths preserve the hot exact kernel, while a device-memory tier and concrete allocation admission choose how much of the GPU to use without changing predicate semantics.

Classes

PointLocationPreparationAdmission

Why a caller is allowed to attempt persistent point-location state.

PointLocationPreparationOutcome

Host-visible result of one persistent-index preparation decision.

PointLocationIndexCacheKey

Exact identity of one compile-time-uniform prepared representation.

PointLocationIndexDecision

Bounded host-visible selection and admission telemetry.

PreparedPolygonPartYIndex

Device-resident edge memberships grouped by polygon-part y bin.

Functions

point_location_bin_policy(→ tuple[int, int])

Return (nominal class GiB, first attempted bins) for one device.

wait_for_polygon_part_y_index(→ None)

Order a cross-stream consumer after the completed immutable index.

cached_polygon_part_y_index(state, family)

Return the selected completion-ready index for family if present.

point_location_part_y_index_kernels([bin_count])

point_location_part_y_index_profile_kernels([bin_count])

Compile profiler-only entry points outside production warmup.

prepare_polygon_part_y_index(owned, family, *[, ...])

Build or return the cached exact part-y edge directory.

prepare_point_region_y_indexes(→ None)

Prepare large polygon sides before candidate arrays consume the budget.

Module Contents

class vibespatial.predicates.point_location_index.PointLocationPreparationAdmission

Why a caller is allowed to attempt persistent point-location state.

ONE_SHOT_SIZE = 'one_shot_size'
OBSERVED_REUSE = 'observed_reuse'
FORCED_DIAGNOSTIC = 'forced_diagnostic'
class vibespatial.predicates.point_location_index.PointLocationPreparationOutcome

Host-visible result of one persistent-index preparation decision.

ADMITTED = 'admitted'
BELOW_ONE_SHOT_MINIMUM = 'below_one_shot_minimum'
UNSUPPORTED_CAPACITY = 'unsupported_capacity'
INVALID_STRUCTURE = 'invalid_structure'
MEMORY_DECLINED = 'memory_declined'
ALLOCATION_FAILED = 'allocation_failed'
class vibespatial.predicates.point_location_index.PointLocationIndexCacheKey

Exact identity of one compile-time-uniform prepared representation.

family: vibespatial.geometry.buffers.GeometryFamily
bin_count: int
coverage_grid_width: int
class vibespatial.predicates.point_location_index.PointLocationIndexDecision

Bounded host-visible selection and admission telemetry.

family: vibespatial.geometry.buffers.GeometryFamily
total_device_bytes: int
nominal_vram_class_gib: int
target_bin_count: int
admitted_bin_count: int | None
coverage_grid_width: int
coverage_decline_reason: str | None
decline_reason: str | None
edge_membership_count: int
persistent_bytes: int
peak_build_bytes: int
admission: PointLocationPreparationAdmission
outcome: PointLocationPreparationOutcome
coordinate_count: int
minimum_coordinate_threshold: int
minimum_coordinate_bypassed: bool
cache_hit: bool = False
class vibespatial.predicates.point_location_index.PreparedPolygonPartYIndex

Device-resident edge memberships grouped by polygon-part y bin.

family: vibespatial.geometry.buffers.GeometryFamily
geometry_count: int
part_count: int
bin_count: int
target_bin_count: int
nominal_vram_class_gib: int
edge_membership_count: int
peak_build_bytes: int
decline_reason: str | None
coverage_grid_width: int
coverage_decline_reason: str | None
admission: PointLocationPreparationAdmission
minimum_coordinate_bypassed: bool
part_xmin: object | None
part_xmax: object | None
coverage: object | None
part_ymin: object
part_ymax: object
counts: object
offsets: object
entries: object
readiness: vibespatial.api._native_state.NativeStreamReadiness
property cache_key: PointLocationIndexCacheKey
property device_bytes: int
vibespatial.predicates.point_location_index.point_location_bin_policy(total_device_bytes: int) → tuple[int, int]

Return (nominal class GiB, first attempted bins) for one device.

vibespatial.predicates.point_location_index.wait_for_polygon_part_y_index(readiness: vibespatial.api._native_state.NativeStreamReadiness) → None

Order a cross-stream consumer after the completed immutable index.

vibespatial.predicates.point_location_index.cached_polygon_part_y_index(state, family: vibespatial.geometry.buffers.GeometryFamily)

Return the selected completion-ready index for family if present.

vibespatial.predicates.point_location_index.point_location_part_y_index_kernels(bin_count: int = PART_Y_BIN_COUNT)
vibespatial.predicates.point_location_index.point_location_part_y_index_profile_kernels(bin_count: int = PART_Y_BIN_COUNT)

Compile profiler-only entry points outside production warmup.

vibespatial.predicates.point_location_index.prepare_polygon_part_y_index(owned, family: vibespatial.geometry.buffers.GeometryFamily, *, _target_bin_count: int | None = None, _admission: PointLocationPreparationAdmission = PointLocationPreparationAdmission.ONE_SHOT_SIZE)

Build or return the cached exact part-y edge directory.

vibespatial.predicates.point_location_index.prepare_point_region_y_indexes(left_owned, right_owned, *, _admission: PointLocationPreparationAdmission = PointLocationPreparationAdmission.ONE_SHOT_SIZE) → None

Prepare large polygon sides before candidate arrays consume the budget.