vibespatial.constructive.grouped_point_union

Exact device-native grouped union for simple Point rows.

Physical shape (ADR-0046): OwnedGeometryArray[Point] + NativeGrouped is lowered to a segmented point-set reduction. Work is measured in source points, groups, unique output coordinates, output bytes, and radix-sort scratch. The staging layout is a lexicographically sorted (group, x, y) partition followed by adjacent duplicate elimination and grouped offset assembly. Dynamic output stays in source-row coordinate capacity while the device group offsets carry the logical unique-coordinate count, avoiding a host allocation packet. The native output is an owned device array containing Point and MultiPoint rows; public materialization remains the dissolve export boundary.

The operation is constructive but creates no coordinates. Canonical fp64 storage values are gathered unchanged, so no lower-precision compute variant is applicable.

Functions

supports_grouped_point_union(→ bool)

Return whether direct point-set assembly is structurally possible.

grouped_point_union_owned(...)

Plan and execute the admitted grouped Point union physical shape.

Module Contents

vibespatial.constructive.grouped_point_union.supports_grouped_point_union(owned: vibespatial.geometry.owned.OwnedGeometryArray) → bool

Return whether direct point-set assembly is structurally possible.

This support probe is deliberately metadata-only. The crossover planner must be able to reject small host workloads before paying for validity, emptiness, or coordinate scans. Device-native carriers use their trusted structural proofs and never materialize host metadata for this probe.

vibespatial.constructive.grouped_point_union.grouped_point_union_owned(grouped: vibespatial.api._native_grouped.NativeGrouped, owned: vibespatial.geometry.owned.OwnedGeometryArray, *, _admitted: bool = False) → vibespatial.geometry.owned.OwnedGeometryArray | None

Plan and execute the admitted grouped Point union physical shape.