mudlet-map-renderer 0.38.0-konva → 0.40.0-konva
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/InteractionHandler.d.ts +2 -0
- package/dist/ScenePipeline.d.ts +42 -0
- package/dist/backend/CanvasBackend.d.ts +1 -0
- package/dist/backend/DrawingBackend.d.ts +2 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.mjs +572 -500
- package/dist/index.mjs.map +1 -1
- package/dist/rendering/KonvaRenderBackend.d.ts +4 -0
- package/dist/rendering/MapRenderer.d.ts +20 -0
- package/dist/scene/SpecialExitStyle.d.ts +2 -0
- package/dist/types/MapData.d.ts +2 -0
- package/package.json +2 -1
|
@@ -47,6 +47,8 @@ export declare class InteractionHandler {
|
|
|
47
47
|
private lastPinchDistance?;
|
|
48
48
|
private readonly cleanupFns;
|
|
49
49
|
private destroyed;
|
|
50
|
+
/** Skip cursor changes when an external consumer (e.g. the editor) owns cursor management. */
|
|
51
|
+
private setCursor;
|
|
50
52
|
constructor(container: HTMLDivElement, viewport: Viewport, state: MapState, settings: Settings, hitTest: HitTestCallbacks, events: TypedEventEmitter<RendererEventMap>);
|
|
51
53
|
destroy(): void;
|
|
52
54
|
private listen;
|
package/dist/ScenePipeline.d.ts
CHANGED
|
@@ -37,10 +37,49 @@ export type AreaExitHitZone = {
|
|
|
37
37
|
/** Stroke colour of the rendered arrow — used to colour area-exit labels. */
|
|
38
38
|
arrowColor?: string;
|
|
39
39
|
};
|
|
40
|
+
/**
|
|
41
|
+
* One drawn two-way or one-way inter-room exit, with stable identity and the
|
|
42
|
+
* exact geometry ExitRenderer produced. Consumers (e.g. an editor's
|
|
43
|
+
* hit-testing layer) can run segment distance checks against
|
|
44
|
+
* `data.lines[].points` / `data.arrows[].points` to match exactly what the
|
|
45
|
+
* user sees — including dash patterns and the renderer's suppression rules
|
|
46
|
+
* (e.g. both-sides-customLine two-ways, one-ways overridden by customLine).
|
|
47
|
+
*/
|
|
48
|
+
export type DrawnExitEntry = {
|
|
49
|
+
readonly a: number;
|
|
50
|
+
readonly b: number;
|
|
51
|
+
readonly aDir?: MapData.direction;
|
|
52
|
+
readonly bDir?: MapData.direction;
|
|
53
|
+
readonly kind: "exit" | "specialExit";
|
|
54
|
+
readonly zIndex: number[];
|
|
55
|
+
readonly data: ExitDrawData;
|
|
56
|
+
};
|
|
57
|
+
/**
|
|
58
|
+
* One drawn custom-line (special exit) polyline, as it was rendered for
|
|
59
|
+
* this scene. `points` is the flat [x,y,x,y,...] polyline with the source
|
|
60
|
+
* room's centre prepended (mirroring what the renderer actually drew), in
|
|
61
|
+
* render-space coordinates.
|
|
62
|
+
*/
|
|
63
|
+
export type DrawnSpecialExitEntry = {
|
|
64
|
+
readonly roomId: number;
|
|
65
|
+
readonly exitName: string;
|
|
66
|
+
readonly points: number[];
|
|
67
|
+
readonly stroke: string;
|
|
68
|
+
readonly strokeWidth: number;
|
|
69
|
+
readonly dash?: number[];
|
|
70
|
+
readonly hasArrow: boolean;
|
|
71
|
+
readonly arrowTip?: {
|
|
72
|
+
x: number;
|
|
73
|
+
y: number;
|
|
74
|
+
};
|
|
75
|
+
readonly bounds: Bounds;
|
|
76
|
+
};
|
|
40
77
|
export type SceneBuildResult = {
|
|
41
78
|
roomNodes: Map<number, RoomNodeEntry>;
|
|
42
79
|
standaloneExitNodes: StandaloneExitEntry[];
|
|
43
80
|
areaExitHitZones: AreaExitHitZone[];
|
|
81
|
+
drawnExits: DrawnExitEntry[];
|
|
82
|
+
drawnSpecialExits: DrawnSpecialExitEntry[];
|
|
44
83
|
};
|
|
45
84
|
/**
|
|
46
85
|
* Backend-agnostic scene composition pipeline.
|
|
@@ -59,10 +98,12 @@ export declare class ScenePipeline {
|
|
|
59
98
|
private readonly gridLayer;
|
|
60
99
|
private readonly linkLayer;
|
|
61
100
|
private readonly roomLayer;
|
|
101
|
+
private readonly topLabelLayer;
|
|
62
102
|
constructor(mapReader: MapReader, settings: Settings, backend: DrawingBackend, layers: {
|
|
63
103
|
gridLayer: LayerNode;
|
|
64
104
|
linkLayer: LayerNode;
|
|
65
105
|
roomLayer: LayerNode;
|
|
106
|
+
topLabelLayer?: LayerNode;
|
|
66
107
|
});
|
|
67
108
|
/**
|
|
68
109
|
* Build the full scene for an area/plane.
|
|
@@ -81,6 +122,7 @@ export declare class ScenePipeline {
|
|
|
81
122
|
/** Render ExitDrawData through the DrawingBackend. */
|
|
82
123
|
renderExitData(data: ExitDrawData): GroupNode;
|
|
83
124
|
private renderArrow;
|
|
125
|
+
private targetLabelLayer;
|
|
84
126
|
private renderLabels;
|
|
85
127
|
private renderAreaExitLabels;
|
|
86
128
|
private renderAreaName;
|
|
@@ -69,6 +69,7 @@ export declare class RecordingGroupNode implements GroupNode {
|
|
|
69
69
|
x: number;
|
|
70
70
|
y: number;
|
|
71
71
|
_visible: boolean;
|
|
72
|
+
noScaling: boolean;
|
|
72
73
|
readonly commands: DrawCommand[];
|
|
73
74
|
/** Lazily created when this group is materialized for a KonvaLayerNode. */
|
|
74
75
|
_konvaGroup?: Konva.Group;
|
package/dist/index.d.ts
CHANGED
|
@@ -3,6 +3,8 @@ export type { Settings, ViewportBounds, RendererEventMap, PerfSnapshot, CullingM
|
|
|
3
3
|
export { darkenColor, colorLightness, hexToRgba } from './utils/color';
|
|
4
4
|
export { MapRenderer } from './rendering/MapRenderer';
|
|
5
5
|
export type { InteractiveBackend } from './rendering/MapRenderer';
|
|
6
|
+
export type { DrawnExitEntry, DrawnSpecialExitEntry } from './ScenePipeline';
|
|
7
|
+
export type { ExitDrawData, ExitDrawLine, ExitDrawArrow, ExitDrawDoor } from './ExitRenderer';
|
|
6
8
|
export { MapState } from './MapState';
|
|
7
9
|
export type { MapStateEventMap, HighlightEntry, PathEntry } from './MapState';
|
|
8
10
|
export { KonvaRenderBackend } from './rendering/KonvaRenderBackend';
|