/** * Spatial Constraint Traits * * Runtime trait handler implementations for the three spatial constraint * families: spatial_adjacent, spatial_contains, and spatial_reachable. * * These traits enforce spatial relationships at runtime, complementing * the compile-time verification provided by SpatialConstraintValidator. * * @version 1.0.0 * @module traits/SpatialConstraintTraits */ import type { TraitHandler } from '@holoscript/core'; import type { SpatialAdjacentConfig, SpatialContainsConfig, SpatialReachableConfig } from '@holoscript/engine/spatial'; /** * Runtime handler for the spatial_adjacent constraint. * * Monitors distance between the host entity and a target entity, * emitting events and optionally correcting violations. * * HoloScript usage: * ```holoscript * orb#shelf { * @spatial_adjacent(target: "book", maxDistance: 1.5, axis: "xz") * } * ``` */ export declare const spatialAdjacentHandler: TraitHandler; /** * Runtime handler for the spatial_contains constraint. * * Monitors whether contained entities remain within the host entity's * bounding volume, emitting events and optionally correcting violations. * * HoloScript usage: * ```holoscript * orb#room { * @spatial_contains(target: "furniture", margin: 0.1, strict: true) * } * ``` */ export declare const spatialContainsHandler: TraitHandler; /** * Runtime handler for the spatial_reachable constraint. * * Periodically checks whether an unobstructed path exists from the * host entity to a target entity, emitting events on state changes. * * HoloScript usage: * ```holoscript * orb#npc { * @spatial_reachable( * target: "exit_door", * maxPathLength: 50, * algorithm: "line_of_sight" * ) * } * ``` */ export declare const spatialReachableHandler: TraitHandler; //# sourceMappingURL=SpatialConstraintTraits.d.ts.map