vibespatial.constructive.linestring

Attributes

cp

Functions

certify_two_point_linestring_layout_device(→ bool)

Certify and cache a fixed two-coordinate device row layout.

supports_two_point_linestring_buffer_fast_path(→ bool)

Return True when every row is a simple two-point linestring.

linestring_buffer_owned_array(...)

linestring_buffer_native_tabular_result(lines, distance, *)

Return linestring-buffer output as a private native constructive carrier.

Module Contents

vibespatial.constructive.linestring.cp = None
vibespatial.constructive.linestring.certify_two_point_linestring_layout_device(lines: vibespatial.geometry.owned.OwnedGeometryArray) bool

Certify and cache a fixed two-coordinate device row layout.

GeoArrow/WKB decoding can produce exact homogeneous device buffers before fixed-size metadata has been attached. Reduce the offsets to one boolean planning packet once, then retain the proof on the owned carrier so buffer, dissolve, and later consumers do not repeat the scan or export row data.

vibespatial.constructive.linestring.supports_two_point_linestring_buffer_fast_path(lines: vibespatial.geometry.owned.OwnedGeometryArray, *, quad_segs: int, cap_style: str, join_style: str, single_sided: bool) bool

Return True when every row is a simple two-point linestring.

The general GPU linestring buffer path is not yet competitive on small AUTO workloads, but the exact two-point segment case used by the network/grid shootouts is. Recognizing that shape lets the public buffer surface stay on GPU without forcing broader multi-vertex linestring workloads down the same path.

vibespatial.constructive.linestring.linestring_buffer_owned_array(lines: vibespatial.geometry.owned.OwnedGeometryArray, distance: float | numpy.ndarray, *, quad_segs: int = 8, cap_style: str = 'round', join_style: str = 'round', mitre_limit: float = 5.0, dispatch_mode: vibespatial.runtime.ExecutionMode = ExecutionMode.AUTO) vibespatial.geometry.owned.OwnedGeometryArray
vibespatial.constructive.linestring.linestring_buffer_native_tabular_result(lines: vibespatial.geometry.owned.OwnedGeometryArray, distance: float | numpy.ndarray, *, quad_segs: int = 8, cap_style: str = 'round', join_style: str = 'round', mitre_limit: float = 5.0, dispatch_mode: vibespatial.runtime.ExecutionMode = ExecutionMode.AUTO, crs=None, geometry_name: str = 'geometry', source_rows=None, source_tokens: tuple[str, Ellipsis] = ())

Return linestring-buffer output as a private native constructive carrier.