@eyeon/map 2.0.0

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.
Files changed (58) hide show
  1. package/README.md +27 -0
  2. package/dist/assets/MapViewer.css +1 -0
  3. package/dist/assets/index.css +1 -0
  4. package/dist/chunks/MapViewer.js +530 -0
  5. package/dist/chunks/MapViewer.js.map +1 -0
  6. package/dist/chunks/graph-tools.js +153 -0
  7. package/dist/chunks/graph-tools.js.map +1 -0
  8. package/dist/chunks/pathfinding.js +343 -0
  9. package/dist/chunks/pathfinding.js.map +1 -0
  10. package/dist/core/geometry/index.d.ts +42 -0
  11. package/dist/core/geometry/index.d.ts.map +1 -0
  12. package/dist/core/import/index.d.ts +51 -0
  13. package/dist/core/import/index.d.ts.map +1 -0
  14. package/dist/core/index.d.ts +7 -0
  15. package/dist/core/index.d.ts.map +1 -0
  16. package/dist/core/index.js +282 -0
  17. package/dist/core/index.js.map +1 -0
  18. package/dist/core/publish/index.d.ts +28 -0
  19. package/dist/core/publish/index.d.ts.map +1 -0
  20. package/dist/core/routing/graph-tools.d.ts +47 -0
  21. package/dist/core/routing/graph-tools.d.ts.map +1 -0
  22. package/dist/core/routing/pathfinding.d.ts +22 -0
  23. package/dist/core/routing/pathfinding.d.ts.map +1 -0
  24. package/dist/core/types.d.ts +406 -0
  25. package/dist/core/types.d.ts.map +1 -0
  26. package/dist/editor/MapEditor.d.ts +31 -0
  27. package/dist/editor/MapEditor.d.ts.map +1 -0
  28. package/dist/editor/canvas/EditorCanvas.d.ts +22 -0
  29. package/dist/editor/canvas/EditorCanvas.d.ts.map +1 -0
  30. package/dist/editor/index.css +248 -0
  31. package/dist/editor/index.d.ts +5 -0
  32. package/dist/editor/index.d.ts.map +1 -0
  33. package/dist/editor/index.js +734 -0
  34. package/dist/editor/index.js.map +1 -0
  35. package/dist/editor/panels/Inspector.d.ts +14 -0
  36. package/dist/editor/panels/Inspector.d.ts.map +1 -0
  37. package/dist/editor/panels/LeftRail.d.ts +36 -0
  38. package/dist/editor/panels/LeftRail.d.ts.map +1 -0
  39. package/dist/editor/panels/PreviewOverlay.d.ts +6 -0
  40. package/dist/editor/panels/PreviewOverlay.d.ts.map +1 -0
  41. package/dist/index.d.ts +3 -0
  42. package/dist/index.d.ts.map +1 -0
  43. package/dist/viewer/MapViewer.d.ts +26 -0
  44. package/dist/viewer/MapViewer.d.ts.map +1 -0
  45. package/dist/viewer/components/LevelMeshes.d.ts +11 -0
  46. package/dist/viewer/components/LevelMeshes.d.ts.map +1 -0
  47. package/dist/viewer/components/MapScene.d.ts +12 -0
  48. package/dist/viewer/components/MapScene.d.ts.map +1 -0
  49. package/dist/viewer/components/RouteLine.d.ts +8 -0
  50. package/dist/viewer/components/RouteLine.d.ts.map +1 -0
  51. package/dist/viewer/index.css +210 -0
  52. package/dist/viewer/index.d.ts +4 -0
  53. package/dist/viewer/index.d.ts.map +1 -0
  54. package/dist/viewer/index.js +7 -0
  55. package/dist/viewer/index.js.map +1 -0
  56. package/dist/viewer/ui/RuntimeChrome.d.ts +19 -0
  57. package/dist/viewer/ui/RuntimeChrome.d.ts.map +1 -0
  58. package/package.json +81 -0
