@ray-js/robot-map-sdk 0.0.3-beta-22 → 0.0.3-beta-24

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 (126) hide show
  1. package/dist/index.d.ts +11 -312
  2. package/dist/index.js +1 -1
  3. package/dist/index.rjs.js +1 -1
  4. package/dist/utils/index.js +1 -1
  5. package/dist-app/assets/{index-ClwjZGGG.js → index-t5n2mXwb.js} +1 -1
  6. package/dist-app/index.html +1 -1
  7. package/dist-docs/404.html +2 -2
  8. package/dist-docs/assets/{app.BicAfu20.js → app.DKtY-QgA.js} +1 -1
  9. package/dist-docs/assets/chunks/@localSearchIndexroot.Ck3G2TnR.js +1 -0
  10. package/dist-docs/assets/chunks/{VPLocalSearchBox.DZvQsvt0.js → VPLocalSearchBox.Is_bIGtF.js} +1 -1
  11. package/dist-docs/assets/chunks/{theme.CaW7AOG2.js → theme.CoICOtg5.js} +2 -2
  12. package/dist-docs/assets/{guide_advanced-usage.md.CUkMfTh6.js → guide_advanced-usage.md.BrZgx45A.js} +91 -3
  13. package/dist-docs/assets/{guide_advanced-usage.md.CUkMfTh6.lean.js → guide_advanced-usage.md.BrZgx45A.lean.js} +1 -1
  14. package/dist-docs/assets/{guide_getting-started.md.CbqDbiIS.js → guide_getting-started.md.Cip1vgx6.js} +1 -1
  15. package/dist-docs/assets/reference_config.md.CfEp0H9c.js +61 -0
  16. package/dist-docs/assets/reference_config.md.CfEp0H9c.lean.js +1 -0
  17. package/dist-docs/assets/{reference_types.md.BP8Uwg9a.js → reference_types.md.DkIhhJD0.js} +5 -1
  18. package/dist-docs/assets/{reference_types.md.BP8Uwg9a.lean.js → reference_types.md.DkIhhJD0.lean.js} +1 -1
  19. package/dist-docs/assets/{reference_utils.md.C5spobZN.js → reference_utils.md.CSshxnp0.js} +2 -2
  20. package/dist-docs/assets/{reference_utils.md.C5spobZN.lean.js → reference_utils.md.CSshxnp0.lean.js} +1 -1
  21. package/dist-docs/guide/advanced-usage.html +94 -6
  22. package/dist-docs/guide/concepts.html +3 -3
  23. package/dist-docs/guide/getting-started.html +5 -5
  24. package/dist-docs/hashmap.json +1 -1
  25. package/dist-docs/index.html +3 -3
  26. package/dist-docs/reference/callbacks.html +3 -3
  27. package/dist-docs/reference/config.html +25 -5
  28. package/dist-docs/reference/data.html +3 -3
  29. package/dist-docs/reference/methods.html +3 -3
  30. package/dist-docs/reference/runtime.html +3 -3
  31. package/dist-docs/reference/types.html +9 -5
  32. package/dist-docs/reference/utils.html +6 -6
  33. package/package.json +1 -1
  34. package/dist/application/AppContainer.js +0 -1
  35. package/dist/application/AppService.js +0 -1
  36. package/dist/application/Interaction.js +0 -1
  37. package/dist/application/MapApplication.js +0 -1
  38. package/dist/application/ViewportContainer.js +0 -1
  39. package/dist/assets/carpet.png.js +0 -1
  40. package/dist/assets/chargingStation.png.js +0 -1
  41. package/dist/assets/checkmark.png.js +0 -1
  42. package/dist/assets/cleanMode0.png.js +0 -1
  43. package/dist/assets/cleanMode1.png.js +0 -1
  44. package/dist/assets/cleanMode2.png.js +0 -1
  45. package/dist/assets/cleanMode3.png.js +0 -1
  46. package/dist/assets/cleanTimes1.png.js +0 -1
  47. package/dist/assets/cleanTimes2.png.js +0 -1
  48. package/dist/assets/controlDelete.png.js +0 -1
  49. package/dist/assets/controlMove.png.js +0 -1
  50. package/dist/assets/controlRotate.png.js +0 -1
  51. package/dist/assets/controlScale.png.js +0 -1
  52. package/dist/assets/fan0.png.js +0 -1
  53. package/dist/assets/fan1.png.js +0 -1
  54. package/dist/assets/fan2.png.js +0 -1
  55. package/dist/assets/fan3.png.js +0 -1
  56. package/dist/assets/fan4.png.js +0 -1
  57. package/dist/assets/floorType1.png.js +0 -1
  58. package/dist/assets/floorType2.png.js +0 -1
  59. package/dist/assets/floorType3.png.js +0 -1
  60. package/dist/assets/robot.png.js +0 -1
  61. package/dist/assets/sleep.json.js +0 -1
  62. package/dist/assets/spot.png.js +0 -1
  63. package/dist/assets/water0.png.js +0 -1
  64. package/dist/assets/water1.png.js +0 -1
  65. package/dist/assets/water2.png.js +0 -1
  66. package/dist/assets/water3.png.js +0 -1
  67. package/dist/components/Base/BaseControlButton.js +0 -1
  68. package/dist/components/Base/Border.js +0 -1
  69. package/dist/components/Base/ControlFill.js +0 -1
  70. package/dist/components/Base/DashLine.js +0 -1
  71. package/dist/components/Base/EndPoint.js +0 -1
  72. package/dist/components/Base/EnhancedAnimatedSprite.js +0 -1
  73. package/dist/components/Base/EnhancedGifSprite.js +0 -1
  74. package/dist/components/Base/EnhancedSprite.js +0 -1
  75. package/dist/components/Base/FixedSizeContainer.js +0 -1
  76. package/dist/components/Base/FixedSizeDOMContainer.js +0 -1
  77. package/dist/components/Base/FixedSizeText.js +0 -1
  78. package/dist/components/Base/MoveControlButton.js +0 -1
  79. package/dist/components/Base/RemoveControlButton.js +0 -1
  80. package/dist/components/Base/Ring.js +0 -1
  81. package/dist/components/Base/RotateControlButton.js +0 -1
  82. package/dist/components/Base/ScaleControlButton.js +0 -1
  83. package/dist/components/Base/Zone.js +0 -1
  84. package/dist/components/ChargingStation/ChargingStationIcon.js +0 -1
  85. package/dist/components/ChargingStation/index.js +0 -1
  86. package/dist/components/Controls/CleanZone.js +0 -1
  87. package/dist/components/Controls/Divider.js +0 -1
  88. package/dist/components/Controls/ForbiddenMopZone.js +0 -1
  89. package/dist/components/Controls/ForbiddenSweepZone.js +0 -1
  90. package/dist/components/Controls/Spot.js +0 -1
  91. package/dist/components/Controls/VirtualWall.js +0 -1
  92. package/dist/components/CustomElements/CustomGif.js +0 -1
  93. package/dist/components/CustomElements/CustomHTML.js +0 -1
  94. package/dist/components/CustomElements/CustomImage.js +0 -1
  95. package/dist/components/DetectedObject/index.js +0 -1
  96. package/dist/components/Heatmap/index.js +0 -1
  97. package/dist/components/Map/Carpet.js +0 -1
  98. package/dist/components/Map/Free.js +0 -1
  99. package/dist/components/Map/Obstacle.js +0 -1
  100. package/dist/components/Map/RoomFill.js +0 -1
  101. package/dist/components/Path/index.js +0 -1
  102. package/dist/components/Robot/RobotIcon.js +0 -1
  103. package/dist/components/Robot/SleepAnimation.js +0 -1
  104. package/dist/components/Robot/index.js +0 -1
  105. package/dist/components/RoomFloorType/index.js +0 -1
  106. package/dist/components/RoomInfo/RoomName.js +0 -1
  107. package/dist/components/RoomInfo/RoomProperty.js +0 -1
  108. package/dist/components/RoomInfo/RoomSelectionIndicator.js +0 -1
  109. package/dist/components/RoomInfo/index.js +0 -1
  110. package/dist/constant/config.js +0 -1
  111. package/dist/constant/index.js +0 -1
  112. package/dist/managers/ControlsManager.js +0 -1
  113. package/dist/managers/CustomElementsManager.js +0 -1
  114. package/dist/managers/DetectedObjectManager.js +0 -1
  115. package/dist/managers/HeatmapManager.js +0 -1
  116. package/dist/managers/MapManager.js +0 -1
  117. package/dist/managers/PathManager.js +0 -1
  118. package/dist/managers/RoomManager.js +0 -1
  119. package/dist/mixins/ClickHandler.js +0 -1
  120. package/dist/utils/algorithm.js +0 -1
  121. package/dist/utils/browser.js +0 -1
  122. package/dist/utils/logger.js +0 -1
  123. package/dist-docs/assets/chunks/@localSearchIndexroot.DWUbE27y.js +0 -1
  124. package/dist-docs/assets/reference_config.md.zb-n1yzx.js +0 -41
  125. package/dist-docs/assets/reference_config.md.zb-n1yzx.lean.js +0 -1
  126. /package/dist-docs/assets/{guide_getting-started.md.CbqDbiIS.lean.js → guide_getting-started.md.Cip1vgx6.lean.js} +0 -0
