@expofp/floorplan
Version:
Interactive floor plan library for expos and events
31 lines • 1.34 kB
TypeScript
import { type RouteLine } from "../types";
interface TransitionPointsInput {
/** Full route including virtual lines */
readonly routeLines: RouteLine[];
/** Floor to scope to. `null` = no floor scoping (returns transitions on every floor). */
readonly currentLayerName: string | null;
/** Floor names ordered low → high (from layerStore.floors) */
readonly floorOrder: string[];
}
export interface TransitionPointDef {
readonly x: number;
readonly y: number;
/** Floor where the icon is rendered */
readonly layer: string;
/** Floor the transition leads to (for click-to-switch) */
readonly targetLayer: string;
readonly direction: "up" | "down" | "neutral";
/** Whether this is an entry (arriving from another floor) or exit (leaving to another floor) in walking direction */
readonly role: "entry" | "exit";
}
/**
* Computes deduplicated, correctly-directed transition points for the
* current floor.
*
* Works directly with the full `routeLines` array (including virtual lines)
* and does NOT depend on `routeNextFloor` — the target floor is read from
* the opposite endpoint of each virtual line.
*/
export declare function computeTransitionPoints(input: TransitionPointsInput): TransitionPointDef[];
export {};
//# sourceMappingURL=computeTransitionPoints.d.ts.map