Skip to content

spatial-monorepo


spatial-monorepo / wayfinding/src / GridLadderOptions

Interface: GridLadderOptions

Defined in: packages/wayfinding/src/grid-types.ts:258

blockedUnitIds/preserveUnitIds are computed per-rung by findGridRouteWithLadder itself (restricted units, avoidance zones, and the origin/destination container) — excluded here so passing them is a type error instead of a silently-discarded no-op.

Extends

  • Omit`<OccupancyGridOptions, "blockedUnitIds" | "preserveUnitIds">.[JumpPointSearchOptions`](JumpPointSearchOptions.md)

Extended by

Properties

accessible?

optional accessible?: boolean

Defined in: packages/wayfinding/src/grid-types.ts:263

Hard accessibility filter: units whose accessibility list includes 'not_accessible' are blocked at every rung (never relaxed). Default false.


avoidanceZones?

optional avoidanceZones?: AvoidanceZone[]

Defined in: packages/wayfinding/src/grid-types.ts:271

Zones of units to avoid. Unlike the centroid-graph engine's cost-multiplier semantics (DirectionOptions.avoidanceZones), the grid engine is a binary walkable/blocked grid, so avoidance here maps onto the relaxation ladder: strict rungs block every unit named by any zone, looser rungs stop blocking them (issue #477 acceptance criteria).


cellsPerMetre?

optional cellsPerMetre?: number

Defined in: packages/wayfinding/src/grid-types.ts:21

Resolution in cells per metre. Default 5 — the Haltian Empathic Building reference constant.

Inherited from

OccupancyGridOptions.cellsPerMetre


diagonalMovement?

optional diagonalMovement?: DiagonalMovementMode

Defined in: packages/wayfinding/src/grid-types.ts:134

Default 'only-when-no-obstacles': diagonal steps are only allowed when neither orthogonal neighbour is blocked, so a path can never cut through a wall corner. Loosening this can shorten routes visually but risks corner-cutting through thin walls at low grid resolutions.

Inherited from

JumpPointSearchOptions.diagonalMovement


fixtures?

optional fixtures?: IMDFFeature`<ObstacleFootprintProps>`[]

Defined in: packages/wayfinding/src/grid-types.ts:40

Fixture/kiosk footprint features (already filtered to the level being rasterized) stamped as solid obstacles, upscaled about their own centroid by fixtureUpscale — cheap obstacle buffer per the Wayfinding v2 plan §3.3 ("desk/locker upscale 1.4-1.8x"). Geometry may be Polygon or MultiPolygon; see extractFootprintRings. Default: none.

Inherited from

OccupancyGridOptions.fixtures


fixtureUpscale?

optional fixtureUpscale?: number

Defined in: packages/wayfinding/src/grid-types.ts:42

Upscale factor applied to each fixture footprint about its own centroid. Default 1.6.

Inherited from

OccupancyGridOptions.fixtureUpscale


ladder?

optional ladder?: RelaxationRung[]

Defined in: packages/wayfinding/src/grid-types.ts:273

Ordered rung list. Default DEFAULT_RELAXATION_LADDER.


memoryBudgetCells?

optional memoryBudgetCells?: number

Defined in: packages/wayfinding/src/grid-types.ts:30

Memory budget in cells before the resolution auto-derates. Default ~4,000,000 (≈4 MB for a Uint8Array grid). See deriveGridResolution for the derate ladder.

Inherited from

OccupancyGridOptions.memoryBudgetCells


minDoorGapWidthM?

optional minDoorGapWidthM?: number

Defined in: packages/wayfinding/src/grid-types.ts:25

Minimum door-gap width in metres, applied even when the source Opening geometry is shorter. Default 0.9.

Inherited from

OccupancyGridOptions.minDoorGapWidthM


now?

optional now?: Date

Defined in: packages/wayfinding/src/grid-types.ts:282

Evaluation instant for restrictionSchedule. Defaults to new Date().


restrictionSchedule?

optional restrictionSchedule?: RestrictionSchedule

Defined in: packages/wayfinding/src/grid-types.ts:280

Venue-profile after-hours/restricted-hours schedule (issue #473). See RelaxationRung.blockRestricted's doc comment and schedule.ts's isRestrictionActiveNow. Omitted: unchanged pre-#473 behaviour (any non-null restriction is always blockable on rungs with blockRestricted).


spiralSearchMaxRadiusM?

optional spiralSearchMaxRadiusM?: number

Defined in: packages/wayfinding/src/grid-types.ts:289

Max spiral-search radius (metres) used to snap a blocked origin/destination cell to the nearest walkable cell after every rung has failed. Default 5. Replaces (and, per the Wayfinding v2 plan §3 point 5, improves on) HEB's "punch a free circle" fallback with an actual nearest-cell search.


wallStrokeWidthCells?

optional wallStrokeWidthCells?: number

Defined in: packages/wayfinding/src/grid-types.ts:23

Wall boundary stroke thickness in cells. Default 2.

Inherited from

OccupancyGridOptions.wallStrokeWidthCells


wallVertexClearanceM?

optional wallVertexClearanceM?: number

Defined in: packages/wayfinding/src/grid-types.ts:48

Clearance disc radius (metres) stamped at every unit-polygon boundary vertex that is NOT classified as an opening endpoint — the HEB column_size analogue (Wayfinding v2 plan §3.3). Default 0 (no discs — preserves pre-#477 rasterization exactly when unset).

Inherited from

OccupancyGridOptions.wallVertexClearanceM


wallVertexClearanceOpeningM?

optional wallVertexClearanceOpeningM?: number

Defined in: packages/wayfinding/src/grid-types.ts:54

Clearance disc radius (metres) at wall vertices classified as an opening endpoint (a doorway jamb) — smaller than wallVertexClearanceM so corner clearance doesn't reseal the door. The HEB column_opening_size analogue. Default 0.

Inherited from

OccupancyGridOptions.wallVertexClearanceOpeningM


wallVertexOpeningMatchToleranceM?

optional wallVertexOpeningMatchToleranceM?: number

Defined in: packages/wayfinding/src/grid-types.ts:60

How close (metres) a unit-ring vertex must be to a computed door-gap endpoint to be classified as an opening-endpoint vertex (smaller clearance) rather than a normal corner (larger clearance). Default 1.0.

Inherited from

OccupancyGridOptions.wallVertexOpeningMatchToleranceM

Released under commercial licensing.