package/dist/index.d.ts CHANGED
@@ -1,40 +1,22 @@
1
1
  import { AnimatedSprite } from 'pixi.js';
2
- import { AppContainer as AppContainer_2 } from './AppContainer';
3
2
  import { Application } from 'pixi.js';
4
3
  import { ApplicationOptions } from 'pixi.js';
5
4
  import { ColorSource } from 'pixi.js';
6
5
  import { Container } from 'pixi.js';
7
- import { ControlsConfig as ControlsConfig_2 } from '..';
8
- import { ControlsManager as ControlsManager_2 } from '../managers/ControlsManager';
9
- import { CustomElementsManager as CustomElementsManager_2 } from '../managers/CustomElementsManager';
10
6
  import { DestroyOptions } from 'pixi.js';
11
- import { DetectedObjectManager as DetectedObjectManager_2 } from '../managers/DetectedObjectManager';
12
- import { DividerConfig as DividerConfig_2 } from '..';
13
7
  import { Emitter } from 'mitt';
14
8
  import { FederatedPointerEvent } from 'pixi.js';
15
9
  import { Graphics } from 'pixi.js';
16
- import { HeatmapManager as HeatmapManager_2 } from '../managers/HeatmapManager';
17
- import { Interaction as Interaction_2 } from './Interaction';
18
- import { MapCallbacks as MapCallbacks_2 } from '..';
19
10
  import { MapData } from '@ray-js/robot-protocol';
