vibespatial.overlay.assemble

Polygon output assembly from overlay face data.

This module contains the GPU and utility functions for assembling polygon output from half-edge graph faces produced by the overlay pipeline. Extracted from overlay/gpu.py to reduce module size; see ADR-0016.

Attributes

Functions

classify_grouped_polygonal_complement_parts_gpu(left, ...)

Return a device mask for right parts properly contained by their left row.

classify_grouped_polygonal_complement_groups_gpu(left, ...)

Return a device mask for groups admitted by complement assembly.

assemble_grouped_polygonal_complement_gpu(...)

Assemble left - grouped_union(right_parts) from polygon rings.

Module Contents

vibespatial.overlay.assemble.cp = None
vibespatial.overlay.assemble.logger
vibespatial.overlay.assemble.classify_grouped_polygonal_complement_parts_gpu(left: vibespatial.geometry.owned.OwnedGeometryArray, right_parts: vibespatial.geometry.owned.OwnedGeometryArray, grouped)

Return a device mask for right parts properly contained by their left row.

vibespatial.overlay.assemble.classify_grouped_polygonal_complement_groups_gpu(left: vibespatial.geometry.owned.OwnedGeometryArray, right_parts: vibespatial.geometry.owned.OwnedGeometryArray, grouped)

Return a device mask for groups admitted by complement assembly.

vibespatial.overlay.assemble.assemble_grouped_polygonal_complement_gpu(left: vibespatial.geometry.owned.OwnedGeometryArray, right_parts: vibespatial.geometry.owned.OwnedGeometryArray, grouped, *, support_mask=None, right_ring_capacity: int | None = None, right_coord_capacity: int | None = None) vibespatial.geometry.owned.OwnedGeometryArray | None

Assemble left - grouped_union(right_parts) from polygon rings.

Physical shape: one logical Polygon row on the left per group, a row-indirected Polygon-part capacity on the right, and a device NativeGrouped carrier mapping those parts back to left rows. Every right exterior is a subtraction boundary. Every right interior is retained as an island, and nested right parts are attached to the nearest containing island so valid MultiPolygon nesting survives without rowwise constructive fallback.