spatial-monorepo / wayfinding/src / GridMultiFloorOptions
Interface: GridMultiFloorOptions
Defined in: packages/wayfinding/src/grid-types.ts:376
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
Properties
accessible?
optionalaccessible?: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.
Inherited from
avoidanceZones?
optionalavoidanceZones?: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).
Inherited from
GridLadderOptions.avoidanceZones
buildingHopCost?
optionalbuildingHopCost?:number
Defined in: packages/wayfinding/src/grid-types.ts:385
Per-hop cost used by resolveFloorChain for a genuine cross-building hop — a large constant relative to floorHopCost (issue #482 AC2), so the resolved floor chain prefers staying within one building's floor stack. Default 1000 (the HEB reference constant).
cellsPerMetre?
optionalcellsPerMetre?: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?
optionaldiagonalMovement?: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
GridLadderOptions.diagonalMovement
fixtures?
optionalfixtures?: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
fixtureUpscale?
optionalfixtureUpscale?: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
floorConnectivity?
optionalfloorConnectivity?:FloorConnectivityGraph
Defined in: packages/wayfinding/src/grid-types.ts:399
Precomputed connectivity graph. Supply to reuse one you already have (e.g. from getFloorConnectivityGraph); otherwise it is fetched from the module-level cache (built on first use, keyed by archive identity).
floorHeightM?
optionalfloorHeightM?:number
Defined in: packages/wayfinding/src/grid-types.ts:393
Floor height in metres used for each vertical-transition's duration contribution (computeVerticalWeight, reused as-is from the legacy graph engine so elevator/stairs/ramp costs are preserved). Default 3.
floorHopCost?
optionalfloorHopCost?:number
Defined in: packages/wayfinding/src/grid-types.ts:378
Per-hop cost used by resolveFloorChain when the hop stays within one building. Default 1.
ladder?
optionalladder?:RelaxationRung[]
Defined in: packages/wayfinding/src/grid-types.ts:273
Ordered rung list. Default DEFAULT_RELAXATION_LADDER.
Inherited from
landmarkRadiusM?
optionallandmarkRadiusM?:number
Defined in: packages/wayfinding/src/grid-types.ts:412
Radius in metres within which a turn instruction's nearest named IMDF unit/amenity qualifies it as a landmark (issue #485; see enrichInstructionsWithLandmarks in landmarks.ts). Default DEFAULT_LANDMARK_RADIUS_M (8m).
maxBranches?
optionalmaxBranches?:number
Defined in: packages/wayfinding/src/grid-types.ts:405
Safety cap on the number of portal-pair branch combinations enumerated across the floor chain — guards against combinatorial blow-up on a venue with many portal pairs on many floors. Default 500.
memoryBudgetCells?
optionalmemoryBudgetCells?: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?
optionalminDoorGapWidthM?: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?
optionalnow?:Date
Defined in: packages/wayfinding/src/grid-types.ts:282
Evaluation instant for restrictionSchedule. Defaults to new Date().
Inherited from
portalProximityM?
optionalportalProximityM?:number
Defined in: packages/wayfinding/src/grid-types.ts:387
Cross-floor portal-pair proximity threshold in metres. Default 5.
restrictionSchedule?
optionalrestrictionSchedule?: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).
Inherited from
GridLadderOptions.restrictionSchedule
spiralSearchMaxRadiusM?
optionalspiralSearchMaxRadiusM?: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.
Inherited from
GridLadderOptions.spiralSearchMaxRadiusM
wallStrokeWidthCells?
optionalwallStrokeWidthCells?:number
Defined in: packages/wayfinding/src/grid-types.ts:23
Wall boundary stroke thickness in cells. Default 2.
Inherited from
OccupancyGridOptions.wallStrokeWidthCells
wallVertexClearanceM?
optionalwallVertexClearanceM?: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?
optionalwallVertexClearanceOpeningM?: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?
optionalwallVertexOpeningMatchToleranceM?: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.