20
11
  import { MapHeader } from '@ray-js/robot-protocol';
21
- import { MapManager as MapManager_2 } from '../managers/MapManager';
22
- import { MapState as MapState_2 } from '..';
23
12
  import { ParsedRasterMapData as ParsedRasterMapData_2 } from '@ray-js/robot-protocol';
24
13
  import { PathData } from '@ray-js/robot-protocol';
25
- import { PathManager as PathManager_2 } from '../managers/PathManager';
26
14
  import { Rectangle } from 'pixi.js';
27
- import { RingConfig as RingConfig_2 } from '..';
28
- import { RoomData as RoomData_2 } from '..';
29
- import { RoomManager as RoomManager_2 } from '../managers/RoomManager';
30
- import { RuntimeConfig as RuntimeConfig_2 } from '..';
31
15
  import { SPECIAL_ROOM_IDS } from '@ray-js/robot-protocol';
32
16
  import { SpecialRoomId } from '@ray-js/robot-protocol';
33
17
  import { Sprite } from 'pixi.js';
34
18
  import { TextStyleFontWeight } from 'pixi.js';
35
19
  import { Texture } from 'pixi.js';
36
- import { Ticker } from 'pixi.js';
37
- import { ViewportContainer as ViewportContainer_2 } from './ViewportContainer';
38
20
 
39
21
  /**
40
22
  * 地图静态配置
@@ -125,8 +107,14 @@ export declare type AppConfig = {
125
107
  }
126
108
  /** 房间属性配置 */
