@jamesyong42/infinite-canvas 1.3.0 → 1.6.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 (37) hide show
  1. package/dist/advanced.cjs +2 -2
  2. package/dist/advanced.d.cts +2 -2
  3. package/dist/advanced.d.mts +2 -2
  4. package/dist/advanced.mjs +2 -2
  5. package/dist/devtools.cjs +3 -6
  6. package/dist/devtools.cjs.map +1 -1
  7. package/dist/devtools.d.cts +1 -1
  8. package/dist/devtools.d.mts +1 -1
  9. package/dist/devtools.mjs +2 -5
  10. package/dist/devtools.mjs.map +1 -1
  11. package/dist/{ecs-B4QrqfvQ.cjs → ecs-BtX_rCS3.cjs} +57 -2
  12. package/dist/ecs-BtX_rCS3.cjs.map +1 -0
  13. package/dist/{ecs-3kimUV5Z.mjs → ecs-O6AR7iFp.mjs} +33 -2
  14. package/dist/ecs-O6AR7iFp.mjs.map +1 -0
  15. package/dist/{hooks-CtP02JNt.cjs → hooks-B-UPFgGj.cjs} +2 -5
  16. package/dist/{hooks-CtP02JNt.cjs.map → hooks-B-UPFgGj.cjs.map} +1 -1
  17. package/dist/{hooks-gsQDDE56.mjs → hooks-Cpu0rEMv.mjs} +2 -5
  18. package/dist/{hooks-gsQDDE56.mjs.map → hooks-Cpu0rEMv.mjs.map} +1 -1
  19. package/dist/{index-DSdbSQ_t.d.cts → index-BXRsEYL9.d.cts} +248 -242
  20. package/dist/index-BXRsEYL9.d.cts.map +1 -0
  21. package/dist/{index-Dj9odADH.d.mts → index-Cxrz-hoe.d.mts} +248 -242
  22. package/dist/index-Cxrz-hoe.d.mts.map +1 -0
  23. package/dist/{index-B7B1tRPl.d.cts → index-DSGDEjP7.d.cts} +2 -2
  24. package/dist/{index-3GY7T8JM.d.mts.map → index-DSGDEjP7.d.cts.map} +1 -1
  25. package/dist/{index-3GY7T8JM.d.mts → index-h56yzXZy.d.mts} +2 -2
  26. package/dist/{index-B7B1tRPl.d.cts.map → index-h56yzXZy.d.mts.map} +1 -1
  27. package/dist/index.cjs +434 -173
  28. package/dist/index.cjs.map +1 -1
  29. package/dist/index.d.cts +2 -2
  30. package/dist/index.d.mts +2 -2
  31. package/dist/index.mjs +435 -174
  32. package/dist/index.mjs.map +1 -1
  33. package/package.json +2 -2
  34. package/dist/ecs-3kimUV5Z.mjs.map +0 -1
  35. package/dist/ecs-B4QrqfvQ.cjs.map +0 -1
  36. package/dist/index-DSdbSQ_t.d.cts.map +0 -1
  37. package/dist/index-Dj9odADH.d.mts.map +0 -1
@@ -295,245 +295,6 @@ type LayerData = {
295
295
  };
296
296
  declare const Layer: _$_jamesyong42_reactive_ecs0.ComponentType<LayerData>;
297
297
  //#endregion
298
- //#region src/ecs/math.d.ts
299
- interface Vec2 {
300
- x: number;
301
- y: number;
302
- }
303
- interface Rect {
304
- x: number;
305
- y: number;
306
- width: number;
307
- height: number;
308
- }
309
- interface AABB {
310
- minX: number;
311
- minY: number;
312
- maxX: number;
313
- maxY: number;
314
- }
315
- /** Convert a Rect to AABB */
316
- declare function rectToAABB(r: Rect): AABB;
317
- /** Convert AABB to Rect */
318
- declare function aabbToRect(a: AABB): Rect;
319
- /** Test if two AABBs overlap */
320
- declare function intersectsAABB(a: AABB, b: AABB): boolean;
321
- /** Test if a point is inside an AABB */
322
- declare function pointInAABB(px: number, py: number, a: AABB): boolean;
323
- /** Convert screen coordinates to world coordinates */
324
- declare function screenToWorld(screenX: number, screenY: number, camera: {
325
- x: number;
326
- y: number;
327
- zoom: number;
328
- }): Vec2;
329
- /** Convert world coordinates to screen coordinates */
330
- declare function worldToScreen(worldX: number, worldY: number, camera: {
331
- x: number;
332
- y: number;
333
- zoom: number;
334
- }): Vec2;
335
- /** Clamp a value between min and max */
336
- declare function clamp(value: number, min: number, max: number): number;
337
- //#endregion
338
- //#region src/ecs/spatial/SpatialIndex.d.ts
339
- interface SpatialEntry extends AABB {
340
- entityId: EntityId;
341
- }
342
- /**
343
- * Spatial index backed by an R-tree (rbush).
344
- * Stores world-space AABBs for fast viewport culling and hit testing.
345
- */
346
- declare class SpatialIndex {
347
- private tree;
348
- private entries;
349
- upsert(entityId: EntityId, bounds: AABB): void;
350
- remove(entityId: EntityId): void;
351
- /** Query all entries intersecting the given AABB */
352
- search(bounds: AABB): SpatialEntry[];
353
- /** Find the topmost entity at a point (by z-order — caller sorts) */
354
- searchPoint(x: number, y: number, tolerance?: number): SpatialEntry[];
355
- clear(): void;
356
- get size(): number;
357
- }
358
- //#endregion
359
- //#region src/ecs/resources.d.ts
360
- /**
361
- * A single frame in the navigation stack. `containerId === null` is the
362
- * root canvas; any other value is the entity id of the container whose
363
- * sub-canvas the user is currently inside. Camera state lives on a
364
- * `ContainerCamera` component per container (or `RootCameraResource`
365
- * for the root frame), not in the stack itself — see RFC-004 § Phase 0c.
366
- */
367
- interface NavigationFrame {
368
- containerId: EntityId | null;
369
- }
370
- /** Data shape for the CursorResource. */
371
- type CursorResourceData = {
372
- cursor: CSSCursor;
373
- };
374
- /**
375
- * Output sink for the cursor system. Written by cursorSystem each tick;
376
- * read by the RAF loop to apply style.cursor on the root container div.
377
- */
378
- declare const CursorResource: _$_jamesyong42_reactive_ecs0.ResourceType<CursorResourceData>;
379
- /**
380
- * Camera state: world-space position (x, y) and zoom level.
381
- *
382
- * `gesturing` is true while the user is actively manipulating the camera
383
- * (continuous wheel zoom, pinch, two-finger pan). Set/cleared by gesture
384
- * handlers via {@link LayoutEngine.setGesturing}; render layers can use it
385
- * to defer expensive work (e.g. the R3F compositor skips zoom-band
386
- * repaints while gesturing so a continuous pinch doesn't trigger a
387
- * repaint storm across every visible widget).
388
- */
389
- declare const CameraResource: _$_jamesyong42_reactive_ecs0.ResourceType<{
390
- x: number;
391
- y: number;
392
- zoom: number;
393
- gesturing: boolean;
394
- }>;
395
- /** Viewport dimensions in CSS pixels and device pixel ratio. Updated on resize. */
396
- declare const ViewportResource: _$_jamesyong42_reactive_ecs0.ResourceType<{
397
- width: number;
398
- height: number;
399
- dpr: number;
400
- }>;
401
- /** Minimum and maximum zoom levels. */
402
- declare const ZoomConfigResource: _$_jamesyong42_reactive_ecs0.ResourceType<{
403
- min: number;
404
- max: number;
405
- }>;
406
- /** Screen-space pixel thresholds for responsive breakpoints (micro/compact/normal/expanded/detailed). */
407
- declare const BreakpointConfigResource: _$_jamesyong42_reactive_ecs0.ResourceType<{
408
- micro: number;
409
- compact: number;
410
- normal: number;
411
- expanded: number;
412
- }>;
413
- /**
414
- * Navigation stack for hierarchical container traversal. Always has at
415
- * least one frame (the root). The last element is the current frame;
416
- * `containerId === null` means the user is at the root canvas.
417
- *
418
- * Runtime-only view state — deliberately not serialized, so reloading a
419
- * saved canvas always drops the user at the root frame (RFC-004 § Phase 0c).
420
- */
421
- declare const NavigationStackResource: _$_jamesyong42_reactive_ecs0.ResourceType<{
422
- frames: NavigationFrame[];
423
- changed: boolean;
424
- }>;
425
- /** Shape shared by `ContainerCamera` components and `RootCameraResource`. */
426
- type FrameCameraState = {
427
- x: number;
428
- y: number;
429
- zoom: number;
430
- };
431
- /**
432
- * Camera state for the root canvas. Persisted (serialized) so the root
433
- * view returns to its previous pan/zoom across navigation push/pop and
434
- * across save/load. Container frames use the `ContainerCamera` component
435
- * on the container entity instead (RFC-004 § Phase 0c).
436
- */
437
- declare const RootCameraResource: _$_jamesyong42_reactive_ecs0.ResourceType<FrameCameraState>;
438
- /** Responsive breakpoint name derived from a widget's screen-space size. */
439
- type Breakpoint = 'micro' | 'compact' | 'normal' | 'expanded' | 'detailed';
440
- /**
441
- * iOS-style card preset size map. Lookup happens by `Card.preset`; the
442
- * `cardSystem` stamps `Transform2D.width/height` from the resolved size.
443
- *
444
- * Override at `createLayoutEngine({ cardPresets })` for tablet-scale or
445
- * custom design systems.
446
- */
447
- declare const CardPresetsResource: _$_jamesyong42_reactive_ecs0.ResourceType<{
448
- presets: {
449
- small: {
450
- width: number;
451
- height: number;
452
- };
453
- medium: {
454
- width: number;
455
- height: number;
456
- };
457
- large: {
458
- width: number;
459
- height: number;
460
- };
461
- xl: {
462
- width: number;
463
- height: number;
464
- };
465
- }; /** Gap between adjacent tiles (future tile-snap system reads this). */
466
- gap: number;
467
- }>;
468
- /** ECS resource holding the SpatialIndex instance for viewport culling and hit testing. */
469
- declare const SpatialIndexResource: _$_jamesyong42_reactive_ecs0.ResourceType<{
470
- instance: SpatialIndex | null;
471
- }>;
472
- /**
473
- * Render-layer order, low → high. `<InfiniteCanvas>` mounts a DOM
474
- * container for each entry; widgets render into the container that
475
- * matches their `Layer.name`. Per-widget `ZIndex` controls intra-layer
476
- * ordering. RFC-003.
477
- *
478
- * Default: `['background', 'base', 'overlay']`. Out-of-the-box the
479
- * three names map to fixed DOM positions in `<InfiniteCanvas>`'s
480
- * stacking sandwich: background and base sit beneath the R3F canvas
481
- * (zIndex < 1), overlay sits above it (zIndex 2). Custom layer names
482
- * are not yet rendered by the default `<InfiniteCanvas>`.
483
- */
484
- type LayerOrderData = {
485
- layers: LayerName[];
486
- };
487
- declare const LayerOrderResource: _$_jamesyong42_reactive_ecs0.ResourceType<LayerOrderData>;
488
- //#endregion
489
- //#region src/ecs/spatial/snap.d.ts
490
- /**
491
- * Snap guide computation for alignment during drag operations.
492
- * Implements Figma-style snapping:
493
- * 1. Edge/center alignment guides
494
- * 2. Equal spacing snap + indicators
495
- */
496
- interface SnapGuide {
497
- /** Axis this guide aligns on */
498
- axis: 'x' | 'y';
499
- /** World-space coordinate of the alignment line */
500
- position: number;
501
- /** What kind of alignment */
502
- type: 'edge' | 'center';
503
- }
504
- interface EqualSpacingIndicator {
505
- /** Axis along which the equal gaps run */
506
- axis: 'x' | 'y';
507
- /** The equal gap value (world units) */
508
- gap: number;
509
- /** Pairs of (from, to) marking each equal gap segment */
510
- segments: {
511
- from: number;
512
- to: number;
513
- }[];
514
- /** Position on the perpendicular axis (for rendering) */
515
- perpPosition: number;
516
- }
517
- interface SnapResult {
518
- /** Snap-corrected delta (world units). Apply to entity position. */
519
- snapDx: number;
520
- snapDy: number;
521
- /** Active alignment guide lines to render */
522
- guides: SnapGuide[];
523
- /** Equal spacing indicators */
524
- spacings: EqualSpacingIndicator[];
525
- }
526
- interface EntityBounds {
527
- x: number;
528
- y: number;
529
- width: number;
530
- height: number;
531
- }
532
- /**
533
- * Compute snap guides for a dragged entity against reference entities.
534
- */
535
- declare function computeSnapGuides(dragged: EntityBounds, references: EntityBounds[], threshold: number): SnapResult;
536
- //#endregion
537
298
  //#region src/profiler/Profiler.d.ts
