@expofp/floorplan
Version:
Interactive floor plan library for expos and events
27 lines • 1.07 kB
TypeScript
import type { RendererService } from "../../renderer";
import type { Point } from "./types";
import type { LayerManager } from "./layerManager";
/**
* Manages named trails of evenly-spaced dots between two points.
*
* Each trail has its own scale handler — when the camera zooms, dots are
* recalculated so visual spacing stays constant.
*/
export interface TrailManager {
/**
* Place, update, or remove a named trail.
* Pass `from/to = null` to remove the trail and unregister its scale handler.
*/
setTrail(name: string, from: Point | null, to: Point | null, options?: {
readonly canvas: HTMLCanvasElement;
readonly layer: string;
}): void;
/** Remove all trails and unregister their scale handlers. */
destroy(): void;
}
/**
* Create a {@link TrailManager} that renders dot trails into layers
* managed by the given {@link LayerManager}.
*/
export declare function createTrailManager(layerManager: LayerManager, rendererService: RendererService): TrailManager;
//# sourceMappingURL=trailManager.d.ts.map