127
109
  property: {
128
- /** 显示顺序 */
129
- displayOrders: ('cleanMode' | 'suction' | 'cistern' | 'cleanTimes')[]
110
+ /** 显示顺序(支持内置字段和自定义字段名) */
111
+ displayOrders: (
112
+ | 'cleanMode'
113
+ | 'suction'
114
+ | 'cistern'
115
+ | 'cleanTimes'
116
+ | string
117
+ )[]
130
118
  /** 图标宽度 */
131
119
  iconWidth: number
132
120
  /** 图标高度 */
@@ -187,6 +175,8 @@ export declare type AppConfig = {
187
175
  /** 右侧间隔 */
188
176
  gapRight: number
189
177
  }
178
+ /** 自定义属性资源配置 */
179
+ customAssets?: Record<string, string[]>
190
180
  }
191
181
  /** 选择指示器配置 */
192
182
  selectionIndicator: {
@@ -449,51 +439,6 @@ declare class AppContainer extends Container {
449
439
  getLayerVisibility(name: LayerName): boolean;
450
440
  }
451
441
 
452
- /**
453
- * 应用上下文管理 - 基于 React Context 思想
454
- * 通过组件树的层级关系来传播上下文,每个组件都能自动获取到最近的 Provider 提供的值
455
- */
456
- export declare class AppContext {
457
- private static contextStack;
458
- private static instanceMap;
459
- private static serviceCache;
460
- /**
461
- * 类似 React.createContext() - 注册实例
462
- */
463
- static registerInstance(instanceKey: string, app: AppInstance): void;
464
- /**
465
- * 取消注册实例
466
- */
467
- static unregisterInstance(instanceKey: string): void;
468
- /**
469
- * 获取 AppService 实例
470
- * @returns AppService 实例
471
- */
472
- static getService(): AppService;
473
- /**
474
- * 类似 <Context.Provider value={app}> - 提供上下文
475
- */
476
- static provide<T>(app: AppInstance, fn: () => T): T;
477
- /**
478
- * 异步版本的 provide
479
- */
480
- static provideAsync<T>(app: AppInstance, fn: () => Promise<T>): Promise<T>;
481
- /**
482
- * 类似 useContext(Context) - 获取当前上下文
483
- */
484
- static useContext(): AppInstance;
485
- /**
486
- * 检查是否有活跃的上下文
487
- */
488
- static hasContext(): boolean;
489
- /**
490
- * 清空所有上下文(主要用于测试)
491
- */
492
- static clear(): void;
493
- }
494
-
495
- declare type AppInstance = MapApplication;
496
-
497
442
  /**
498
443
  * 应用程序选项配置
499
444
  * 包含事件回调、配置和运行时状态
@@ -507,247 +452,6 @@ export declare type AppOptions = {
507
452
  runtime: DeepPartialRuntimeConfig
508
453
  }
509
454
 
510
- declare class AppService {
511
- getApp(): MapApplication;
512
- getConfig(): AppConfig;
513
- getRoomData(roomId: number): RoomData_2 | undefined;
514
- /**
515
- * 将米转换为像素(委托给 MapApplication)
516
- */
517
- metersToPixels(meters: number): number;
518
- /**
519
- * 将像素转换为米(委托给 MapApplication)
520
- */
521
- pixelsToMeters(pixels: number): number;
522
- get ticker(): Ticker;
523
- get mapState(): MapState_2 | null;
524
- get gloalConfig(): {
525
- containerTop: string;
526
- containerLeft: string;
527
- containerWidth: string;
528
- containerHeight: string;
529
- backgroundColor: ColorSource;
530
- };
531
- get mapConfig(): {
532
- autoPaddingPercent: number;
533
- adjacencyThreshold: number;
534
- obstacleColor: ColorSource;
535
- freeColor: ColorSource;
536
- };
537
- get roomConfig(): {
538
- colors: {
539
- active: string[];
540
- inactive: string[];
541
- name: string[];
542
- propertyTheme: string[];
543
- selectionIndicatorBackground: string[];
544
- selectionIndicatorIcon: string[];
545
- NO_ROOM_DATA: string;
546
- ROOM_GAP: string;
547
- OBSTACLE_ROOM: string;
548
- UNKNOWN_ROOM: string;
549
- };
550
- nameLabel: {
551
- fontSize: number;
552
- fontFamily: string;
553
- fontWeight: TextStyleFontWeight;
554
- };
555
- property: {
556
- displayOrders: ("cleanMode" | "suction" | "cistern" | "cleanTimes")[];
557
- iconWidth: number;
558
- iconHeight: number;
559
- foldable: boolean;
560
- offsetX: number;
561
- offsetY: number;
562
- iconGap: number;
563
- container: {
564
- backgroundColor: ColorSource;
565
- paddingVertical: number;
566
- paddingHorizontal: number;
567
- borderRadius: number;
568
- tailHeight: number;
569
- tailWidth: number;
570
- };
571
- suction: {
572
- assets: string[];
573
- };
574
- cistern: {
575
- assets: string[];
576
- };
577
- cleanMode: {
578
- assets: string[];
579
- };
580
- cleanTimes: {
581
- assets: string[];
582
- };
583
- cleanOrder: {
584
- color: ColorSource;
585
- fontFamily: string;
586
- fontWeight: TextStyleFontWeight;
587
- fontSize: number;
588
- gapRight: number;
589
- };
590
- };
591
- selectionIndicator: {
592
- iconSrc: string;
593
- iconWidth: number;
594
- iconHeight: number;
595
- containerWidth: number;
596
- containerHeight: number;
597
- strokeWidth: number;
598
- strokeColor: ColorSource;
599
- borderRadius: number;
600
- offsetX: number;
601
- offsetY: number;
602
- tailHeight: number;
603
- tailWidth: number;
604
- };
605
- floorType: {
606
- assets: string[];
607
- opacity: number;
608
- scale: number;
609
- };
610
- };
611
- get heatMapConfig(): {
612
- cellSize: number;
613
- maxDistance: number;
614
- smoothIterations: number;
615
- heatmapAlpha: number;
616
- colorGradients: [ColorSource, ColorSource, ColorSource, ColorSource, ColorSource, ColorSource, ColorSource, ColorSource];
617
- };
618
- get pathConfig(): {
619
- lineWidthFixed: boolean;
620
- incrementalThreshold: number;
621
- commonPath: {
622
- visible: boolean;
623
- color: ColorSource;
624
- width: number;
625
- };
626
- transitionPath: {
627
- visible: boolean;
628
- color: ColorSource;
629
- width: number;
630
- };
631
- chargePath: {
632
- visible: boolean;
633
- color: ColorSource;
634
- width: number;
635
- };
636
- };
637
- get carpetConfig(): {
638
- src: string;
639
- opacity: number;
640
- scale: number;
641
- };
642
- get robotConfig(): {
643
- icon: {
644
- sizeFixed: boolean;
645
- width: number;
646
- height: number;
647
- src: string;
648
- };
649
- speed: number;
650
- rotationCorrection: number;
651
- sleepAnimation: {
652
- jsonSrc: string;
653
- framePrefix: string;
654
- width: number;
655
- height: number;
656
- sizeFixed: boolean;
657
- frameCount: number;
658
- offsetX: number;
659
- offsetY: number;
660
- };
661
- } & RingConfig_2;
662
- get chargingStationConfig(): {
663
- icon: {
664
- sizeFixed: boolean;
665
- width: number;
666
- height: number;
667
- src: string;
668
- };
669
- rotationCorrection: number;
670
- } & RingConfig_2;
671
- get interactionConfig(): {
672
- zoomRange: {
673
- min: number;
674
- max: number;
675
- };
676
- fitMinScale: number;
677
- fitMaxScale: number;
678
- enableDoubleTapZoom: boolean;
679
- };
680
- get controlsConfig(): ControlsConfig_2;
681
- get dividerConfig(): DividerConfig_2;
682
- get detectedObjectConfig(): {
683
- height: number;
684
- width: number;
685
- interactive: boolean;
686
- };
687
- get snapshotConfig(): {
688
- format: "png" | "jpg" | "webp";
689
- quality: number;
690
- antialias: boolean;
691
- resolution: number;
692
- };
693
- get appContainer(): AppContainer_2;
694
- get interaction(): Interaction_2;
695
- get viewportContainer(): ViewportContainer_2;
696
- get mapManager(): MapManager_2;
697
- get pathManager(): PathManager_2;
698
- get heatmapManager(): HeatmapManager_2;
699
- get controlsManager(): ControlsManager_2;
700
- get detectedObjectManager(): DetectedObjectManager_2;
701
- get customElementsManager(): CustomElementsManager_2;
702
- get roomsManager(): RoomManager_2;
703
- get runtime(): RuntimeConfig_2;
704
- get runtimeSnapshot(): {
705
- readonly dividingRoomId: number | null | undefined;
706
- readonly enableRoomSelection: boolean;
707
- readonly editingForbiddenSweepZoneIds: readonly string[];
708
- readonly editingForbiddenMopZoneIds: readonly string[];
709
- readonly editingCleanZoneIds: readonly string[];
710
- readonly editingVirtualWallIds: readonly string[];
711
- readonly editingSpotIds: readonly string[];
712
- readonly roomPropertyFoldIds: readonly number[];
713
- readonly roomSelectionMode: "checkmark" | "order";
714
- readonly showRoomName: boolean;
715
- readonly showRoomProperty: boolean;
716
- readonly showRoomOrder: boolean;
717
- readonly showPath: boolean;
718
- readonly showChargingStation: boolean;
719
- readonly showRoomFloorType: boolean;
720
- readonly showCarpet: boolean;
721
- readonly selectRoomIds: readonly number[];
722
- readonly showChargingStationRing: boolean;
723
- readonly showRobotRing: boolean;
724
- readonly showRobotSleepAnimation: boolean;
725
- };
726
- get events(): MapCallbacks_2 | undefined;
727
- get baseScale(): number;
728
- get currentScale(): number;
729
- get emitter(): Emitter< {
730
- antiScale: number;
731
- gestureHijackStart: FederatedPointerEvent;
732
- gestureHijackPointerMove: FederatedPointerEvent;
733
- gestureHijackPointerUp: FederatedPointerEvent;
734
- gestureHijackCancel: void;
735
- robotPositionUpdate: {
736
- x: number;
737
- y: number;
738
- pathType?: string;
739
- };
740
- robotAnimationComplete: void;
741
- pathSegmentComplete: {
742
- fromX: number;
743
- fromY: number;
744
- toX: number;
745
- toY: number;
746
- pathType?: string;
747
- };
748
- }>;
749
- }
750
-
751
455
  /**
752
456
  * 基础自定义元素参数(所有类型共享)
753
457
  */