538
299
  /**
539
300
  * Multi-layer performance profiler.
@@ -1186,6 +947,115 @@ declare class SetComponentCommand<T> implements Command {
1186
947
  undo(world: World): void;
1187
948
  }
1188
949
  //#endregion
950
+ //#region src/ecs/math.d.ts
951
+ interface Vec2 {
952
+ x: number;
953
+ y: number;
954
+ }
955
+ interface Rect {
956
+ x: number;
957
+ y: number;
958
+ width: number;
959
+ height: number;
960
+ }
961
+ interface AABB {
962
+ minX: number;
963
+ minY: number;
964
+ maxX: number;
965
+ maxY: number;
966
+ }
967
+ /** Convert a Rect to AABB */
968
+ declare function rectToAABB(r: Rect): AABB;
969
+ /** Convert AABB to Rect */
970
+ declare function aabbToRect(a: AABB): Rect;
971
+ /** Test if two AABBs overlap */
972
+ declare function intersectsAABB(a: AABB, b: AABB): boolean;
973
+ /** Test if a point is inside an AABB */
974
+ declare function pointInAABB(px: number, py: number, a: AABB): boolean;
975
+ /** Convert screen coordinates to world coordinates */
976
+ declare function screenToWorld(screenX: number, screenY: number, camera: {
977
+ x: number;
978
+ y: number;
979
+ zoom: number;
980
+ }): Vec2;
981
+ /** Convert world coordinates to screen coordinates */
982
+ declare function worldToScreen(worldX: number, worldY: number, camera: {
983
+ x: number;
984
+ y: number;
985
+ zoom: number;
986
+ }): Vec2;
987
+ /** Clamp a value between min and max */
988
+ declare function clamp(value: number, min: number, max: number): number;
989
+ //#endregion
990
+ //#region src/ecs/spatial/SpatialIndex.d.ts
991
+ interface SpatialEntry extends AABB {
992
+ entityId: EntityId;
993
+ }
994
+ /**
995
+ * Spatial index backed by an R-tree (rbush).
996
+ * Stores world-space AABBs for fast viewport culling and hit testing.
997
+ */
998
+ declare class SpatialIndex {
999
+ private tree;
1000
+ private entries;
1001
+ upsert(entityId: EntityId, bounds: AABB): void;
1002
+ remove(entityId: EntityId): void;
1003
+ /** Query all entries intersecting the given AABB */
1004
+ search(bounds: AABB): SpatialEntry[];
1005
+ /** Find the topmost entity at a point (by z-order — caller sorts) */
1006
+ searchPoint(x: number, y: number, tolerance?: number): SpatialEntry[];
1007
+ clear(): void;
1008
+ get size(): number;
1009
+ }
1010
+ //#endregion
1011
+ //#region src/ecs/spatial/snap.d.ts
1012
+ /**
1013
+ * Snap guide computation for alignment during drag operations.
1014
+ * Implements Figma-style snapping:
1015
+ * 1. Edge/center alignment guides
1016
+ * 2. Equal spacing snap + indicators
1017
+ */
1018
+ interface SnapGuide {
1019
+ /** Axis this guide aligns on */
1020
+ axis: 'x' | 'y';
1021
+ /** World-space coordinate of the alignment line */
1022
+ position: number;
1023
+ /** What kind of alignment */
1024
+ type: 'edge' | 'center';
1025
+ }
1026
+ interface EqualSpacingIndicator {
1027
+ /** Axis along which the equal gaps run */
1028
+ axis: 'x' | 'y';
1029
+ /** The equal gap value (world units) */
1030
+ gap: number;
1031
+ /** Pairs of (from, to) marking each equal gap segment */
1032
+ segments: {
1033
+ from: number;
1034
+ to: number;
1035
+ }[];
1036
+ /** Position on the perpendicular axis (for rendering) */
1037
+ perpPosition: number;
1038
+ }
1039
+ interface SnapResult {
1040
+ /** Snap-corrected delta (world units). Apply to entity position. */
1041
+ snapDx: number;
1042
+ snapDy: number;
1043
+ /** Active alignment guide lines to render */
1044
+ guides: SnapGuide[];
1045
+ /** Equal spacing indicators */
1046
+ spacings: EqualSpacingIndicator[];
1047
+ }
1048
+ interface EntityBounds {
1049
+ x: number;
1050
+ y: number;
1051
+ width: number;
1052
+ height: number;
1053
+ }
1054
+ /**
1055
+ * Compute snap guides for a dragged entity against reference entities.
1056
+ */
1057
+ declare function computeSnapGuides(dragged: EntityBounds, references: EntityBounds[], threshold: number): SnapResult;
1058
+ //#endregion
1189
1059
  //#region src/ecs/engine/types.d.ts
