Skip to content

spatial-monorepo


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?

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.

Inherited from

GridLadderOptions.accessible


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).

Inherited from

GridLadderOptions.avoidanceZones


buildingHopCost?

optional buildingHopCost?: 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?

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

GridLadderOptions.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


floorConnectivity?

optional floorConnectivity?: 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?

optional floorHeightM?: 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?

optional floorHopCost?: 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?

optional ladder?: RelaxationRung[]

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

Ordered rung list. Default DEFAULT_RELAXATION_LADDER.

Inherited from

GridLadderOptions.ladder


landmarkRadiusM?

optional landmarkRadiusM?: 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?

optional maxBranches?: 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?

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().

Inherited from

GridLadderOptions.now


portalProximityM?

optional portalProximityM?: number

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

Cross-floor portal-pair proximity threshold in metres. Default 5.


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).

Inherited from

GridLadderOptions.restrictionSchedule


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.

Inherited from

GridLadderOptions.spiralSearchMaxRadiusM


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.