import type { Material } from 'three'; import type { Node } from 'three/webgpu'; type Point = readonly [number, number]; /** * True for a fragment inside the lot polygon (even-odd crossing count on its * x, z: local, where the geometry is laid out in the site's plan as the * terrain is; world for a mesh placed and turned there). Unrolled edge by edge * into the graph: a parcel has tens of corners, so a loop and a uniform array * would buy nothing. */ export declare function insideLotNode(polygon: ReadonlyArray, at?: Node<'vec2'>): Node<"bool">; /** * The ground material cut to the lot: the terrain field is the padded, * north-up box around the parcel, and only the parcel itself is ground the * project owns. Per fragment, so the edge is the property line exactly and * follows a sculpt stroke with no rebuild; the shadow pass honours the mask too. */ export declare function lotMaskedMaterial(material: Material, polygon: ReadonlyArray): Material; export {}; //# sourceMappingURL=lot-mask.d.ts.map