@eyeon/map 2.0.2 → 2.0.3
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/assets/MapViewer.css +1 -1
- package/dist/assets/index.css +1 -1
- package/dist/chunks/MapViewer.js +1332 -1091
- package/dist/chunks/MapViewer.js.map +1 -1
- package/dist/chunks/graph-tools.js +246 -0
- package/dist/chunks/graph-tools.js.map +1 -0
- package/dist/chunks/stacking.js +885 -780
- package/dist/chunks/stacking.js.map +1 -1
- package/dist/core/filletPolygon.d.ts +10 -0
- package/dist/core/filletPolygon.d.ts.map +1 -0
- package/dist/core/import/index.d.ts +4 -0
- package/dist/core/import/index.d.ts.map +1 -1
- package/dist/core/index.d.ts +3 -0
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +89 -220
- package/dist/core/index.js.map +1 -1
- package/dist/core/layerStyles.d.ts +16 -0
- package/dist/core/layerStyles.d.ts.map +1 -1
- package/dist/core/mediaUrl.d.ts +3 -0
- package/dist/core/mediaUrl.d.ts.map +1 -0
- package/dist/core/outdoorDecoration.d.ts +16 -0
- package/dist/core/outdoorDecoration.d.ts.map +1 -0
- package/dist/core/routing/graph-tools.d.ts +23 -1
- package/dist/core/routing/graph-tools.d.ts.map +1 -1
- package/dist/core/routing/pathfinding.d.ts.map +1 -1
- package/dist/core/types.d.ts +5 -1
- package/dist/core/types.d.ts.map +1 -1
- package/dist/editor/MapEditor.d.ts +1 -1
- package/dist/editor/MapEditor.d.ts.map +1 -1
- package/dist/editor/canvas/EditorCanvas.d.ts +45 -7
- package/dist/editor/canvas/EditorCanvas.d.ts.map +1 -1
- package/dist/editor/canvas/OutdoorSvgUnderlay.d.ts +7 -0
- package/dist/editor/canvas/OutdoorSvgUnderlay.d.ts.map +1 -0
- package/dist/editor/canvas/coords.d.ts +30 -0
- package/dist/editor/canvas/coords.d.ts.map +1 -1
- package/dist/editor/canvas/editorFill.d.ts +10 -0
- package/dist/editor/canvas/editorFill.d.ts.map +1 -0
- package/dist/editor/canvas/editorHover.d.ts +14 -0
- package/dist/editor/canvas/editorHover.d.ts.map +1 -0
- package/dist/editor/canvas/underlayHint.d.ts +5 -0
- package/dist/editor/canvas/underlayHint.d.ts.map +1 -0
- package/dist/editor/connectorAssignments.d.ts +64 -0
- package/dist/editor/connectorAssignments.d.ts.map +1 -0
- package/dist/editor/draftOps.d.ts +4 -1
- package/dist/editor/draftOps.d.ts.map +1 -1
- package/dist/editor/editorSectionReturn.d.ts +12 -0
- package/dist/editor/editorSectionReturn.d.ts.map +1 -0
- package/dist/editor/floorsListReturn.d.ts +5 -0
- package/dist/editor/floorsListReturn.d.ts.map +1 -0
- package/dist/editor/geometryEdit.d.ts +23 -3
- package/dist/editor/geometryEdit.d.ts.map +1 -1
- package/dist/editor/hexColor.d.ts +4 -0
- package/dist/editor/hexColor.d.ts.map +1 -0
- package/dist/editor/history.d.ts +31 -0
- package/dist/editor/history.d.ts.map +1 -0
- package/dist/editor/index.css +270 -52
- package/dist/editor/index.d.ts +4 -4
- package/dist/editor/index.d.ts.map +1 -1
- package/dist/editor/index.js +5746 -1678
- package/dist/editor/index.js.map +1 -1
- package/dist/editor/labelText.d.ts +15 -0
- package/dist/editor/labelText.d.ts.map +1 -0
- package/dist/editor/panels/ConnectorAssign.d.ts +12 -0
- package/dist/editor/panels/ConnectorAssign.d.ts.map +1 -0
- package/dist/editor/panels/FloorsPanel.d.ts +4 -0
- package/dist/editor/panels/FloorsPanel.d.ts.map +1 -1
- package/dist/editor/panels/ImportReviewPanel.d.ts.map +1 -1
- package/dist/editor/panels/Inspector.d.ts +3 -2
- package/dist/editor/panels/Inspector.d.ts.map +1 -1
- package/dist/editor/panels/LeftRail.d.ts +9 -7
- package/dist/editor/panels/LeftRail.d.ts.map +1 -1
- package/dist/editor/pathRings.d.ts +79 -0
- package/dist/editor/pathRings.d.ts.map +1 -0
- package/dist/editor/portalSurface.d.ts +29 -3
- package/dist/editor/portalSurface.d.ts.map +1 -1
- package/dist/editor/railAssignments.d.ts +22 -0
- package/dist/editor/railAssignments.d.ts.map +1 -0
- package/dist/editor/routeStubs.d.ts +103 -0
- package/dist/editor/routeStubs.d.ts.map +1 -0
- package/dist/editor/snapPoint.d.ts +5 -0
- package/dist/editor/snapPoint.d.ts.map +1 -0
- package/dist/editor/splitJoin.d.ts +78 -0
- package/dist/editor/splitJoin.d.ts.map +1 -0
- package/dist/editor/tools.d.ts +35 -6
- package/dist/editor/tools.d.ts.map +1 -1
- package/dist/test-maps/shops-at-south-town/BASE - Shops At South Town.ai +6326 -6407
- package/dist/test-maps/shops-at-south-town/LF - Shops At South Town.ai +458 -484
- package/dist/test-maps/shops-at-south-town/SVG/BASE - Shops At South Town.svg +6 -6
- package/dist/test-maps/shops-at-south-town/SVG/LF - Shops At South Town.svg +52 -52
- package/dist/test-maps/shops-at-south-town/SVG/UF - Shops At South Town.svg +74 -74
- package/dist/test-maps/shops-at-south-town/UF - Shops At South Town.ai +341 -436
- package/dist/ui/ModernSelect.d.ts +14 -0
- package/dist/ui/ModernSelect.d.ts.map +1 -0
- package/dist/ui/selectSearch.d.ts +9 -0
- package/dist/ui/selectSearch.d.ts.map +1 -0
- package/dist/viewer/camera.d.ts +3 -0
- package/dist/viewer/camera.d.ts.map +1 -1
- package/dist/viewer/components/CameraRig.d.ts.map +1 -1
- package/dist/viewer/components/LevelMeshes.d.ts.map +1 -1
- package/dist/viewer/components/MapScene.d.ts.map +1 -1
- package/dist/viewer/components/SvgVectorLayer.d.ts +2 -2
- package/dist/viewer/components/SvgVectorLayer.d.ts.map +1 -1
- package/dist/viewer/index.css +115 -5
- package/dist/viewer/index.d.ts +1 -1
- package/dist/viewer/index.d.ts.map +1 -1
- package/dist/viewer/index.js +3 -3
- package/dist/viewer/ui/MapControls.d.ts +11 -3
- package/dist/viewer/ui/MapControls.d.ts.map +1 -1
- package/dist/viewer/ui/RuntimeChrome.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MapEditor.d.ts","sourceRoot":"","sources":["../../src/editor/MapEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAMZ,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EACV,OAAO,EACP,aAAa,EACb,iBAAiB,EAElB,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"MapEditor.d.ts","sourceRoot":"","sources":["../../src/editor/MapEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAMZ,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EACV,OAAO,EACP,aAAa,EACb,iBAAiB,EAElB,MAAM,SAAS,CAAC;AAiBjB,OAAO,EAAkC,KAAK,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAGnF,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AA2C/E,OAAO,cAAc,CAAC;AAEtB,YAAY,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACnD,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7C,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C,MAAM,WAAW,cAAc;IAC7B;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,KAAK,EAAE,gBAAgB,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,SAAS,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7D,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACpE,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,eAAe,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,eAAe,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC3C;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4EAA4E;IAC5E,aAAa,CAAC,EAAE,SAAS,CAAC;CAC3B;AAED,wBAAgB,SAAS,CAAC,EACxB,IAAe,EACf,KAAK,EACL,OAAc,EACd,SAAgB,EAChB,WAAkB,EAClB,OAAO,EACP,SAAS,EACT,WAAW,EACX,aAAa,EACb,aAAa,EACb,aAAa,EACb,eAAe,EACf,WAAW,EACX,eAAe,EACf,aAAa,EACb,SAAS,EACT,aAAa,GACd,EAAE,cAAc,qBA+1BhB;AAED,eAAe,SAAS,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
|
-
import { CmAnchor, CmLevel, CmRouteEdge, CmShape, CmShapeAssignment, ShapeGeometry, ShapeKind, ThemeDefaults, Vec2, ViewBox } from '../../core';
|
|
2
|
+
import { CmAnchor, CmLevel, CmRouteEdge, CmShape, CmShapeAssignment, ShapeGeometry, ShapeKind, ShapeLabel, ThemeDefaults, Vec2, ViewBox } from '../../core';
|
|
3
3
|
import { EditorTool } from '../tools';
|
|
4
|
+
import { ShapeBatchEdit } from '../splitJoin';
|
|
4
5
|
export interface EditorCanvasProps {
|
|
5
6
|
level: CmLevel | null;
|
|
6
7
|
shapes: CmShape[];
|
|
@@ -9,13 +10,19 @@ export interface EditorCanvasProps {
|
|
|
9
10
|
assignments: CmShapeAssignment[];
|
|
10
11
|
theme: ThemeDefaults;
|
|
11
12
|
tool: EditorTool;
|
|
12
|
-
baseAngle: number;
|
|
13
13
|
selectedShapeId: number | null;
|
|
14
14
|
selectedAnchorIds: number[];
|
|
15
15
|
/** Outdoor SVG underlay (designer-owned). */
|
|
16
16
|
baseSvgUrl: string | null;
|
|
17
17
|
baseViewbox?: ViewBox | null;
|
|
18
|
-
/**
|
|
18
|
+
/**
|
|
19
|
+
* Live outdoor SVG. Drawn on every Edit Map floor (and Outdoor) so
|
|
20
|
+
* green areas, parking lanes, and icons match the assign view.
|
|
21
|
+
*/
|
|
22
|
+
outdoorSvgUrl?: string | null;
|
|
23
|
+
/** Same proxy as MapViewer — required when the SVG is cross-origin. */
|
|
24
|
+
imageProxyUrl?: string | null;
|
|
25
|
+
/** @deprecated Use outdoorSvgUrl. Kept so existing hosts keep compiling. */
|
|
19
26
|
levelSvgUrl?: string | null;
|
|
20
27
|
/** Outdoor/base shapes drawn behind the active building floor (non-interactive). */
|
|
21
28
|
underlayShapes?: CmShape[];
|
|
@@ -23,12 +30,43 @@ export interface EditorCanvasProps {
|
|
|
23
30
|
interactiveOnly?: boolean;
|
|
24
31
|
/** Graph-paper grid. PORTAL only mounts this canvas after Edit Map. */
|
|
25
32
|
showGrid?: boolean;
|
|
33
|
+
/** Wayfinding section: Select also shows and edits the route graph. */
|
|
34
|
+
routeMode?: boolean;
|
|
35
|
+
/** Pan and zoom only — used for Outdoor in Wayfinding. */
|
|
36
|
+
readOnly?: boolean;
|
|
26
37
|
onSelectShape: (id: number | null) => void;
|
|
27
38
|
onSelectAnchors: (ids: number[]) => void;
|
|
28
|
-
onCreateRoutePoint: (point: Vec2, prevAnchorId: number | null) => void;
|
|
39
|
+
onCreateRoutePoint: (point: Vec2, prevAnchorId: number | null) => number | null | void;
|
|
40
|
+
/** First committed Create Route segment (two points + one edge). */
|
|
41
|
+
onCreateRouteSegment: (start: Vec2, end: Vec2) => number | null | void;
|
|
42
|
+
/** Connect two existing junctions with a walk edge. */
|
|
43
|
+
onLinkRouteAnchors?: (fromAnchorId: number, toAnchorId: number) => void;
|
|
44
|
+
onInsertRouteJunction: (edgeId: number, point: Vec2) => number | null | void;
|
|
45
|
+
/** Esc on a route draft uses the same path as the Undo control. */
|
|
46
|
+
onUndo?: () => void;
|
|
47
|
+
onRouteDraftActiveChange?: (active: boolean) => void;
|
|
48
|
+
/** Esc on Multi Route (or Create Route) used to return to Select. */
|
|
49
|
+
onToolChange?: (tool: EditorTool) => void;
|
|
50
|
+
onDeleteRouteAnchor: (anchorId: number) => void;
|
|
51
|
+
onConnectShapeToRoute: (shapeId: number, from: Vec2, drop: Vec2, maxDist: number) => void;
|
|
52
|
+
/** Click inside a store to place its orange destination at that point. */
|
|
53
|
+
onEnsureShapeAnchor: (shapeId: number, point: Vec2) => number | null | void;
|
|
29
54
|
onMoveAnchor: (anchorId: number, x: number, y: number) => void;
|
|
30
|
-
onCreateShape: (kind: ShapeKind, geometry: ShapeGeometry
|
|
31
|
-
|
|
55
|
+
onCreateShape: (kind: ShapeKind, geometry: ShapeGeometry, extras?: {
|
|
56
|
+
label?: ShapeLabel;
|
|
57
|
+
}) => void;
|
|
58
|
+
onUpdateShapeGeometry: (shapeId: number, geometry: ShapeGeometry, opts?: {
|
|
59
|
+
live?: boolean;
|
|
60
|
+
}) => void;
|
|
61
|
+
onBatchShapeEdits?: (edits: ShapeBatchEdit[]) => void;
|
|
62
|
+
/** End a live drag so the next edit starts a new undo step. */
|
|
63
|
+
onHistoryGestureEnd?: () => void;
|
|
32
64
|
}
|
|
33
|
-
export
|
|
65
|
+
export interface EditorCanvasHandle {
|
|
66
|
+
consumeRouteUndo: () => 'clear-only' | 'clear-and-undo';
|
|
67
|
+
zoomIn: () => void;
|
|
68
|
+
zoomOut: () => void;
|
|
69
|
+
resetView: () => void;
|
|
70
|
+
}
|
|
71
|
+
export declare const EditorCanvas: React.ForwardRefExoticComponent<EditorCanvasProps & React.RefAttributes<EditorCanvasHandle>>;
|
|
34
72
|
//# sourceMappingURL=EditorCanvas.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EditorCanvas.d.ts","sourceRoot":"","sources":["../../../src/editor/canvas/EditorCanvas.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"EditorCanvas.d.ts","sourceRoot":"","sources":["../../../src/editor/canvas/EditorCanvas.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
export declare function OutdoorSvgUnderlay({ url, imageProxyUrl, suppressIds, }: {
|
|
3
|
+
url: string;
|
|
4
|
+
imageProxyUrl?: string | null;
|
|
5
|
+
suppressIds?: ReadonlySet<string>;
|
|
6
|
+
}): React.JSX.Element | null;
|
|
7
|
+
//# sourceMappingURL=OutdoorSvgUnderlay.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OutdoorSvgUnderlay.d.ts","sourceRoot":"","sources":["../../../src/editor/canvas/OutdoorSvgUnderlay.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAO5D,wBAAgB,kBAAkB,CAAC,EACjC,GAAG,EACH,aAAa,EACb,WAAW,GACZ,EAAE;IACD,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACnC,4BAoDA"}
|
|
@@ -18,4 +18,34 @@ export declare function clientToUser(ctm: Affine2, clientX: number, clientY: num
|
|
|
18
18
|
export declare function clientToSvgUser(svg: SVGSVGElement, clientX: number, clientY: number): Vec2;
|
|
19
19
|
/** Invert `translate(pan) scale(zoom)` so a user-space point becomes world geometry. */
|
|
20
20
|
export declare function userToWorld(user: Vec2, pan: Vec2, zoom: number): Vec2;
|
|
21
|
+
export declare const EDITOR_MIN_ZOOM = 0.2;
|
|
22
|
+
/** High enough that designers can park on a single storefront or route node. */
|
|
23
|
+
export declare const EDITOR_MAX_ZOOM = 128;
|
|
24
|
+
export declare function clampEditorZoom(zoom: number): number;
|
|
25
|
+
/** CSS pixels per SVG user unit from a screen CTM (ignores translation). */
|
|
26
|
+
export declare function pxPerUserFromCtm(ctm: Affine2): number;
|
|
27
|
+
/** World-space length that draws as `px` CSS pixels after `scale(zoom)`. */
|
|
28
|
+
export declare function screenPxToWorld(px: number, zoom: number, pxPerUser: number): number;
|
|
29
|
+
/**
|
|
30
|
+
* Next pan so `user` (cursor or pinch midpoint in viewBox space) stays over
|
|
31
|
+
* the same world point after `zoom` → `nextZoom`. Without this, SVG
|
|
32
|
+
* `scale()` pivots around the viewBox origin (top-left).
|
|
33
|
+
*/
|
|
34
|
+
export declare function panAfterZoom(user: Vec2, pan: Vec2, zoom: number, nextZoom: number): Vec2;
|
|
35
|
+
/** Pan that keeps a known world point under `user` at `zoom`. */
|
|
36
|
+
export declare function panKeepingWorldAtUser(user: Vec2, world: Vec2, zoom: number): Vec2;
|
|
37
|
+
export declare const EDITOR_ZOOM_ANIM_MS = 240;
|
|
38
|
+
export declare function easeOutCubic(t: number): number;
|
|
39
|
+
export declare function lerp(a: number, b: number, t: number): number;
|
|
40
|
+
/** Interpolate pan + zoom for a smooth +/− / Reset. */
|
|
41
|
+
export declare function interpolateView(from: {
|
|
42
|
+
pan: Vec2;
|
|
43
|
+
zoom: number;
|
|
44
|
+
}, to: {
|
|
45
|
+
pan: Vec2;
|
|
46
|
+
zoom: number;
|
|
47
|
+
}, t: number): {
|
|
48
|
+
pan: Vec2;
|
|
49
|
+
zoom: number;
|
|
50
|
+
};
|
|
21
51
|
//# sourceMappingURL=coords.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coords.d.ts","sourceRoot":"","sources":["../../../src/editor/canvas/coords.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEvC,wEAAwE;AACxE,MAAM,WAAW,OAAO;IACtB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CASjF;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAI1F;AAED,wFAAwF;AACxF,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAMrE"}
|
|
1
|
+
{"version":3,"file":"coords.d.ts","sourceRoot":"","sources":["../../../src/editor/canvas/coords.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEvC,wEAAwE;AACxE,MAAM,WAAW,OAAO;IACtB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CASjF;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAI1F;AAED,wFAAwF;AACxF,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAMrE;AAED,eAAO,MAAM,eAAe,MAAM,CAAC;AACnC,gFAAgF;AAChF,eAAO,MAAM,eAAe,MAAM,CAAC;AAEnC,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,4EAA4E;AAC5E,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAErD;AAED,4EAA4E;AAC5E,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAInF;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,IAAI,EACV,GAAG,EAAE,IAAI,EACT,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GACf,IAAI,CAMN;AAED,iEAAiE;AACjE,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAKjF;AAED,eAAO,MAAM,mBAAmB,MAAM,CAAC;AAEvC,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAG9C;AAED,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED,uDAAuD;AACvD,wBAAgB,eAAe,CAC7B,IAAI,EAAE;IAAE,GAAG,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EACjC,EAAE,EAAE;IAAE,GAAG,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAC/B,CAAC,EAAE,MAAM,GACR;IAAE,GAAG,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAS7B"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ShapeKind, ThemeDefaults } from '../../core';
|
|
2
|
+
/** Edit Map fills stay translucent so the grid shows through for alignment. */
|
|
3
|
+
export declare function editorShapeFillOpacity(kind: ShapeKind): number;
|
|
4
|
+
export declare function editorShapeFill(shape: {
|
|
5
|
+
kind: ShapeKind;
|
|
6
|
+
style?: {
|
|
7
|
+
fill?: string;
|
|
8
|
+
};
|
|
9
|
+
}, theme: ThemeDefaults): string;
|
|
10
|
+
//# sourceMappingURL=editorFill.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"editorFill.d.ts","sourceRoot":"","sources":["../../../src/editor/canvas/editorFill.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAG3D,+EAA+E;AAC/E,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CAI9D;AAED,wBAAgB,eAAe,CAC7B,KAAK,EAAE;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,EACrD,KAAK,EAAE,aAAa,GACnB,MAAM,CAMR"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ShapeKind } from '../../core';
|
|
2
|
+
import { EditorTool } from '../tools';
|
|
3
|
+
/** Stores and other assignable items — pointer + highlight, not the pan hand. */
|
|
4
|
+
export declare function isHoverHighlightShape(kind: ShapeKind): boolean;
|
|
5
|
+
export declare function editorSelectCursor(args: {
|
|
6
|
+
tool: EditorTool;
|
|
7
|
+
selected: boolean;
|
|
8
|
+
highlightable: boolean;
|
|
9
|
+
dragging?: boolean;
|
|
10
|
+
/** Wayfinding: + cursor — click places an orange store destination. */
|
|
11
|
+
wayfinding?: boolean;
|
|
12
|
+
}): 'pointer' | 'grab' | 'grabbing' | 'cell' | undefined;
|
|
13
|
+
export declare function editorHoverFillOpacity(kind: ShapeKind, base: number, hovered: boolean): number;
|
|
14
|
+
//# sourceMappingURL=editorHover.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"editorHover.d.ts","sourceRoot":"","sources":["../../../src/editor/canvas/editorHover.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AACrE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C,iFAAiF;AACjF,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAE9D;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE;IACvC,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,uEAAuE;IACvE,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,GAAG,SAAS,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,SAAS,CAYvD;AAED,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,SAAS,EACf,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,GACf,MAAM,CAGR"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { ShapeKind } from '../../core';
|
|
2
|
+
/** Outdoor underlay items that look clickable on a floor. */
|
|
3
|
+
export declare function isUnderlayHintShape(kind: ShapeKind): boolean;
|
|
4
|
+
export declare function underlaySwitchHint(kind: ShapeKind): string;
|
|
5
|
+
//# sourceMappingURL=underlayHint.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"underlayHint.d.ts","sourceRoot":"","sources":["../../../src/editor/canvas/underlayHint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAG5C,6DAA6D;AAC7D,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAE5D;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CAW1D"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { BatchOp, CmAnchor, CmConnector, CmLevel, CmRouteEdge, CmShape, ConnectorDirection, ConnectorKind, Vec2 } from '../core';
|
|
2
|
+
export type VerticalRailKind = 'escalator' | 'elevator';
|
|
3
|
+
export interface ParsedConnectorSource {
|
|
4
|
+
family: ConnectorKind;
|
|
5
|
+
group: string;
|
|
6
|
+
direction?: 'up' | 'down';
|
|
7
|
+
role?: 'start' | 'end';
|
|
8
|
+
}
|
|
9
|
+
/** Parse v1-style ids: `escalator-5-up-start`, `elevator-2`. */
|
|
10
|
+
export declare function parseConnectorSourceId(value: string | null | undefined): ParsedConnectorSource | null;
|
|
11
|
+
export declare function guessConnectorKind(shape: {
|
|
12
|
+
kind: string;
|
|
13
|
+
key: string;
|
|
14
|
+
sourceSvgId?: string | null;
|
|
15
|
+
}): ConnectorKind | null;
|
|
16
|
+
export declare function connectorIdForShape(shapeId: number, anchors: Array<Pick<CmAnchor, 'shapeId' | 'connectorId'>>): number | null;
|
|
17
|
+
export declare function connectorForShape(shapeId: number, anchors: Array<Pick<CmAnchor, 'shapeId' | 'connectorId'>>, connectors: CmConnector[]): CmConnector | null;
|
|
18
|
+
export declare function resolvedConnectorKind(shape: {
|
|
19
|
+
id: number;
|
|
20
|
+
kind: string;
|
|
21
|
+
key: string;
|
|
22
|
+
sourceSvgId?: string | null;
|
|
23
|
+
}, anchors: Array<Pick<CmAnchor, 'shapeId' | 'connectorId'>>, connectors: CmConnector[]): ConnectorKind | null;
|
|
24
|
+
export declare function railConnectorShapes<T extends {
|
|
25
|
+
id: number;
|
|
26
|
+
kind: string;
|
|
27
|
+
key: string;
|
|
28
|
+
sourceSvgId?: string | null;
|
|
29
|
+
orphanedAt?: string | null;
|
|
30
|
+
}>(shapes: T[], kind: VerticalRailKind, anchors: Array<Pick<CmAnchor, 'shapeId' | 'connectorId'>>, connectors: CmConnector[]): T[];
|
|
31
|
+
export declare function landingAnchor(shapeId: number, anchors: CmAnchor[]): CmAnchor | undefined;
|
|
32
|
+
export declare function shapeLandingPoint(shape: Pick<CmShape, 'geometry'>): Vec2;
|
|
33
|
+
export declare function inferTravelDirection(fromLevelIndex: number, toLevelIndex: number, hint?: 'up' | 'down'): ConnectorDirection;
|
|
34
|
+
export declare function defaultConnectorName(kind: VerticalRailKind, shapes: Array<{
|
|
35
|
+
key: string;
|
|
36
|
+
sourceSvgId?: string | null;
|
|
37
|
+
}>): string;
|
|
38
|
+
export declare function nearestWalkAnchor(anchors: CmAnchor[], levelId: number, point: Vec2, excludeIds?: ReadonlySet<number>): CmAnchor | null;
|
|
39
|
+
export declare function memberShapeIds(connectorId: number, anchors: Array<Pick<CmAnchor, 'shapeId' | 'connectorId'>>): number[];
|
|
40
|
+
export interface ConnectorPlanContext {
|
|
41
|
+
mapId: number;
|
|
42
|
+
levels: CmLevel[];
|
|
43
|
+
shapes: CmShape[];
|
|
44
|
+
anchors: CmAnchor[];
|
|
45
|
+
edges: CmRouteEdge[];
|
|
46
|
+
connectors: CmConnector[];
|
|
47
|
+
allocId: () => number;
|
|
48
|
+
}
|
|
49
|
+
export declare function buildUnlinkConnectorOps(ctx: ConnectorPlanContext, connectorId: number): BatchOp[];
|
|
50
|
+
export declare function buildEscalatorLinkOps(ctx: ConnectorPlanContext, fromShape: CmShape, toShape: CmShape, options?: {
|
|
51
|
+
name?: string;
|
|
52
|
+
direction?: 'up' | 'down';
|
|
53
|
+
}): BatchOp[];
|
|
54
|
+
export declare function buildElevatorShaftOps(ctx: ConnectorPlanContext, memberShapes: CmShape[], options?: {
|
|
55
|
+
name?: string;
|
|
56
|
+
accessible?: boolean;
|
|
57
|
+
connectorId?: number;
|
|
58
|
+
}): BatchOp[];
|
|
59
|
+
export declare function suggestEscalatorPairs(shapes: CmShape[], levels: CmLevel[], anchors: Array<Pick<CmAnchor, 'shapeId' | 'connectorId'>>): Array<{
|
|
60
|
+
fromShapeId: number;
|
|
61
|
+
toShapeId: number;
|
|
62
|
+
label: string;
|
|
63
|
+
}>;
|
|
64
|
+
//# sourceMappingURL=connectorAssignments.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connectorAssignments.d.ts","sourceRoot":"","sources":["../../src/editor/connectorAssignments.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BatchOp, CmAmenityCatalogItem, CmAnchor, CmBuilding, CmLevel, CmRouteEdge, CmShape, CmShapeAssignment, ThemeDefaults } from '../core';
|
|
1
|
+
import { BatchOp, CmAmenityCatalogItem, CmAnchor, CmBuilding, CmConnector, CmLevel, CmRouteEdge, CmShape, CmShapeAssignment, ThemeDefaults } from '../core';
|
|
2
2
|
export interface EditorDraftState {
|
|
3
3
|
mapId: number;
|
|
4
4
|
centerId: number;
|
|
@@ -9,10 +9,13 @@ export interface EditorDraftState {
|
|
|
9
9
|
assignments: CmShapeAssignment[];
|
|
10
10
|
anchors: CmAnchor[];
|
|
11
11
|
edges: CmRouteEdge[];
|
|
12
|
+
connectors: CmConnector[];
|
|
12
13
|
amenities: CmAmenityCatalogItem[];
|
|
13
14
|
baseSvgUrl?: string | null;
|
|
14
15
|
}
|
|
15
16
|
export declare function applyDraftOp(draft: EditorDraftState, op: BatchOp): EditorDraftState;
|
|
17
|
+
/** Drop a floor/outdoor level and every draft row that lived on it. */
|
|
18
|
+
export declare function omitLevelFromDraft(draft: EditorDraftState, levelId: number): EditorDraftState;
|
|
16
19
|
export declare function applyDraftOps(draft: EditorDraftState, ops: BatchOp[]): EditorDraftState;
|
|
17
20
|
/** Collapse repeated updates to the same entity so Save Changes sends one op each. */
|
|
18
21
|
export declare function coalesceDraftOp(ops: BatchOp[], op: BatchOp): BatchOp[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"draftOps.d.ts","sourceRoot":"","sources":["../../src/editor/draftOps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EAEP,oBAAoB,EACpB,QAAQ,EACR,UAAU,EACV,OAAO,EACP,WAAW,EACX,OAAO,EACP,iBAAiB,EAEjB,aAAa,EACd,MAAM,SAAS,CAAC;AAGjB,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IAC9B,SAAS,EAAE,UAAU,EAAE,CAAC;IACxB,MAAM,EAAE,OAAO,EAAE,CAAC;IAClB,MAAM,EAAE,OAAO,EAAE,CAAC;IAClB,WAAW,EAAE,iBAAiB,EAAE,CAAC;IACjC,OAAO,EAAE,QAAQ,EAAE,CAAC;IACpB,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,SAAS,EAAE,oBAAoB,EAAE,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAkBD,wBAAgB,YAAY,CAC1B,KAAK,EAAE,gBAAgB,EACvB,EAAE,EAAE,OAAO,GACV,gBAAgB,
|
|
1
|
+
{"version":3,"file":"draftOps.d.ts","sourceRoot":"","sources":["../../src/editor/draftOps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EAEP,oBAAoB,EACpB,QAAQ,EACR,UAAU,EACV,WAAW,EACX,OAAO,EACP,WAAW,EACX,OAAO,EACP,iBAAiB,EAEjB,aAAa,EACd,MAAM,SAAS,CAAC;AAGjB,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IAC9B,SAAS,EAAE,UAAU,EAAE,CAAC;IACxB,MAAM,EAAE,OAAO,EAAE,CAAC;IAClB,MAAM,EAAE,OAAO,EAAE,CAAC;IAClB,WAAW,EAAE,iBAAiB,EAAE,CAAC;IACjC,OAAO,EAAE,QAAQ,EAAE,CAAC;IACpB,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,UAAU,EAAE,WAAW,EAAE,CAAC;IAC1B,SAAS,EAAE,oBAAoB,EAAE,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAkBD,wBAAgB,YAAY,CAC1B,KAAK,EAAE,gBAAgB,EACvB,EAAE,EAAE,OAAO,GACV,gBAAgB,CAyJlB;AAED,uEAAuE;AACvE,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,gBAAgB,EACvB,OAAO,EAAE,MAAM,GACd,gBAAgB,CA0BlB;AAED,wBAAgB,aAAa,CAC3B,KAAK,EAAE,gBAAgB,EACvB,GAAG,EAAE,OAAO,EAAE,GACb,gBAAgB,CAMlB;AAiBD,sFAAsF;AACtF,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,OAAO,GAAG,OAAO,EAAE,CAmEtE"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export type RestoredEditorSection = {
|
|
2
|
+
section: 'edit-map' | 'wayfinding';
|
|
3
|
+
levelId: number | null;
|
|
4
|
+
};
|
|
5
|
+
/**
|
|
6
|
+
* Keep Edit Map / Wayfinding open across an in-page remount (save).
|
|
7
|
+
* Memory only — a full page refresh returns to Map options.
|
|
8
|
+
*/
|
|
9
|
+
export declare function markEditorSection(mapId: number, restored: RestoredEditorSection): void;
|
|
10
|
+
export declare function peekEditorSection(mapId: number): RestoredEditorSection | null;
|
|
11
|
+
export declare function clearEditorSection(mapId: number): void;
|
|
12
|
+
//# sourceMappingURL=editorSectionReturn.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"editorSectionReturn.d.ts","sourceRoot":"","sources":["../../src/editor/editorSectionReturn.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,qBAAqB,GAAG;IAClC,OAAO,EAAE,UAAU,GAAG,YAAY,CAAC;IACnC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB,CAAC;AAYF;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,qBAAqB,GAC9B,IAAI,CAGN;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,qBAAqB,GAAG,IAAI,CAG7E;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAGtD"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/** Remember to reopen the floors list after a remount (reload after add). */
|
|
2
|
+
export declare function markReturnToFloorsList(mapId: number): void;
|
|
3
|
+
export declare function consumeReturnToFloorsList(mapId: number): boolean;
|
|
4
|
+
export declare function clearReturnToFloorsList(mapId: number): void;
|
|
5
|
+
//# sourceMappingURL=floorsListReturn.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"floorsListReturn.d.ts","sourceRoot":"","sources":["../../src/editor/floorsListReturn.ts"],"names":[],"mappings":"AAYA,6EAA6E;AAC7E,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAG1D;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAKhE;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAG3D"}
|
|
@@ -3,12 +3,19 @@ import { ShapeGeometry, Vec2, geometryBBox } from '../core';
|
|
|
3
3
|
export declare function polygonsToPathD(polygons: Vec2[][]): string;
|
|
4
4
|
export declare function polygonsToGeometry(polygons: Vec2[][]): ShapeGeometry;
|
|
5
5
|
export declare function translateGeometry(geometry: ShapeGeometry, dx: number, dy: number): ShapeGeometry;
|
|
6
|
+
/** Slide one side: both endpoints (and that edge's handles) move together. */
|
|
7
|
+
export declare function translateEdge(geometry: ShapeGeometry, ringIndex: number, edgeIndex: number, delta: Vec2): ShapeGeometry;
|
|
6
8
|
export declare function moveVertex(geometry: ShapeGeometry, polygonIndex: number, vertexIndex: number, point: Vec2): ShapeGeometry;
|
|
9
|
+
export declare function moveHandle(geometry: ShapeGeometry, ringIndex: number, edgeIndex: number, handle: 1 | 2, point: Vec2): ShapeGeometry;
|
|
10
|
+
/** Drop both handles so the arch becomes a straight side. */
|
|
11
|
+
export declare function flattenCubicEdge(geometry: ShapeGeometry, ringIndex: number, edgeIndex: number): ShapeGeometry;
|
|
12
|
+
/** Pull a straight side into a cubic arch (or reshape a cubic from its chord). */
|
|
13
|
+
export declare function bendEdgeToCubic(geometry: ShapeGeometry, ringIndex: number, edgeIndex: number, pull: Vec2): ShapeGeometry;
|
|
7
14
|
/**
|
|
8
15
|
* Insert a vertex after `vertexIndex` on the given ring (before the next point).
|
|
9
16
|
*/
|
|
10
17
|
export declare function insertVertex(geometry: ShapeGeometry, polygonIndex: number, afterVertexIndex: number, point: Vec2): ShapeGeometry;
|
|
11
|
-
/** Remove a vertex; refuses to go below 3 points on a ring. */
|
|
18
|
+
/** Remove a vertex; refuses to go below 3 points on a closed ring. */
|
|
12
19
|
export declare function removeVertex(geometry: ShapeGeometry, polygonIndex: number, vertexIndex: number): ShapeGeometry;
|
|
13
20
|
export interface VertexHit {
|
|
14
21
|
polygonIndex: number;
|
|
@@ -16,19 +23,32 @@ export interface VertexHit {
|
|
|
16
23
|
point: Vec2;
|
|
17
24
|
distance: number;
|
|
18
25
|
}
|
|
19
|
-
/** Nearest
|
|
26
|
+
/** Nearest path anchor within `tolerance` world units, or null. */
|
|
20
27
|
export declare function hitTestVertex(geometry: ShapeGeometry, point: Vec2, tolerance: number): VertexHit | null;
|
|
28
|
+
export interface HandleHit {
|
|
29
|
+
ringIndex: number;
|
|
30
|
+
edgeIndex: number;
|
|
31
|
+
handle: 1 | 2;
|
|
32
|
+
point: Vec2;
|
|
33
|
+
distance: number;
|
|
34
|
+
}
|
|
35
|
+
export declare function hitTestHandle(geometry: ShapeGeometry, point: Vec2, tolerance: number): HandleHit | null;
|
|
21
36
|
export interface EdgeHit {
|
|
22
37
|
polygonIndex: number;
|
|
23
38
|
/** Insert after this vertex index. */
|
|
24
39
|
afterVertexIndex: number;
|
|
25
40
|
point: Vec2;
|
|
26
41
|
distance: number;
|
|
42
|
+
kind: 'line' | 'cubic';
|
|
27
43
|
}
|
|
28
|
-
/** Nearest edge midpoint
|
|
44
|
+
/** Nearest edge midpoint within tolerance for insert. */
|
|
29
45
|
export declare function hitTestEdgeMidpoint(geometry: ShapeGeometry, point: Vec2, tolerance: number): EdgeHit | null;
|
|
46
|
+
/** Nearest point on any edge (for dragging a line into an arch). */
|
|
47
|
+
export declare function hitTestEdge(geometry: ShapeGeometry, point: Vec2, tolerance: number): EdgeHit | null;
|
|
30
48
|
export declare function geometryWithBBox(geometry: ShapeGeometry): {
|
|
31
49
|
geometry: ShapeGeometry;
|
|
32
50
|
bbox: ReturnType<typeof geometryBBox>;
|
|
33
51
|
};
|
|
52
|
+
export { geometryToRings, edgeCount, edgeFrom, edgeTo, edgeToPathD, pointOnRingEdge, ringToPathD, } from './pathRings';
|
|
53
|
+
export type { PathRing, PathEdge } from './pathRings';
|
|
34
54
|
//# sourceMappingURL=geometryEdit.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"geometryEdit.d.ts","sourceRoot":"","sources":["../../src/editor/geometryEdit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"geometryEdit.d.ts","sourceRoot":"","sources":["../../src/editor/geometryEdit.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hexColor.d.ts","sourceRoot":"","sources":["../../src/editor/hexColor.ts"],"names":[],"mappings":"AAAA,qFAAqF;AACrF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAW9D;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAExD"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { BatchOp } from '../core';
|
|
2
|
+
export declare const EDITOR_HISTORY_LIMIT = 100;
|
|
3
|
+
export type EditorHistorySnapshot = {
|
|
4
|
+
ops: BatchOp[];
|
|
5
|
+
nextTempId: number;
|
|
6
|
+
selectedShapeId: number | null;
|
|
7
|
+
selectedAnchorIds: number[];
|
|
8
|
+
};
|
|
9
|
+
export type EditorHistory = {
|
|
10
|
+
past: EditorHistorySnapshot[];
|
|
11
|
+
future: EditorHistorySnapshot[];
|
|
12
|
+
};
|
|
13
|
+
export declare function emptyEditorHistory(): EditorHistory;
|
|
14
|
+
export declare function cloneHistorySnapshot(snapshot: EditorHistorySnapshot): EditorHistorySnapshot;
|
|
15
|
+
export declare function pushEditorHistory(history: EditorHistory, current: EditorHistorySnapshot): EditorHistory;
|
|
16
|
+
export declare function undoEditorHistory(history: EditorHistory, current: EditorHistorySnapshot): {
|
|
17
|
+
history: EditorHistory;
|
|
18
|
+
restored: EditorHistorySnapshot;
|
|
19
|
+
} | null;
|
|
20
|
+
export declare function redoEditorHistory(history: EditorHistory, current: EditorHistorySnapshot): {
|
|
21
|
+
history: EditorHistory;
|
|
22
|
+
restored: EditorHistorySnapshot;
|
|
23
|
+
} | null;
|
|
24
|
+
export declare function isEditableTypingTarget(target: EventTarget | null): boolean;
|
|
25
|
+
type HotkeyEvent = Pick<KeyboardEvent, 'key' | 'metaKey' | 'ctrlKey' | 'shiftKey' | 'altKey'>;
|
|
26
|
+
/** Ctrl/Cmd+Z — Windows, Linux, and macOS undo. */
|
|
27
|
+
export declare function isEditorUndoHotkey(e: HotkeyEvent): boolean;
|
|
28
|
+
/** Ctrl/Cmd+Shift+Z or Ctrl/Cmd+Y — redo on every desktop OS. */
|
|
29
|
+
export declare function isEditorRedoHotkey(e: HotkeyEvent): boolean;
|
|
30
|
+
export {};
|
|
31
|
+
//# sourceMappingURL=history.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../src/editor/history.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEvC,eAAO,MAAM,oBAAoB,MAAM,CAAC;AAExC,MAAM,MAAM,qBAAqB,GAAG;IAClC,GAAG,EAAE,OAAO,EAAE,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,iBAAiB,EAAE,MAAM,EAAE,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,qBAAqB,EAAE,CAAC;IAC9B,MAAM,EAAE,qBAAqB,EAAE,CAAC;CACjC,CAAC;AAEF,wBAAgB,kBAAkB,IAAI,aAAa,CAElD;AAED,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,qBAAqB,GAC9B,qBAAqB,CAOvB;AAED,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,qBAAqB,GAC7B,aAAa,CAKf;AAED,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,qBAAqB,GAC7B;IAAE,OAAO,EAAE,aAAa,CAAC;IAAC,QAAQ,EAAE,qBAAqB,CAAA;CAAE,GAAG,IAAI,CAUpE;AAED,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,qBAAqB,GAC7B;IAAE,OAAO,EAAE,aAAa,CAAC;IAAC,QAAQ,EAAE,qBAAqB,CAAA;CAAE,GAAG,IAAI,CAUpE;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,GAAG,OAAO,CAM1E;AAED,KAAK,WAAW,GAAG,IAAI,CACrB,aAAa,EACb,KAAK,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,GAAG,QAAQ,CACtD,CAAC;AAEF,mDAAmD;AACnD,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,WAAW,GAAG,OAAO,CAI1D;AAED,iEAAiE;AACjE,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,WAAW,GAAG,OAAO,CAM1D"}
|