1190
1060
  /** Directive returned by pointer handlers indicating how the canvas should handle capture. */
1191
1061
  type PointerDirective = {
@@ -1423,7 +1293,13 @@ interface LayoutEngine<W extends WidgetBinding = Widget> {
1423
1293
  redo(): boolean;
1424
1294
  canUndo(): boolean;
1425
1295
  canRedo(): boolean;
1426
- markDirty(): void;
1296
+ /**
1297
+ * Signal that *non-ECS* state changed (CSS vars, WebGL/shader
1298
+ * uniforms, etc.) and the present pipeline should re-run on the next
1299
+ * rAF. ECS mutations do not need this — the engine's mutation proxy
1300
+ * auto-dirties (RFC-010 Phase 5). Formerly `markDirty()`.
1301
+ */
1302
+ invalidatePresent(): void;
1427
1303
  tick(): void;
1428
1304
  flushIfDirty(): boolean;
1429
1305
  getVisibleEntities(): VisibleEntity[];
@@ -1440,6 +1316,136 @@ interface LayoutEngine<W extends WidgetBinding = Widget> {
1440
1316
  destroy(): void;
1441
1317
  }
1442
1318
  //#endregion
1319
+ //#region src/ecs/resources.d.ts
1320
+ /**
1321
+ * A single frame in the navigation stack. `containerId === null` is the
1322
+ * root canvas; any other value is the entity id of the container whose
1323
+ * sub-canvas the user is currently inside. Camera state lives on a
1324
+ * `ContainerCamera` component per container (or `RootCameraResource`
1325
+ * for the root frame), not in the stack itself — see RFC-004 § Phase 0c.
1326
+ */
1327
+ interface NavigationFrame {
1328
+ containerId: EntityId | null;
1329
+ }
1330
+ /** Data shape for the CursorResource. */
1331
+ type CursorResourceData = {
1332
+ cursor: CSSCursor;
1333
+ };
1334
+ /**
1335
+ * Output sink for the cursor system. Written by cursorSystem each tick;
1336
+ * read by the RAF loop to apply style.cursor on the root container div.
1337
+ */
1338
+ declare const CursorResource: _$_jamesyong42_reactive_ecs0.ResourceType<CursorResourceData>;
1339
+ /**
1340
+ * Camera state: world-space position (x, y) and zoom level.
1341
+ *
1342
+ * `gesturing` is true while the user is actively manipulating the camera
1343
+ * (continuous wheel zoom, pinch, two-finger pan). Set/cleared by gesture
1344
+ * handlers via {@link LayoutEngine.setGesturing}; render layers can use it
1345
+ * to defer expensive work (e.g. the R3F compositor skips zoom-band
1346
+ * repaints while gesturing so a continuous pinch doesn't trigger a
1347
+ * repaint storm across every visible widget).
1348
+ */
1349
+ declare const CameraResource: _$_jamesyong42_reactive_ecs0.ResourceType<{
1350
+ x: number;
1351
+ y: number;
1352
+ zoom: number;
1353
+ gesturing: boolean;
1354
+ }>;
1355
+ /** Viewport dimensions in CSS pixels and device pixel ratio. Updated on resize. */
1356
+ declare const ViewportResource: _$_jamesyong42_reactive_ecs0.ResourceType<{
1357
+ width: number;
1358
+ height: number;
1359
+ dpr: number;
1360
+ }>;
1361
+ /** Minimum and maximum zoom levels. */
1362
+ declare const ZoomConfigResource: _$_jamesyong42_reactive_ecs0.ResourceType<{
1363
+ min: number;
1364
+ max: number;
1365
+ }>;
1366
+ /** Screen-space pixel thresholds for responsive breakpoints (micro/compact/normal/expanded/detailed). */
1367
+ declare const BreakpointConfigResource: _$_jamesyong42_reactive_ecs0.ResourceType<{
1368
+ micro: number;
1369
+ compact: number;
1370
+ normal: number;
1371
+ expanded: number;
1372
+ }>;
1373
+ /**
1374
+ * Navigation stack for hierarchical container traversal. Always has at
1375
+ * least one frame (the root). The last element is the current frame;
1376
+ * `containerId === null` means the user is at the root canvas.
1377
+ *
1378
+ * Runtime-only view state — deliberately not serialized, so reloading a
1379
+ * saved canvas always drops the user at the root frame (RFC-004 § Phase 0c).
1380
+ */
1381
+ declare const NavigationStackResource: _$_jamesyong42_reactive_ecs0.ResourceType<{
1382
+ frames: NavigationFrame[];
1383
+ changed: boolean;
1384
+ }>;
1385
+ /** Shape shared by `ContainerCamera` components and `RootCameraResource`. */
1386
+ type FrameCameraState = {
1387
+ x: number;
1388
+ y: number;
1389
+ zoom: number;
1390
+ };
1391
+ /**
1392
+ * Camera state for the root canvas. Persisted (serialized) so the root
1393
+ * view returns to its previous pan/zoom across navigation push/pop and
1394
+ * across save/load. Container frames use the `ContainerCamera` component
1395
+ * on the container entity instead (RFC-004 § Phase 0c).
1396
+ */
1397
+ declare const RootCameraResource: _$_jamesyong42_reactive_ecs0.ResourceType<FrameCameraState>;
1398
+ /** Responsive breakpoint name derived from a widget's screen-space size. */
1399
+ type Breakpoint = 'micro' | 'compact' | 'normal' | 'expanded' | 'detailed';
1400
+ /**
1401
+ * iOS-style card preset size map. Lookup happens by `Card.preset`; the
1402
+ * `cardSystem` stamps `Transform2D.width/height` from the resolved size.
1403
+ *
1404
+ * Override at `createLayoutEngine({ cardPresets })` for tablet-scale or
1405
+ * custom design systems.
1406
+ */
1407
+ declare const CardPresetsResource: _$_jamesyong42_reactive_ecs0.ResourceType<{
1408
+ presets: {
1409
+ small: {
1410
+ width: number;
1411
+ height: number;
1412
+ };
1413
+ medium: {
1414
+ width: number;
1415
+ height: number;
1416
+ };
1417
+ large: {
1418
+ width: number;
1419
+ height: number;
1420
+ };
1421
+ xl: {
1422
+ width: number;
1423
+ height: number;
1424
+ };
1425
+ }; /** Gap between adjacent tiles (future tile-snap system reads this). */
1426
+ gap: number;
1427
+ }>;
1428
+ /** ECS resource holding the SpatialIndex instance for viewport culling and hit testing. */
1429
+ declare const SpatialIndexResource: _$_jamesyong42_reactive_ecs0.ResourceType<{
1430
+ instance: SpatialIndex | null;
1431
+ }>;
1432
+ /**
1433
+ * Render-layer order, low → high. `<InfiniteCanvas>` mounts a DOM
1434
+ * container for each entry; widgets render into the container that
1435
+ * matches their `Layer.name`. Per-widget `ZIndex` controls intra-layer
1436
+ * ordering. RFC-003.
1437
+ *
1438
+ * Default: `['background', 'base', 'overlay']`. Out-of-the-box the
1439
+ * three names map to fixed DOM positions in `<InfiniteCanvas>`'s
1440
+ * stacking sandwich: background and base sit beneath the R3F canvas
1441
+ * (zIndex < 1), overlay sits above it (zIndex 2). Custom layer names
1442
+ * are not yet rendered by the default `<InfiniteCanvas>`.
1443
+ */
1444
+ type LayerOrderData = {
1445
+ layers: LayerName[];
1446
+ };
1447
+ declare const LayerOrderResource: _$_jamesyong42_reactive_ecs0.ResourceType<LayerOrderData>;
1448
+ //#endregion
1443
1449
  //#region src/ecs/engine/LayoutEngine.d.ts
1444
1450
  /**
1445
1451
  * Creates a new LayoutEngine instance with the given configuration.
@@ -1447,5 +1453,5 @@ interface LayoutEngine<W extends WidgetBinding = Widget> {
1447
1453
  */
1448
1454
  declare function createLayoutEngine<W extends WidgetBinding = WidgetBinding>(config?: LayoutEngineConfig<W>): LayoutEngine<W>;
1449
1455
  //#endregion
1450
- export { FrameCameraState as $, Visible as $t, createWidgetRegistry as A, CursorHintData as At, WebGLPass as B, OverlapCandidate as Bt, R3FWidget as C, CardPreset as Ct, WidgetInteractionHandlers as D, ContainerChildren as Dt, isR3FWidget as E, ContainerCamera as Et, ProfilerStats as F, InteractionRoleType as Ft, SnapResult as G, Selectable as Gt, EntityBounds as H, ParentFrame as Ht, R3FPhaseHistogram as I, Layer as It, BreakpointConfigResource as J, SnapSource as Jt, computeSnapGuides as K, Selected as Kt, R3FSample as L, LayerData as Lt, EcsStats as M, Dragging as Mt, FrameTimeStats as N, InteractionRole as Nt, WidgetRegistry as O, Culled as Ot, Profiler as P, InteractionRoleData as Pt, CursorResourceData as Q, TweenEasing as Qt, R3FStats as R, LayerName as Rt, DomWidgetProps as S, CardOverlapHotPoint as St, Widget as T, Container as Tt, EqualSpacingIndicator as U, Resizable as Ut, WebGLStats as V, OverlapTarget as Vt, SnapGuide as W, ResizeHandlePos as Wt, CardPresetsResource as X, Transform2D as Xt, CameraResource as Y, SnapTarget as Yt, CursorResource as Z, TransformTween as Zt, Archetype as _, screenToWorld as _t, Modifiers as a, SpatialIndexResource as at, createArchetypeRegistry as b, CSSCursor as bt, Command as c, SpatialIndex as ct, EntitySnapshot as d, Vec2 as dt, Widget$1 as en, LayerOrderData as et, MoveCommand as f, aabbToRect as ft, snapshotEntity as g, rectToAABB as gt, rehydrateEntity as h, pointInAABB as ht, LayoutEngineConfig as i, RootCameraResource as it, StandardSchemaV1 as j, Draggable as jt, WidgetSurface as k, CursorHint as kt, CommandBuffer as l, AABB as lt, SetComponentCommand as m, intersectsAABB as mt, FrameChanges as n, WidgetData as nn, NavigationFrame as nt, PointerDirective as o, ViewportResource as ot, ResizeCommand as p, clamp as pt, Breakpoint as q, SelectionFrame as qt, LayoutEngine as r, ZIndex as rn, NavigationStackResource as rt, VisibleEntity as s, ZoomConfigResource as st, createLayoutEngine as t, WidgetBreakpoint as tn, LayerOrderResource as tt, ConsumeCommand as u, Rect as ut, ArchetypeRegistry as v, worldToScreen as vt, R3FWidgetProps as w, Children as wt, DomWidget as x, Card as xt, SpawnOptions as y, Active as yt, TickSample as z, Locked as zt };
1451
- //# sourceMappingURL=index-DSdbSQ_t.d.cts.map
1456
+ export { DomWidgetProps as $, Visible as $t, Rect as A, CursorHintData as At, CommandBuffer as B, OverlapCandidate as Bt, EntityBounds as C, CardPreset as Ct, computeSnapGuides as D, ContainerChildren as Dt, SnapResult as E, ContainerCamera as Et, pointInAABB as F, InteractionRoleType as Ft, SetComponentCommand as G, Selectable as Gt, EntitySnapshot as H, ParentFrame as Ht, rectToAABB as I, Layer as It, Archetype as J, SnapSource as Jt, rehydrateEntity as K, Selected as Kt, screenToWorld as L, LayerData as Lt, aabbToRect as M, Dragging as Mt, clamp as N, InteractionRole as Nt, SpatialIndex as O, Culled as Ot, intersectsAABB as P, InteractionRoleData as Pt, DomWidget as Q, TweenEasing as Qt, worldToScreen as R, LayerName as Rt, VisibleEntity as S, CardOverlapHotPoint as St, SnapGuide as T, Container as Tt, MoveCommand as U, Resizable as Ut, ConsumeCommand as V, OverlapTarget as Vt, ResizeCommand as W, ResizeHandlePos as Wt, SpawnOptions as X, Transform2D as Xt, ArchetypeRegistry as Y, SnapTarget as Yt, createArchetypeRegistry as Z, TransformTween as Zt, FrameChanges as _, WebGLPass as _t, CardPresetsResource as a, WidgetRegistry as at, Modifiers as b, CSSCursor as bt, FrameCameraState as c, StandardSchemaV1 as ct, NavigationFrame as d, Profiler as dt, Widget$1 as en, R3FWidget as et, NavigationStackResource as f, ProfilerStats as ft, ZoomConfigResource as g, TickSample as gt, ViewportResource as h, R3FStats as ht, CameraResource as i, WidgetInteractionHandlers as it, Vec2 as j, Draggable as jt, AABB as k, CursorHint as kt, LayerOrderData as l, EcsStats as lt, SpatialIndexResource as m, R3FSample as mt, Breakpoint as n, WidgetData as nn, Widget as nt, CursorResource as o, WidgetSurface as ot, RootCameraResource as p, R3FPhaseHistogram as pt, snapshotEntity as q, SelectionFrame as qt, BreakpointConfigResource as r, ZIndex as rn, isR3FWidget as rt, CursorResourceData as s, createWidgetRegistry as st, createLayoutEngine as t, WidgetBreakpoint as tn, R3FWidgetProps as tt, LayerOrderResource as u, FrameTimeStats as ut, LayoutEngine as v, WebGLStats as vt, EqualSpacingIndicator as w, Children as wt, PointerDirective as x, Card as xt, LayoutEngineConfig as y, Active as yt, Command as z, Locked as zt };
1457
+ //# sourceMappingURL=index-BXRsEYL9.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-BXRsEYL9.d.cts","names":[],"sources":["../src/ecs/components.ts","../src/profiler/Profiler.ts","../src/ecs/schema.ts","../src/ecs/engine/widget-binding.ts","../src/react/widgets/registry.ts","../src/ecs/archetype.ts","../src/ecs/commands.ts","../src/ecs/math.ts","../src/ecs/spatial/SpatialIndex.ts","../src/ecs/spatial/snap.ts","../src/ecs/engine/types.ts","../src/ecs/resources.ts","../src/ecs/engine/LayoutEngine.ts"],"mappings":";;;;;cAMa,WAAA,EAMX,4BAAA,CANsB,aAAA;;;;;;;;cASX,MAAA,EAAgD,4BAAA,CAA1C,aAAA;EAAA,KAAA;AAAA;;KAGP,WAAA;;AAHZ;;;;;AAGA;;;;cAYa,cAAA,EASqB,4BAAA,CATP,aAAA;;;;eAAA;;;UASJ,WAAA;;;;;;;;AAqBvB;;;;;;;;;AAGA;AAHA,cAAa,WAAA,EAAgE,4BAAA,CAArD,aAAA;MAA6C,QAAA;AAAA;;cAGxD,QAAA,EAA4D,4BAAA,CAApD,aAAA;OAA4C,QAAA;AAAA;;AAUjE;;;;;;;cAAa,iBAAA,EACO,4BAAA,CADU,aAAA;OAClB,QAAA;AAAA;;cAMC,QAAA,EAGX,4BAAA,CAHiB,aAAA;;;;;cAMN,UAAA,EACM,4BAAA,CADI,aAAA;QACV,MAAA;AAAA;;cAIA,gBAAA,EAIX,4BAAA,CAJ2B,aAAA;;;;;;KASjB,UAAA;AATZ;;;;;;;;;;AASA;;;;;AAwBA;;;;;;;AAjCA,cAiCa,IAAA,EACiB,4BAAA,CADb,aAAA;UACG,UAAA;;;;AA2BpB;;;EAA6D;;AAS7D;;;;;EASa;;;;;;;;;;AASb;;cA3Ba,gBAAA,EAAgD,4BAAA,CAAhC,OAAA;;;AAmC7B;;;;;cA1Ba,aAAA,EAA0C,4BAAA,CAA7B,OAAA;;;;;AAmC1B;;;cA1Ba,mBAAA,EAIX,4BAAA,CAJ8B,aAAA;;;;;;cASnB,SAAA,EAA6D,4BAAA,CAApD,aAAA;EAAA,SAAA;AAAA;;;;;;;cAQT,eAAA,EAIX,4BAAA,CAJ0B,aAAA;;;;;;KAShB,eAAA;;KAGA,mBAAA;EACP,IAAA;AAAA;EACA,IAAA;AAAA;EACA,IAAA;EAAgB,MAAA,EAAQ,eAAA;AAAA;EACxB,IAAA;AAAA;EACA,IAAA;AAAA;EACA,IAAA;AAAA;AAAA,KAEO,mBAAA;EAuCM,gFArCjB,KAAA,UAmCO;EAjCP,IAAA,EAAM,mBAAA;AAAA;;;AAuCP;;;;;AAQA;cApCa,eAAA,EAAe,4BAAA,CAAA,aAAA,CAAA,mBAAA;;KAMhB,SAAA;AAAA,KAcA,cAAA;EAkBC,wDAhBZ,KAAA,EAAO,SAAA;EAEP,MAAA,EAAQ,SAAA;AAAA;AAgBT;AAAA,cAZa,UAAA,EAAU,4BAAA,CAAA,aAAA,CAAA,cAAA;;cAQV,UAAA,EAAoC,4BAAA,CAA1B,OAAA;;cAEV,SAAA,EAAkC,4BAAA,CAAzB,OAAA;;cAET,SAAA,EAAkC,4BAAA,CAAzB,OAAA;;;AA0BtB;;;;;AAEA;;;;;AAEA;;cAfa,UAAA,EAAoC,4BAAA,CAA1B,OAAA;;;AAqBvB;;;;;AAOA;;;cAjBa,UAAA,EAAoC,4BAAA,CAA1B,OAAA;;cAEV,MAAA,EAA4B,4BAAA,CAAtB,OAAA;;cAEN,QAAA,EAAgC,4BAAA,CAAxB,OAAA;;;AAiBrB;;;cAXa,QAAA,EAAgC,4BAAA,CAAxB,OAAA;;AAsBrB;;;;;cAfa,cAAA,EAA4C,4BAAA,CAA9B,OAAA;;cAEd,MAAA,EAA4B,4BAAA,CAAtB,OAAA;;cAEN,OAAA,EAA8B,4BAAA,CAAvB,OAAA;AAiCpB;;;;;AAIA;;;;;AAJA,cAtBa,MAAA,EAA4B,4BAAA,CAAtB,OAAA;;;AC5SnB;;;;;;;;;;;;;;KDgUY,SAAA;AAAA,KAEA,SAAA;EACX,IAAA,EAAM,SAAA;AAAA;AAAA,cAGM,KAAA,EAAK,4BAAA,CAAA,aAAA,CAAA,SAAA;;;;;;;AApVlB;;;;;;;;;;;;AASA;UCKiB,UAAA;EAChB,IAAA;EACA,SAAA;;EAEA,OAAA;EACA,GAAA;IDPsB,iCCSrB,OAAA,EAAS,MAAA,kBDTY;ICWrB,YAAA,UDiBA;ICfA,WAAA;IACA,YAAA;EAAA;EAED,KAAA;4CAEC,MAAA;IAEA,WAAA;IAEA,SAAA,UDDqB;ICGrB,SAAA;IAEA,eAAA,UDgBW;ICdX,UAAA,UDcmE;ICZnE,iBAAA,UDYsB;ICVtB,mBAAA;EAAA;AAAA;;UAKe,iBAAA;EAChB,GAAA;EACA,IAAA;EACA,IAAA;EACA,MAAA;EACA,OAAA;AAAA;AAAA,UAGgB,SAAA;EAChB,SAAA;EDSY;ECPZ,IAAA;;EAEA,SAAA;EACA,SAAA;EACA,MAAA;EACA,KAAA;EACA,QAAA;EACA,UAAA;EACA,QAAA;EACA,aAAA;;;;;EAKA,gBAAA;;EAEA,QAAA;EDIY;ECFZ,MAAA,EAAQ,iBAAA;;EAER,UAAA;EDAsB;ECEtB,cAAA;AAAA;AAAA,UAKgB,cAAA;EAChB,GAAA;EACA,GAAA;EACA,GAAA;EACA,GAAA;EACA,GAAA;AAAA;AAAA,UAGgB,QAAA;EAChB,GAAA;EACA,SAAA,EAAW,cAAA;EACX,SAAA,EAAW,MAAA;EACX,SAAA,EAAW,MAAA;EDLA;ECOX,UAAA;EACA,WAAA;AAAA;AAAA,UAGgB,UAAA;EDaJ;ECXZ,GAAA;;EAEA,SAAA,EAAW,cAAA;EDSK;ECPhB,UAAA;EACA,OAAA;EACA,OAAA;EACA,YAAA;EACA,YAAA;EACA,YAAA;EACA,YAAA;EACA,kBAAA;EACA,aAAA;EACA,aAAA;EACA,WAAA;AAAA;AAAA,UAGgB,QAAA;EAChB,GAAA;EACA,SAAA,EAAW,cAAA;EACX,YAAA;EACA,YAAA;EDoCY;EClCZ,QAAA;EACA,UAAA;EACA,QAAA;EACA,aAAA;;EAEA,mBAAA;;EAEA,QAAA;;EAEA,MAAA,EAAQ,iBAAA;EDkCiE;EChCzE,aAAA;EDgCqB;EC9BrB,iBAAA;EACA,WAAA;AAAA;AAAA,UAGgB,aAAA;EAChB,GAAA,EAAK,QAAA;EACL,KAAA,EAAO,UAAA;EACP,GAAA,EAAK,QAAA;AAAA;;KASM,SAAA;AAAA,cAEC,QAAA;EAAA,QACJ,OAAA;EAAA,QAGA,QAAA;EAAA,QACA,SAAA;EAAA,QACA,UAAA;EAAA,QAGA,OAAA;EAAA,QACA,QAAA;EAAA,QACA,SAAA;EAAA,QAMA,UAAA;EAAA,QACA,cAAA;EAAA,QACA,YAAA;EAAA,QACA,WAAA;EDeJ;ECZJ,UAAA,CAAW,EAAA;EAKX,SAAA,CAAA;EDQI;ECDJ,UAAA,CAAW,IAAA;EDGP;ECOJ,WAAA,CAAY,IAAA;EAKZ,SAAA,CAAU,IAAA;EAiBV,eAAA,CAAA;EAKA,aAAA,CAAA;;EAgBA,UAAA,CAAW,IAAA,EAAM,SAAA;ED9CjB;;;;;AAaD;;;EC8CC,QAAA,CAAS,IAAA,EAAM,SAAA;ED9CY;AAM5B;;;;;AAcA;;;;ECyDC,gBAAA,CAAiB,KAAA;IAChB,SAAA;IACA,SAAA;IACA,eAAA;IACA,UAAA;IACA,iBAAA;IACA,mBAAA;EAAA;;UAcO,uBAAA;EDrEc;EC6EtB,QAAA,CAAS,WAAA,UAAqB,YAAA;EDrEkB;;;;EC6HhD,cAAA,CAAe,MAAA,EAAQ,IAAA,CAAK,SAAA;ED3HkB;EC0I9C,UAAA,CAAW,KAAA,YAAiB,UAAA;ED1IkB;EC+I9C,aAAA,CAAc,KAAA,YAAiB,SAAA;ED7InB;ECkJZ,QAAA,CAAA,GAAY,aAAA;EAAA,QAQJ,WAAA;EAAA,QA8CA,aAAA;EAAA,QAkDA,WAAA;ED3OI;ECsSZ,KAAA,CAAA;AAAA;;;;;;;ADrjBD;;;;;;UEMiB,gBAAA,2BAA2C,KAAA;EAAA,SAClD,WAAA,EAAa,gBAAA,CAAiB,KAAA,CAAM,KAAA,EAAO,MAAA;AAAA;AAAA,kBAIpC,gBAAA;EAAA,UACC,KAAA,2BAAgC,KAAA;IAAA,SACvC,OAAA;IAAA,SACA,MAAA;IAAA,SACA,QAAA,GAAW,KAAA,cAAmB,MAAA,CAAO,MAAA,IAAU,OAAA,CAAQ,MAAA,CAAO,MAAA;IAAA,SAC9D,KAAA,GAAQ,KAAA,CAAM,KAAA,EAAO,MAAA;EAAA;EAAA,KAGnB,MAAA,WAAiB,aAAA,CAAc,MAAA,IAAU,aAAA;EAAA,UAEpC,aAAA;IAAA,SACP,KAAA,EAAO,MAAA;IAAA,SACP,MAAA;EAAA;EAAA,UAGO,aAAA;IAAA,SACP,MAAA,EAAQ,aAAA,CAAc,KAAA;EAAA;EAAA,UAGf,KAAA;IAAA,SACP,OAAA;IAAA,SACA,IAAA,GAAO,aAAA,CAAc,WAAA,GAAc,WAAA;EAAA;EAAA,UAG5B,WAAA;IAAA,SACP,GAAA,EAAK,WAAA;EAAA;EAAA,UAGE,KAAA,2BAAgC,KAAA;IAAA,SACvC,KAAA,EAAO,KAAA;IAAA,SACP,MAAA,EAAQ,MAAA;EAAA;EAAA,KAGN,WAAA,gBAA2B,gBAAA,IAAoB,WAAA,CAC1D,MAAA;AAAA;;;;KC/CU,aAAA;AHEZ;;;;;;;;;;;;AASA;AATA,UGaiB,yBAAA;;;;AHDjB;;;EGQC,cAAA,EAAgB,GAAA;IAAO,MAAA,EAAQ,QAAA;IAAU,KAAA,EAAO,QAAA;IAAU,KAAA,EAAO,KAAA;EAAA;IAChE,OAAA;IACA,QAAA;EAAA;;;;;EAOD,iBAAA,EAAmB,GAAA;IAClB,KAAA,EAAO,QAAA;IACP,MAAA,EAAQ,QAAA;IACR,KAAA,EAAO,KAAA;EAAA;IACF,IAAA;EAAA;EHqByE;;;;;;EGb/E,SAAA,EAAW,GAAA;IAAO,MAAA,EAAQ,QAAA;IAAU,KAAA,EAAO,QAAA;IAAU,KAAA,EAAO,KAAA;EAAA;EHgBxC;;;;EGVpB,aAAA,EAAe,KAAA,EAAO,KAAA,EAAO,QAAA;EHU2C;AAUzE;;EGfC,cAAA,EAAgB,KAAA,EAAO,KAAA,EAAO,QAAA;AAAA;;;;;;AHsB/B;;;UGXiB,aAAA,KAAkB,MAAA;EHWhB;EGTlB,IAAA;;EAEA,OAAA,GAAU,aAAA;;AHaX;;;;EGNC,MAAA,EAAQ,gBAAA,MAAsB,CAAA;;EAE9B,WAAA,EAAa,CAAA;EHKK;EGHlB,WAAA;IAAe,KAAA;IAAe,MAAA;EAAA;EHOF;EGL5B,OAAA;IAAY,KAAA;IAAe,MAAA;EAAA;;;AHc5B;;;EGRC,WAAA,GAAc,yBAAA;AAAA;AHgCf;AAAA,UG5BiB,cAAA,WAAyB,aAAA,GAAgB,aAAA;EACzD,QAAA,CAAS,GAAA,EAAK,CAAA;EACd,GAAA,CAAI,IAAA,WAAe,CAAA;EACnB,MAAA,IAAU,CAAA;AAAA;AAAA,iBAGK,oBAAA,WAA+B,aAAA,GAAgB,aAAA,CAAA,CAC9D,IAAA,GAAM,CAAA,KACJ,cAAA,CAAe,CAAA;;;;;;;;;;;;;;AHzFlB;;;;;UIeiB,cAAA;EAChB,QAAA,EAAU,QAAA;AAAA;;;AJDX;;;;;;;;;;;;;;;UIqBiB,cAAA;EAChB,QAAA,EAAU,QAAA;EJQqE;EIN/E,KAAA;EJMuB;EIJvB,MAAA;AAAA;;UAMgB,SAAA,KAAc,MAAA,2BAAiC,aAAA,CAAc,CAAA;EAC7E,OAAA;EACA,SAAA,EAAW,KAAA,CAAM,aAAA,CAAc,cAAA;AAAA;;;;;;;;UAUf,SAAA,KAAc,MAAA,2BAAiC,aAAA,CAAc,CAAA;EAC7E,OAAA;EACA,SAAA,EAAW,KAAA,CAAM,aAAA,CAAc,cAAA;AAAA;;KAIpB,MAAA,KAAW,MAAA,qBAA2B,SAAA,CAAU,CAAA,IAAK,SAAA,CAAU,CAAA;;iBAG3D,WAAA,GAAA,CAAe,MAAA,EAAQ,MAAA,CAAO,CAAA,IAAK,MAAA,IAAU,SAAA,CAAU,CAAA;;;;;;AJ7EvE;;;;;;;UKMiB,SAAA;;EAEhB,EAAA;;;ALCD;;EKIC,MAAA;ELJkB;EKMlB,UAAA,GAAa,aAAA;ELHF;EKKX,IAAA,GAAO,OAAA;;;;ALOR;;;;;;;;;;;;;;;;AA8BA;;;;;EKZC,WAAA;IAGG,UAAA;IACA,SAAA;IACA,SAAA;IACA,cAAA,YLS0E;IKP1E,UAAA,YLOiB;IKLjB,UAAA;EAAA;ELK6D;EKFhE,WAAA;IAAgB,KAAA;IAAe,MAAA;EAAA;AAAA;;;;;UAOf,YAAA;ELMG;EKJnB,EAAA;IAAO,CAAA;IAAW,CAAA;EAAA;ELUA;EKRlB,IAAA;IAAS,KAAA;IAAe,MAAA;EAAA;ELcZ;EKZZ,QAAA;;EAEA,IAAA,GAAO,MAAA;ELUe;EKRtB,MAAA;ELSY;;EKNZ,MAAA,GAAS,QAAA;AAAA;;UAIO,iBAAA;EAChB,QAAA,CAAS,SAAA,EAAW,SAAA;EACpB,GAAA,CAAI,EAAA,WAAa,SAAA;EACjB,MAAA,IAAU,SAAA;AAAA;AAAA,iBAGK,uBAAA,CAAwB,UAAA,GAAY,SAAA,KAAmB,iBAAA;;;UCtFtD,OAAA;EAChB,OAAA,CAAQ,KAAA,EAAO,KAAA;EACf,IAAA,CAAK,KAAA,EAAO,KAAA;AAAA;AAAA,cAKA,aAAA;EAAA,QACJ,SAAA;EAAA,QACA,SAAA;EAAA,QACA,YAAA;;EAGR,UAAA,CAAA;;EAQA,OAAA,CAAQ,OAAA,EAAS,OAAA,EAAS,KAAA,EAAO,KAAA;;EAajC,QAAA,CAAA;;EASA,IAAA,CAAK,KAAA,EAAO,KAAA;ENjCgD;EMmD5D,IAAA,CAAK,KAAA,EAAO,KAAA;EAWZ,OAAA,CAAA;EAMA,OAAA,CAAA;EAIA,KAAA,CAAA;EAAA,IAMI,QAAA,CAAA;EAAA,IAGA,QAAA,CAAA;AAAA;AAAA,cAOQ,WAAA,YAAuB,OAAA;EAAA,QAM1B,SAAA;EAAA,QACA,EAAA;EAAA,QACA,EAAA;EAAA,QACA,aAAA;EAAA,QARD,eAAA;EAAA,QACA,cAAA;EAAA,QACA,QAAA;cAGC,SAAA,EAAW,QAAA,IACX,EAAA,UACA,EAAA,UACA,aAAA,EAAe,aAAA;IAAgB,CAAA;IAAW,CAAA;EAAA;EAGnD,OAAA,CAAQ,KAAA,EAAO,KAAA;EAkBf,IAAA,CAAK,KAAA,EAAO,KAAA;AAAA;AAAA,cAOA,aAAA,YAAyB,OAAA;EAAA,QAE5B,QAAA;EAAA,QACA,MAAA;EAAA,QACA,KAAA;EAAA,QACA,aAAA;cAHA,QAAA,EAAU,QAAA,EACV,MAAA;IAAU,CAAA;IAAW,CAAA;IAAW,KAAA;IAAe,MAAA;EAAA,GAC/C,KAAA;IAAS,CAAA;IAAW,CAAA;IAAW,KAAA;IAAe,MAAA;EAAA,GAC9C,aAAA,EAAe,aAAA;IAAgB,CAAA;IAAW,CAAA;IAAW,KAAA;IAAe,MAAA;EAAA;EAU7E,OAAA,CAAQ,KAAA,EAAO,KAAA;EAIf,IAAA,CAAK,KAAA,EAAO,KAAA;AAAA;;;;;UASI,cAAA;EAChB,QAAA,EAAU,QAAA;EACV,UAAA,EAAY,KAAA;IAAQ,IAAA,EAAM,aAAA;IAAwB,IAAA;EAAA;EAClD,IAAA,EAAM,OAAA;AAAA;;;ANrFP;;;;iBM8FgB,cAAA,CAAe,KAAA,EAAO,KAAA,EAAO,MAAA,EAAQ,QAAA,GAAW,cAAA;;;;;ANzFhE;iBM0GgB,eAAA,CAAgB,KAAA,EAAO,KAAA,EAAO,QAAA,EAAU,cAAA,GAAiB,QAAA;;;;;;;;;ANjGzE;;;;cMwHa,cAAA,YAA0B,OAAA;EAAA,SAWrB,QAAA,EAAU,QAAA;EAAA,SACV,OAAA,EAAS,QAAA;EAAA,SACT,aAAA,EAAe,cAAA;EAAA,SACf,QAAA;EAAA,iBACC,aAAA;EAAA,iBACA,cAAA;EN/GC;;;;;;AA2BpB;EA3BoB,QMuGX,cAAA;cAGS,QAAA,EAAU,QAAA,EACV,OAAA,EAAS,QAAA,EACT,aAAA,EAAe,cAAA,EACf,QAAA,WACC,aAAA,IAAiB,KAAA,EAAO,KAAA,EAAO,QAAA,iCAC/B,cAAA,IAAkB,KAAA,EAAO,KAAA,EAAO,QAAA;EAKlD,OAAA,CAAQ,KAAA,EAAO,KAAA;EAYf,IAAA,CAAK,KAAA,EAAO,KAAA;AAAA;AAAA,cAQA,mBAAA,eAAkC,OAAA;EAAA,QAErC,QAAA;EAAA,QACA,IAAA;EAAA,QACA,MAAA;EAAA,QACA,KAAA;cAHA,QAAA,EAAU,QAAA,EACV,IAAA,EAAM,aAAA,CAAc,CAAA,GACpB,MAAA,EAAQ,OAAA,CAAQ,CAAA,GAChB,KAAA,EAAO,OAAA,CAAQ,CAAA;EAGxB,OAAA,CAAQ,KAAA,EAAO,KAAA;EAIf,IAAA,CAAK,KAAA,EAAO,KAAA;AAAA;;;UCjRI,IAAA;EAChB,CAAA;EACA,CAAA;AAAA;AAAA,UAGgB,IAAA;EAChB,CAAA;EACA,CAAA;EACA,KAAA;EACA,MAAA;AAAA;AAAA,UAGgB,IAAA;EAChB,IAAA;EACA,IAAA;EACA,IAAA;EACA,IAAA;AAAA;APDD;AAAA,iBOKgB,UAAA,CAAW,CAAA,EAAG,IAAA,GAAO,IAAA;;iBAUrB,UAAA,CAAW,CAAA,EAAG,IAAA,GAAO,IAAA;;iBAUrB,cAAA,CAAe,CAAA,EAAG,IAAA,EAAM,CAAA,EAAG,IAAA;;iBAK3B,WAAA,CAAY,EAAA,UAAY,EAAA,UAAY,CAAA,EAAG,IAAA;;iBAKvC,aAAA,CACf,OAAA,UACA,OAAA,UACA,MAAA;EAAU,CAAA;EAAW,CAAA;EAAW,IAAA;AAAA,IAC9B,IAAA;;iBAQa,aAAA,CACf,MAAA,UACA,MAAA,UACA,MAAA;EAAU,CAAA;EAAW,CAAA;EAAW,IAAA;AAAA,IAC9B,IAAA;;iBAQa,KAAA,CAAM,KAAA,UAAe,GAAA,UAAa,GAAA;;;UC9DjC,YAAA,SAAqB,IAAA;EACrC,QAAA,EAAU,QAAA;AAAA;;;;;cAOE,YAAA;EAAA,QACJ,IAAA;EAAA,QACA,OAAA;EAER,MAAA,CAAO,QAAA,EAAU,QAAA,EAAU,MAAA,EAAQ,IAAA;EAWnC,MAAA,CAAO,QAAA,EAAU,QAAA;;EASjB,MAAA,CAAO,MAAA,EAAQ,IAAA,GAAO,YAAA;ER7BV;EQkCZ,WAAA,CAAY,CAAA,UAAW,CAAA,UAAW,SAAA,YAAgB,YAAA;EASlD,KAAA,CAAA;EAAA,IAKI,IAAA,CAAA;AAAA;;;;;;;ARzDL;;USCiB,SAAA;ETDO;ESGvB,IAAA;;EAEA,QAAA;;EAEA,IAAA;AAAA;AAAA,UAGgB,qBAAA;;EAEhB,IAAA;ETH4D;ESK5D,GAAA;ETLkB;ESOlB,QAAA;IAAY,IAAA;IAAc,EAAA;EAAA;ETJJ;ESMtB,YAAA;AAAA;AAAA,UAGgB,UAAA;;EAEhB,MAAA;EACA,MAAA;;EAEA,MAAA,EAAQ,SAAA;;EAER,QAAA,EAAU,qBAAA;AAAA;AAAA,UAGM,YAAA;EAChB,CAAA;EACA,CAAA;EACA,KAAA;EACA,MAAA;AAAA;ATmBD;;;AAAA,iBSbgB,iBAAA,CACf,OAAA,EAAS,YAAA,EACT,UAAA,EAAY,YAAA,IACZ,SAAA,WACE,UAAA;;;;KCtBS,gBAAA;EACP,MAAA;AAAA;EACA,MAAA;AAAA;EACA,MAAA;AAAA;EACA,MAAA;EAA0B,MAAA,EAAQ,eAAA;AAAA;EAClC,MAAA;AAAA;;UAGY,SAAA;EAChB,KAAA;EACA,IAAA;EACA,GAAA;EACA,IAAA;AAAA;;;;;;;;UAUgB,aAAA;EAChB,QAAA,EAAU,QAAA;EACV,CAAA;EACA,CAAA;EACA,KAAA;EACA,MAAA;EACA,UAAA,EAAY,UAAA;EACZ,MAAA;EACA,OAAA;EACA,UAAA;AAAA;;UAIgB,YAAA;EAChB,gBAAA,EAAkB,QAAA;EAClB,kBAAA,EAAoB,QAAA;EVHA;;;;;;AAUrB;;;EUGC,eAAA,EAAiB,QAAA;EACjB,OAAA,EAAS,QAAA;EACT,MAAA,EAAQ,QAAA;EACR,aAAA;EACA,iBAAA;EACA,gBAAA;EVDY;;;;;;EUQZ,aAAA;AAAA;;UAIgB,kBAAA,WAA6B,aAAA,GAAgB,MAAA;EVJ5D;EUMD,WAAA;EVRsB;EUUtB,IAAA;IAAS,GAAA;IAAa,GAAA;EAAA;EVTJ;EUWlB,WAAA;IAAgB,KAAA;IAAe,OAAA;IAAiB,MAAA;IAAgB,QAAA;EAAA;;EAEhE,IAAA;6DAEC,OAAA,YVFU;IUIV,SAAA;IVJoB;;;AAwBtB;;;IUbE,aAAA;EAAA;;EAGD,OAAA,GAAU,CAAA;;EAEV,UAAA,GAAa,SAAA;;;;AVoCd;EU/BC,WAAA;IACC,OAAA,GAAU,OAAA,CAAQ,MAAA,CAAO,UAAA;MAAc,KAAA;MAAe,MAAA;IAAA;IACtD,GAAA;EAAA;AAAA;;AV+CF;;;UUvCiB,YAAA,WAAuB,aAAA,GAAgB,MAAA;EVuCxB;EAAA,SUrCtB,KAAA,EAAO,KAAA;EAIhB,YAAA,CAAa,KAAA,GAAQ,aAAA,KAAkB,QAAA;EACvC,KAAA,CAAM,EAAA,UAAY,IAAA,GAAO,YAAA,GAAe,QAAA;EACxC,mBAAA,CAAoB,EAAA,UAAY,IAAA,GAAO,IAAA,CAAK,YAAA,UAAsB,QAAA;EAClE,aAAA,CAAc,EAAA,EAAI,QAAA;EAIlB,cAAA,CAAe,MAAA,EAAQ,CAAA;EACvB,SAAA,CAAU,IAAA,WAAe,CAAA;EACzB,UAAA,IAAc,CAAA;EACd,iBAAA,CAAkB,SAAA,EAAW,SAAA;EAC7B,YAAA,CAAa,EAAA,WAAa,SAAA;EAI1B,GAAA,IAAO,MAAA,EAAQ,QAAA,EAAU,IAAA,EAAM,aAAA,CAAc,CAAA,IAAK,CAAA;EAClD,GAAA,IAAO,MAAA,EAAQ,QAAA,EAAU,IAAA,EAAM,aAAA,CAAc,CAAA,GAAI,IAAA,EAAM,OAAA,CAAQ,CAAA;EAC/D,GAAA,CAAI,MAAA,EAAQ,QAAA,EAAU,IAAA,EAAM,aAAA,GAAgB,OAAA;EAC5C,YAAA,IAAgB,MAAA,EAAQ,QAAA,EAAU,IAAA,EAAM,aAAA,CAAc,CAAA,GAAI,IAAA,GAAO,CAAA;EACjE,eAAA,CAAgB,MAAA,EAAQ,QAAA,EAAU,IAAA,EAAM,aAAA;EACxC,MAAA,CAAO,MAAA,EAAQ,QAAA,EAAU,IAAA,EAAM,OAAA;EAC/B,SAAA,CAAU,MAAA,EAAQ,QAAA,EAAU,IAAA,EAAM,OAAA;EAClC,YAAA,CAAa,MAAA,EAAQ,QAAA,GAAW,gBAAA;EAIhC,cAAA,CAAe,MAAA,EAAQ,SAAA;EACvB,YAAA,CAAa,IAAA;EAIb,SAAA;IAAe,CAAA;IAAW,CAAA;IAAW,IAAA;IAAc,SAAA;EAAA;EACnD,KAAA,CAAM,EAAA,UAAY,EAAA;EAClB,KAAA,CAAM,MAAA,UAAgB,MAAA;EACtB,WAAA,CAAY,OAAA,UAAiB,OAAA,UAAiB,KAAA;EAC9C,MAAA,CAAO,IAAA;EACP,SAAA,CAAU,SAAA,GAAY,QAAA,IAAY,OAAA;EV6B9B;EU3BJ,YAAA,CAAa,MAAA;EAIb,WAAA,CAAY,KAAA,UAAe,MAAA,UAAgB,GAAA;EVwBvC;;;;;AAIL;;EUjBC,iBAAA,CACC,OAAA,UACA,OAAA,UACA,MAAA,UACA,SAAA,EAAW,SAAA,GACT,gBAAA;EVgBsB;EUdzB,iBAAA,CAAkB,OAAA,UAAiB,OAAA,UAAiB,SAAA,EAAW,SAAA,GAAY,gBAAA;EVc3E;EUZA,eAAA,IAAmB,gBAAA;EVYM;EUVzB,mBAAA;EVqBY;;;;;AAMb;EUpBC,MAAA,CAAO,OAAA,UAAiB,OAAA,WAAkB,QAAA;;;;AVkC3C;;;;;EUzBC,OAAA,CACC,OAAA,UACA,OAAA;IACI,QAAA,EAAU,QAAA;IAAU,IAAA,EAAM,mBAAA;EAAA;EAO/B,SAAA,CAAU,MAAA,EAAQ,QAAA,EAAU,MAAA,UAAgB,MAAA;EAC5C,UAAA,CAAW,MAAA,EAAQ,QAAA,EAAU,MAAA,UAAgB,MAAA;EAC7C,OAAA,CAAQ,MAAA,EAAQ,QAAA,EAAU,IAAA;IAAQ,SAAA;EAAA;EAClC,iBAAA,IAAqB,QAAA;EV4BT;;;;;AAEb;EUvBC,iBAAA;EAEA,WAAA,CAAY,MAAA,EAAQ,QAAA,EAAU,MAAA,EAAQ,eAAA,EAAiB,MAAA,UAAgB,MAAA;EACvE,YAAA,CAAa,MAAA,EAAQ,QAAA,EAAU,MAAA,UAAgB,MAAA;EAC/C,SAAA,CAAU,MAAA,EAAQ,QAAA,EAAU,IAAA;IAAQ,SAAA;EAAA;EACpC,UAAA;EACA,iBAAA,IAAqB,QAAA;EAErB,YAAA,CAAa,MAAA,UAAgB,MAAA;EAC7B,aAAA,CAAc,MAAA,UAAgB,MAAA;EAC9B,UAAA;EACA,eAAA;EAIA,mBAAA,IAAuB,QAAA;EVyByB;AAWjD;;;;;EU7BC,YAAA,CAAa,MAAA,EAAQ,QAAA,EAAU,QAAA;EAC/B,cAAA;EACA,gBAAA,IAAoB,QAAA;EACpB,gBAAA,CAAiB,MAAA,EAAQ,QAAA;EV4Be;AAEzC;;;;;AAMA;EU5BC,WAAA,CAAY,OAAA,UAAiB,OAAA;EAI7B,cAAA,CAAe,MAAA,EAAQ,QAAA;EACvB,aAAA;EACA,kBAAA,IAAsB,QAAA;EACtB,kBAAA;EAIA,OAAA,CAAQ,OAAA,EAAS,OAAA;EACjB,iBAAA;EACA,eAAA;EACA,IAAA;EACA,IAAA;EACA,OAAA;EACA,OAAA;EVoBwC;;AAEzC;;;;EUZC,iBAAA;EACA,IAAA;EACA,YAAA;EAIA,kBAAA,IAAsB,aAAA;EACtB,eAAA,IAAmB,YAAA;EAInB,eAAA,IAAmB,YAAA;EAInB,aAAA,IAAiB,SAAA;EACjB,eAAA,IAAmB,qBAAA;EACnB,cAAA,CAAe,EAAA;EACf,gBAAA,CAAiB,OAAA;EACjB,oBAAA;EACA,oBAAA,CAAqB,EAAA;EAAA,SAIZ,QAAA,EAAU,QAAA;EAInB,OAAA,CAAQ,OAAA,eAAsB,WAAA;EAI9B,OAAA;AAAA;;;AVnUD;;;;;;;AAAA,UWOiB,eAAA;EAChB,WAAA,EAAa,QAAA;AAAA;;KAIF,kBAAA;EACX,MAAA,EAAQ,SAAA;AAAA;;;;AXDT;cWQa,cAAA,EAAc,4BAAA,CAAA,YAAA,CAAA,kBAAA;;;;AXI3B;;;;;;;cWUa,cAAA,EAKX,4BAAA,CALyB,YAAA;;;;;;;cAQd,gBAAA,EAIX,4BAAA,CAJ2B,YAAA;;;;;;cAOhB,kBAAA,EAGX,4BAAA,CAH6B,YAAA;;;;;cAMlB,wBAAA,EAKX,4BAAA,CALmC,YAAA;;;;;;;;;AXYrC;;;;;cWGa,uBAAA,EACsC,4BAAA,CADf,YAAA;UACA,eAAA;;;AXGpC;AAAA,KWEY,gBAAA;EAAqB,CAAA;EAAW,CAAA;EAAW,IAAA;AAAA;;;;AXIvD;;;cWIa,kBAAA,EAAkB,4BAAA,CAAA,YAAA,CAAA,gBAAA;;KAOnB,UAAA;;;AXGZ;;;;;cWoBa,mBAAA,EAIX,4BAAA,CAJ8B,YAAA;;;;;;;;;;;;;;;;;;;;;AXkDhC;AAAA,cW3Ca,oBAAA,EACkB,4BAAA,CADE,YAAA;YACd,YAAA;AAAA;;;;;;;AXmDnB;;;;;AAQA;KW5CY,cAAA;EACX,MAAA,EADyB,SAAA;AAAA;AAAA,cAIb,kBAAA,EAAkB,4BAAA,CAAA,YAAA,CAAA,cAAA;;;;;AX7I/B;;iBYgFgB,kBAAA,WAA6B,aAAA,GAAgB,aAAA,CAAA,CAC5D,MAAA,GAAS,kBAAA,CAAmB,CAAA,IAC1B,YAAA,CAAa,CAAA"}