@@ -1966,7 +1670,7 @@ export declare interface MapApi {
1966
1670
  * 地图应用的核心类,继承自 PIXI.Application,提供完整的地图渲染、交互和管理功能。
1967
1671
  * 支持扫地机器人地图的显示、路径绘制、房间管理、控制元素(禁区、虚拟墙等)等功能。
1968
1672
  */
1969
- export declare class MapApplication extends Application implements MapApi {
1673
+ declare class MapApplication extends Application implements MapApi {
1970
1674
  /** 地图状态对象 */
1971
1675
  mapState: MapState | null;
1972
1676
  /* Excluded from this release type: components */
@@ -3508,11 +3212,6 @@ export declare type SpotParam = {
3508
3212
  point: Point
3509
3213
  }
3510
3214
 
3511
- /**
3512
- * 获取 AppService 实例
3513
- */
3514
- export declare function useAppService(): AppService;
3515
-
3516
3215
  declare class ViewportContainer extends Container {
3517
3216
  private viewportBounds;
3518
3217
  private maskGraphics;
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- import{decodeRoomProperties as o,offsetPointsToAvoidOverlap as p}from"./utils/index.js";import{MapApplication as i}from"./application/MapApplication.js";import{AppContext as t,useAppService as r}from"./application/AppService.js";import{MAP_API_METHODS as m,MAP_CALLBACK_METHODS as a}from"./constant/methods.js";export{t as AppContext,m as MAP_API_METHODS,a as MAP_CALLBACK_METHODS,i as MapApplication,o as decodeRoomProperties,p as offsetPointsToAvoidOverlap,r as useAppService};
1
+ import{decodeRoomProperties as o,offsetPointsToAvoidOverlap as t}from"./utils/index.js";import{MAP_API_METHODS as m,MAP_CALLBACK_METHODS as r}from"./constant/methods.js";export{m as MAP_API_METHODS,r as MAP_CALLBACK_METHODS,o as decodeRoomProperties,t as offsetPointsToAvoidOverlap};