@@ -0,0 +1,22 @@
1
+ import { Graph } from 'ngraph.graph';
2
+ import { CmAnchor, CmConnector, CmRouteEdge, PathResult, PublishedGraphEdge, PublishedGraphNode } from '../types';
3
+ export interface CompiledGraph {
4
+ graph: Graph;
5
+ nodes: PublishedGraphNode[];
6
+ edges: PublishedGraphEdge[];
7
+ anchorById: Map<number, CmAnchor>;
8
+ }
9
+ export declare function compileGraph(anchors: CmAnchor[], edges: CmRouteEdge[], connectors?: CmConnector[]): CompiledGraph;
10
+ export interface FindPathOptions {
11
+ accessibleOnly?: boolean;
12
+ }
13
+ /**
14
+ * NBA* pathfinding over the compiled graph.
15
+ * Returns null if no path exists.
16
+ */
17
+ export declare function findPath(compiled: CompiledGraph, fromAnchorId: number, toAnchorId: number, options?: FindPathOptions): PathResult | null;
18
+ /**
19
+ * Find the nearest matching amenity shape anchor from a start point.
20
+ */
21
+ export declare function findNearestAmenityPath(compiled: CompiledGraph, fromAnchorId: number, amenityAnchorIds: number[], options?: FindPathOptions): PathResult | null;
22
+ //# sourceMappingURL=pathfinding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pathfinding.d.ts","sourceRoot":"","sources":["../../../src/core/routing/pathfinding.ts"],"names":[],"mappings":"AAAA,OAAoB,EAAE,KAAK,KAAK,EAAE,MAAM,cAAc,CAAC;AAEvD,OAAO,KAAK,EACV,QAAQ,EACR,WAAW,EACX,WAAW,EACX,UAAU,EACV,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,UAAU,CAAC;AAIlB,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,KAAK,CAAC;IACb,KAAK,EAAE,kBAAkB,EAAE,CAAC;IAC5B,KAAK,EAAE,kBAAkB,EAAE,CAAC;IAC5B,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;CACnC;AAED,wBAAgB,YAAY,CAC1B,OAAO,EAAE,QAAQ,EAAE,EACnB,KAAK,EAAE,WAAW,EAAE,EACpB,UAAU,GAAE,WAAW,EAAO,GAC7B,aAAa,CA2Df;AAED,MAAM,WAAW,eAAe;IAC9B,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CACtB,QAAQ,EAAE,aAAa,EACvB,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,eAAoB,GAC5B,UAAU,GAAG,IAAI,CAoDnB;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,aAAa,EACvB,YAAY,EAAE,MAAM,EACpB,gBAAgB,EAAE,MAAM,EAAE,EAC1B,OAAO,GAAE,eAAoB,GAC5B,UAAU,GAAG,IAAI,CAUnB"}
@@ -0,0 +1,406 @@
1
+ /**
2
+ * @eyeon/map/core — shared document model types.
3
+ * Pure TypeScript; no React / Three.js.
4
+ */
5
+ export type MapVersion = 1 | 2;
6
+ export type LevelKind = 'outdoor' | 'floor';
7
+ export type ShapeKind = 'unit' | 'amenity' | 'kiosk_screen' | 'connector' | 'entrance' | 'walkable' | 'void' | 'wall' | 'boundary' | 'floorplate' | 'decor' | 'label' | 'zone' | 'parking_zone' | 'green_area' | 'water' | 'parking_icon';
8
+ export type AnchorKind = 'unit' | 'junction' | 'connector' | 'entrance';
9
+ export type EdgeKind = 'walk' | 'unit_link' | 'connector' | 'entrance_link';
10
+ export type ConnectorKind = 'escalator' | 'elevator' | 'stairs' | 'ramp' | 'travelator';
11
+ export type ConnectorDirection = 'up' | 'down' | 'both';
12
+ export type UnitStatus = 'occupied' | 'vacant' | 'coming_soon' | 'under_renovation';
13
+ export type AssignmentTargetType = 'retailer' | 'amenity' | 'kiosk' | 'none';
14
+ export type ShapeOrigin = 'import' | 'manual';
15
+ export type DeviceType = 'display_app' | 'desktop' | 'tablet' | 'mobile';
16
+ export type MapRenderMode = '2D' | '3D';
17
+ export interface Vec2 {
18
+ x: number;
19
+ y: number;
20
+ }
21
+ export interface Vec3 {
22
+ x: number;
23
+ y: number;
24
+ z: number;
25
+ }
26
+ export interface BBox {
27
+ minX: number;
28
+ minY: number;
29
+ maxX: number;
30
+ maxY: number;
31
+ }
32
+ export interface ViewBox {
33
+ x: number;
34
+ y: number;
35
+ width: number;
36
+ height: number;
37
+ }
38
+ /** Absolute SVG path subpath preserving Illustrator beziers. */
39
+ export interface PathSubpath {
40
+ d: string;
41
+ closed: boolean;
42
+ }
43
+ export interface ShapeGeometry {
44
+ /** Absolute path data (Illustrator-compatible). */
45
+ paths: PathSubpath[];
46
+ /** Cached polygon approximation for hit-testing / routing. */
47
+ polygons: Vec2[][];
48
+ }
49
+ export interface ShapeStyle {
50
+ fill?: string;
51
+ stroke?: string;
52
+ strokeWidth?: number;
53
+ opacity?: number;
54
+ extrudeHeight?: number;
55
+ transparent?: boolean;
56
+ }
57
+ export interface ShapeLabel {
58
+ text?: string;
59
+ imageKey?: string;
60
+ size?: number;
61
+ rotate?: number;
62
+ offsetX?: number;
63
+ offsetY?: number;
64
+ color?: string;
65
+ autoFit?: boolean;
66
+ }
67
+ export interface LevelTransform {
68
+ translateX: number;
69
+ translateY: number;
70
+ scale: number;
71
+ rotate: number;
72
+ }
73
+ export interface ThemeDefaults {
74
+ MAP_STYLE: MapRenderMode;
75
+ MAP_BACKGROUND_COLOR: string;
76
+ ACCENT_COLOR: string;
77
+ STORE_DEFAULT_COLOR: string;
78
+ STORE_TEXT_COLOR: string;
79
+ STORE_HEIGHT: number;
80
+ WALL_COLOR: string;
81
+ WALL_THICKNESS: number;
82
+ BOUNDARY_COLOR: string;
83
+ BOUNDARY_THICKNESS: number;
84
+ BASE_COLOR: string;
85
+ OVERLAY_COLOR: string;
86
+ OVERLAY_OPACITY: number;
87
+ PARKING_ZONE_COLOR: string;
88
+ GREEN_AREA_COLOR: string;
89
+ WATER_COLOR: string;
90
+ WALKABLE_COLOR: string;
91
+ KIOSK_SIZE: number;
92
+ ZOOM_STEP: number;
93
+ CAMERA_MAX_DISTANCE: number;
94
+ CAMERA_MIN_DISTANCE: number;
95
+ }
96
+ export declare const DEFAULT_THEME: ThemeDefaults;
97
+ export interface CmMap {
98
+ id: number;
99
+ centerId: number;
100
+ baseSvgKey: string | null;
101
+ baseViewbox: ViewBox | null;
102
+ unitsPerMeter: number;
103
+ theme: Partial<ThemeDefaults>;
104
+ publishedRevisionId: number | null;
105
+ draftUpdatedAt: string | null;
106
+ createdAt: string;
107
+ }
108
+ export interface CmBuilding {
109
+ id: number;
110
+ mapId: number;
111
+ name: string;
112
+ ordering: number;
113
+ }
114
+ export interface CmLevel {
115
+ id: number;
116
+ mapId: number;
117
+ buildingId: number | null;
118
+ kind: LevelKind;
119
+ name: string;
120
+ levelIndex: number;
121
+ ordering: number;
122
+ sourceSvgKey: string | null;
123
+ sourceViewbox: ViewBox | null;
124
+ transform: LevelTransform;
125
+ isActive: boolean;
126
+ }
127
+ export interface CmShape {
128
+ id: number;
129
+ levelId: number;
130
+ key: string;
131
+ kind: ShapeKind;
132
+ geometry: ShapeGeometry;
133
+ bbox: BBox;
134
+ zIndex: number;
135
+ style: ShapeStyle;
136
+ label: ShapeLabel;
137
+ sourceSvgId: string | null;
138
+ origin: ShapeOrigin;
139
+ }
140
+ export interface CmShapeAssignment {
141
+ shapeId: number;
142
+ targetType: AssignmentTargetType;
143
+ retailerId: number | null;
144
+ amenityId: number | null;
145
+ kioskId: number | null;
146
+ unitStatus: UnitStatus;
147
+ unitNumber: string | null;
148
+ customLabel: string | null;
149
+ customImageKey: string | null;
150
+ }
151
+ export interface CmAnchor {
152
+ id: number;
153
+ levelId: number;
154
+ shapeId: number | null;
155
+ kind: AnchorKind;
156
+ x: number;
157
+ y: number;
158
+ connectorId: number | null;
159
+ }
160
+ export interface CmRouteEdge {
161
+ id: number;
162
+ mapId: number;
163
+ fromAnchorId: number;
164
+ toAnchorId: number;
165
+ weight: number | null;
166
+ directed: boolean;
167
+ accessible: boolean;
168
+ kind: EdgeKind;
169
+ }
170
+ export interface CmConnector {
171
+ id: number;
172
+ mapId: number;
173
+ kind: ConnectorKind;
174
+ name: string;
175
+ direction: ConnectorDirection;
176
+ accessible: boolean;
177
+ }
178
+ export interface CmAmenityCatalogItem {
179
+ id: number;
180
+ centerId: number | null;
181
+ code: string;
182
+ name: string;
183
+ iconKey: string | null;
184
+ builtinIcon: string | null;
185
+ ordering: number;
186
+ isActive: boolean;
187
+ }
188
+ export interface CmResponsiveOverride {
189
+ id: number;
190
+ mapId: number;
191
+ levelId: number | null;
192
+ device: DeviceType;
193
+ camera: Vec3;
194
+ controls: Vec3;
195
+ }
196
+ export interface PublishedGraphNode {
197
+ id: number;
198
+ levelId: number;
199
+ x: number;
200
+ y: number;
201
+ kind: AnchorKind;
202
+ shapeId: number | null;
203
+ connectorId: number | null;
204
+ }
205
+ export interface PublishedGraphEdge {
206
+ id: number;
207
+ from: number;
208
+ to: number;
209
+ weight: number;
210
+ directed: boolean;
211
+ accessible: boolean;
212
+ kind: EdgeKind;
213
+ }
214
+ export interface PublishedLevel {
215
+ id: number;
216
+ buildingId: number | null;
217
+ kind: LevelKind;
218
+ name: string;
219
+ levelIndex: number;
220
+ ordering: number;
221
+ sourceSvgUrl: string | null;
222
+ viewbox: ViewBox | null;
223
+ transform: LevelTransform;
224
+ shapes: Array<CmShape & {
225
+ assignment?: CmShapeAssignment | null;
226
+ }>;
227
+ anchors: CmAnchor[];
228
+ }
229
+ export interface PublishedDocument {
230
+ version: 2;
231
+ revisionId: number;
232
+ revisionNumber: number;
233
+ centerId: number;
234
+ mapId: number;
235
+ theme: ThemeDefaults;
236
+ baseSvgUrl: string | null;
237
+ baseViewbox: ViewBox | null;
238
+ buildings: CmBuilding[];
239
+ levels: PublishedLevel[];
240
+ connectors: CmConnector[];
241
+ amenities: CmAmenityCatalogItem[];
242
+ graph: {
243
+ nodes: PublishedGraphNode[];
244
+ edges: PublishedGraphEdge[];
245
+ };
246
+ responsiveOverrides: CmResponsiveOverride[];
247
+ publishedAt: string;
248
+ }
249
+ export interface ImportClassification {
250
+ sourceSvgId: string;
251
+ kind: ShapeKind | null;
252
+ guessed: boolean;
253
+ message?: string;
254
+ }
255
+ export interface ImportReport {
256
+ classified: ImportClassification[];
257
+ unrecognized: string[];
258
+ guessed: ImportClassification[];
259
+ walkableCount: number;
260
+ voidCount: number;
261
+ unitCount: number;
262
+ warnings: string[];
263
+ }
264
+ export type DiffChangeType = 'added' | 'removed' | 'moved' | 'unchanged' | 'kind_changed';
265
+ export interface ImportDiffItem {
266
+ sourceSvgId: string;
267
+ change: DiffChangeType;
268
+ existingShapeId?: number;
269
+ newKind?: ShapeKind | null;
270
+ existingKind?: ShapeKind | null;
271
+ preserve?: {
272
+ key?: string;
273
+ assignment?: boolean;
274
+ anchors?: boolean;
275
+ };
276
+ }
277
+ export interface ImportDiff {
278
+ items: ImportDiffItem[];
279
+ shapes: Array<{
280
+ key: string;
281
+ kind: ShapeKind;
282
+ geometry: ShapeGeometry;
283
+ bbox: BBox;
284
+ sourceSvgId: string;
285
+ style: ShapeStyle;
286
+ }>;
287
+ viewbox: ViewBox | null;
288
+ }
289
+ export interface WeldResult {
290
+ survivingAnchorId: number;
291
+ removedAnchorIds: number[];
292
+ rewiredEdgeIds: number[];
293
+ }
294
+ export interface AutoConnectResult {
295
+ unitAnchorId: number;
296
+ junctionAnchor: {
297
+ x: number;
298
+ y: number;
299
+ existingId?: number;
300
+ };
301
+ edge: {
302
+ fromAnchorId: number;
303
+ toAnchorId?: number;
304
+ };
305
+ }
306
+ export interface SkeletonSuggestion {
307
+ anchors: Array<{
308
+ tempId: string;
309
+ x: number;
310
+ y: number;
311
+ kind: AnchorKind;
312
+ }>;
313
+ edges: Array<{
314
+ fromTempId: string;
315
+ toTempId: string;
316
+ }>;
317
+ }
318
+ export interface PathResult {
319
+ anchorIds: number[];
320
+ points: Array<Vec2 & {
321
+ levelId: number;
322
+ }>;
323
+ totalWeight: number;
324
+ levelChanges: Array<{
325
+ fromLevelId: number;
326
+ toLevelId: number;
327
+ connectorId: number | null;
328
+ }>;
329
+ }
330
+ export type BatchOp = {
331
+ op: 'upsert_shape';
332
+ shape: Partial<CmShape> & {
333
+ levelId: number;
334
+ key: string;
335
+ };
336
+ } | {
337
+ op: 'delete_shape';
338
+ shapeId: number;
339
+ } | {
340
+ op: 'upsert_assignment';
341
+ assignment: CmShapeAssignment;
342
+ } | {
343
+ op: 'delete_assignment';
344
+ shapeId: number;
345
+ } | {
346
+ op: 'upsert_anchor';
347
+ anchor: Partial<CmAnchor> & {
348
+ levelId: number;
349
+ x: number;
350
+ y: number;
351
+ kind: AnchorKind;
352
+ };
353
+ } | {
354
+ op: 'delete_anchor';
355
+ anchorId: number;
356
+ } | {
357
+ op: 'upsert_edge';
358
+ edge: Partial<CmRouteEdge> & {
359
+ mapId: number;
360
+ fromAnchorId: number;
361
+ toAnchorId: number;
362
+ };
363
+ } | {
364
+ op: 'delete_edge';
365
+ edgeId: number;
366
+ } | {
367
+ op: 'weld_anchors';
368
+ anchorIds: number[];
369
+ tolerance?: number;
370
+ } | {
371
+ op: 'upsert_level';
372
+ level: Partial<CmLevel> & {
373
+ mapId: number;
374
+ name: string;
375
+ kind: LevelKind;
376
+ };
377
+ } | {
378
+ op: 'delete_level';
379
+ levelId: number;
380
+ } | {
381
+ op: 'upsert_building';
382
+ building: Partial<CmBuilding> & {
383
+ mapId: number;
384
+ name: string;
385
+ };
386
+ } | {
387
+ op: 'delete_building';
388
+ buildingId: number;
389
+ } | {
390
+ op: 'update_theme';
391
+ theme: Partial<ThemeDefaults>;
392
+ } | {
393
+ op: 'upsert_connector';
394
+ connector: Partial<CmConnector> & {
395
+ mapId: number;
396
+ kind: ConnectorKind;
397
+ name: string;
398
+ };
399
+ } | {
400
+ op: 'delete_connector';
401
+ connectorId: number;
402
+ };
403
+ export declare const INTERACTIVE_SHAPE_KINDS: ShapeKind[];
404
+ export declare const FLOOR_CHANGE_PENALTY = 10000;
405
+ export declare const DEFAULT_WELD_TOLERANCE = 2.5;
406
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import { default as React } from 'react';
2
+ import { BatchOp, CmAmenityCatalogItem, CmAnchor, CmBuilding, CmLevel, CmRouteEdge, CmShape, CmShapeAssignment, PublishedDocument, ThemeDefaults } from '../core';
3
+ export interface EditorDraftState {
4
+ mapId: number;
5
+ centerId: number;
6
+ theme: Partial<ThemeDefaults>;
7
+ buildings: CmBuilding[];
8
+ levels: CmLevel[];
9
+ shapes: CmShape[];
10
+ assignments: CmShapeAssignment[];
11
+ anchors: CmAnchor[];
12
+ edges: CmRouteEdge[];
13
+ amenities: CmAmenityCatalogItem[];
14
+ baseSvgUrl?: string | null;
15
+ }
16
+ export interface MapEditorProps {
17
+ draft: EditorDraftState;
18
+ webApiURI: string;
19
+ canEdit?: boolean;
20
+ canFloors?: boolean;
21
+ canSettings?: boolean;
22
+ onBatch?: (ops: BatchOp[]) => Promise<void>;
23
+ onPublish?: () => Promise<void>;
24
+ onImportSvg?: (levelId: number, file: File) => Promise<void>;
25
+ onAutoroute?: (levelId: number) => Promise<void>;
26
+ previewDocument?: PublishedDocument | null;
27
+ className?: string;
28
+ }
29
+ export declare function MapEditor({ draft, canEdit, canFloors, canSettings, onBatch, onPublish, onImportSvg, onAutoroute, previewDocument, className, }: MapEditorProps): React.JSX.Element;
30
+ export default MapEditor;
31
+ //# sourceMappingURL=MapEditor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MapEditor.d.ts","sourceRoot":"","sources":["../../src/editor/MapEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiD,MAAM,OAAO,CAAC;AACtE,OAAO,KAAK,EACV,OAAO,EACP,oBAAoB,EACpB,QAAQ,EACR,UAAU,EACV,OAAO,EACP,WAAW,EACX,OAAO,EACP,iBAAiB,EACjB,iBAAiB,EAEjB,aAAa,EACd,MAAM,SAAS,CAAC;AAMjB,OAAO,cAAc,CAAC;AAEtB,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;AAED,MAAM,WAAW,cAAc;IAC7B,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,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,eAAe,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,OAAc,EACd,SAAgB,EAChB,WAAkB,EAClB,OAAO,EACP,SAAS,EACT,WAAW,EACX,WAAW,EACX,eAAe,EACf,SAAS,GACV,EAAE,cAAc,qBAsOhB;AAED,eAAe,SAAS,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { default as React } from 'react';
2
+ import { CmAnchor, CmLevel, CmRouteEdge, CmShape, CmShapeAssignment, ShapeGeometry, ShapeKind, ThemeDefaults, Vec2 } from '../../core';
3
+ export interface EditorCanvasProps {
4
+ level: CmLevel | null;
5
+ shapes: CmShape[];
6
+ anchors: CmAnchor[];
7
+ edges: CmRouteEdge[];
8
+ assignments: CmShapeAssignment[];
9
+ theme: ThemeDefaults;
10
+ tool: 'select' | 'draw-unit' | 'draw-route' | 'pan';
11
+ baseAngle: number;
12
+ selectedShapeId: number | null;
13
+ selectedAnchorIds: number[];
14
+ baseSvgUrl: string | null;
15
+ onSelectShape: (id: number | null) => void;
16
+ onSelectAnchors: (ids: number[]) => void;
17
+ onCreateRoutePoint: (point: Vec2, prevAnchorId: number | null) => void;
18
+ onMoveAnchor: (anchorId: number, x: number, y: number) => void;
19
+ onCreateShape: (kind: ShapeKind, geometry: ShapeGeometry) => void;
20
+ }
21
+ export declare function EditorCanvas({ level, shapes, anchors, edges, theme, tool, baseAngle, selectedShapeId, selectedAnchorIds, baseSvgUrl, onSelectShape, onSelectAnchors, onCreateRoutePoint, onMoveAnchor, onCreateShape, }: EditorCanvasProps): React.JSX.Element;
22
+ //# sourceMappingURL=EditorCanvas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EditorCanvas.d.ts","sourceRoot":"","sources":["../../../src/editor/canvas/EditorCanvas.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoC,MAAM,OAAO,CAAC;AACzD,OAAO,KAAK,EACV,QAAQ,EACR,OAAO,EACP,WAAW,EACX,OAAO,EACP,iBAAiB,EACjB,aAAa,EACb,SAAS,EACT,aAAa,EACb,IAAI,EACL,MAAM,YAAY,CAAC;AAGpB,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,OAAO,EAAE,CAAC;IAClB,OAAO,EAAE,QAAQ,EAAE,CAAC;IACpB,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,WAAW,EAAE,iBAAiB,EAAE,CAAC;IACjC,KAAK,EAAE,aAAa,CAAC;IACrB,IAAI,EAAE,QAAQ,GAAG,WAAW,GAAG,YAAY,GAAG,KAAK,CAAC;IACpD,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,aAAa,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC3C,eAAe,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACzC,kBAAkB,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACvE,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/D,aAAa,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,KAAK,IAAI,CAAC;CACnE;AAcD,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,MAAM,EACN,OAAO,EACP,KAAK,EACL,KAAK,EACL,IAAI,EACJ,SAAS,EACT,eAAe,EACf,iBAAiB,EACjB,UAAU,EACV,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,YAAY,EACZ,aAAa,GACd,EAAE,iBAAiB,qBAyOnB"}