@ray-js/robot-map-sdk 0.0.3-beta-18 → 0.0.3-beta-20

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 (56) hide show
  1. package/dist/application/MapApplication.js +1 -1
  2. package/dist/components/Base/Zone.js +1 -1
  3. package/dist/components/ChargingStation/index.js +1 -1
  4. package/dist/components/Controls/Divider.js +1 -1
  5. package/dist/components/Controls/Spot.js +1 -1
  6. package/dist/components/Controls/VirtualWall.js +1 -1
  7. package/dist/components/CustomElements/CustomGif.js +1 -1
  8. package/dist/components/CustomElements/CustomImage.js +1 -1
  9. package/dist/components/Robot/index.js +1 -1
  10. package/dist/components/RoomInfo/RoomProperty.js +1 -1
  11. package/dist/components/RoomInfo/RoomSelectionIndicator.js +1 -1
  12. package/dist/constant/config.js +1 -1
  13. package/dist/constant/methods.js +1 -1
  14. package/dist/index.d.ts +67 -2
  15. package/dist/index.js +1 -1
  16. package/dist/index.rjs.js +1 -1
  17. package/dist/managers/CustomElementsManager.js +1 -1
  18. package/dist/managers/MapManager.js +1 -1
  19. package/dist/utils/algorithm.js +1 -1
  20. package/dist/utils/index.js +1 -1
  21. package/dist-app/assets/{index-D7cfUosZ.js → index-CMaxpPPD.js} +1 -1
  22. package/dist-app/index.html +1 -1
  23. package/dist-docs/404.html +2 -2
  24. package/dist-docs/assets/{app._67VF2Zv.js → app.DP1O8BNS.js} +1 -1
  25. package/dist-docs/assets/chunks/@localSearchIndexroot.BXv7BdiO.js +1 -0
  26. package/dist-docs/assets/chunks/{VPLocalSearchBox.XSAyaHX-.js → VPLocalSearchBox.UpWCcVfL.js} +1 -1
  27. package/dist-docs/assets/chunks/{theme.DIECNOdZ.js → theme.uu9-XYwr.js} +2 -2
  28. package/dist-docs/assets/guide_concepts.md.CAoYwZmS.js +3 -0
  29. package/dist-docs/assets/guide_concepts.md.CAoYwZmS.lean.js +1 -0
  30. package/dist-docs/assets/{guide_getting-started.md.CkqIffiJ.js → guide_getting-started.md.u5zOtdU6.js} +1 -1
  31. package/dist-docs/assets/{reference_config.md.DKXC2aOe.js → reference_config.md.zb-n1yzx.js} +2 -2
  32. package/dist-docs/assets/{reference_config.md.DKXC2aOe.lean.js → reference_config.md.zb-n1yzx.lean.js} +1 -1
  33. package/dist-docs/assets/{reference_methods.md.Cw2UFl8i.js → reference_methods.md.D1VYgciC.js} +10 -4
  34. package/dist-docs/assets/{reference_methods.md.Cw2UFl8i.lean.js → reference_methods.md.D1VYgciC.lean.js} +1 -1
  35. package/dist-docs/assets/{reference_types.md.CteNuaxc.js → reference_types.md.g_JJ8gNY.js} +74 -15
  36. package/dist-docs/assets/{reference_types.md.CteNuaxc.lean.js → reference_types.md.g_JJ8gNY.lean.js} +1 -1
  37. package/dist-docs/assets/{reference_utils.md.DU5CMWXW.js → reference_utils.md.C5spobZN.js} +6 -2
  38. package/dist-docs/assets/reference_utils.md.C5spobZN.lean.js +1 -0
  39. package/dist-docs/guide/advanced-usage.html +3 -3
  40. package/dist-docs/guide/concepts.html +7 -5
  41. package/dist-docs/guide/getting-started.html +5 -5
  42. package/dist-docs/hashmap.json +1 -1
  43. package/dist-docs/index.html +3 -3
  44. package/dist-docs/reference/callbacks.html +3 -3
  45. package/dist-docs/reference/config.html +5 -5
  46. package/dist-docs/reference/data.html +3 -3
  47. package/dist-docs/reference/methods.html +13 -7
  48. package/dist-docs/reference/runtime.html +3 -3
  49. package/dist-docs/reference/types.html +77 -18
  50. package/dist-docs/reference/utils.html +9 -5
  51. package/package.json +1 -1
  52. package/dist-docs/assets/chunks/@localSearchIndexroot.Bi7KIfUQ.js +0 -1
  53. package/dist-docs/assets/guide_concepts.md.GEw3xVjc.js +0 -1
  54. package/dist-docs/assets/guide_concepts.md.GEw3xVjc.lean.js +0 -1
  55. package/dist-docs/assets/reference_utils.md.DU5CMWXW.lean.js +0 -1
  56. /package/dist-docs/assets/{guide_getting-started.md.CkqIffiJ.lean.js → guide_getting-started.md.u5zOtdU6.lean.js} +0 -0
package/dist/index.d.ts CHANGED
@@ -765,7 +765,8 @@ export declare type BaseCustomElementParam = {
765
765
  /** 是否可交互 */
766
766
  interactive?: boolean
767
767
  /** 自定义数据 */
768
- customData?: Record<string, unknown>
768
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
769
+ customData?: Record<string, any>
769
770
  /** 尺寸是否固定 */
770
771
  sizeFixed?: boolean
771
772
  }
@@ -1197,6 +1198,9 @@ export declare type DetectedObjectParam = {
1197
1198
  height?: number
1198
1199
  /** 宽度 */
1199
1200
  width?: number
1201
+ /** 自定义数据 */
1202
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1203
+ customData?: Record<string, any>
1200
1204
  }
1201
1205
 
1202
1206
  /** 方向 */
@@ -1739,7 +1743,7 @@ declare type Managers = {
1739
1743
  roomsManager: RoomManager;
1740
1744
  };
1741
1745
 
1742
- export declare const MAP_API_METHODS: readonly ["areRoomsAdjacent", "resetPanZoom", "getForbiddenSweepZones", "getForbiddenMopZones", "getCleanZones", "getVirtualWalls", "getSpots", "getViewportCenterPoint", "getMapCenterPoint", "getWallPointsByViewportCenter", "getForbiddenSweepZonePointsByViewportCenter", "getForbiddenMopZonePointsByViewportCenter", "getCleanZonePointsByViewportCenter", "getSpotPointByViewportCenter", "getEffectiveDividerPoints", "getDividerEndPoints", "snapshot", "snapshotByData"];
1746
+ export declare const MAP_API_METHODS: readonly ["areRoomsAdjacent", "getForbiddenSweepZones", "getForbiddenMopZones", "getCleanZones", "getVirtualWalls", "getSpots", "getViewportCenterPoint", "getMapCenterPoint", "getWallPointsByViewportCenter", "getForbiddenSweepZonePointsByViewportCenter", "getForbiddenMopZonePointsByViewportCenter", "getCleanZonePointsByViewportCenter", "getSpotPointByViewportCenter", "getEffectiveDividerPoints", "getDividerEndPoints", "isPointInAnyRoom", "resetPanZoom", "snapshot", "snapshotByData"];
1743
1747
 
1744
1748
  export declare const MAP_CALLBACK_METHODS: readonly ["onMapFirstDrawed", "onMapDrawed", "onPathDrawed", "onRoomPropertiesDrawed", "onClickRoom", "onClickRoomProperties", "onRemoveForbiddenSweepZone", "onRemoveForbiddenMopZone", "onRemoveCleanZone", "onRemoveVirtualWall", "onUpdateForbiddenSweepZone", "onUpdateForbiddenMopZone", "onUpdateCleanZone", "onUpdateVirtualWall", "onUpdateSpot", "onUpdateDivider", "onClickForbiddenSweepZone", "onClickForbiddenMopZone", "onClickCleanZone", "onClickVirtualWall", "onClickSpot", "onClickDetectedObject", "onClickCustomElement"];
1745
1749
 
@@ -1907,6 +1911,17 @@ export declare interface MapApi {
1907
1911
  * @returns 是否所有指定的房间都相邻(连通)
1908
1912
  */
1909
1913
  areRoomsAdjacent(roomIds: number[]): boolean;
1914
+ /**
1915
+ * 判断一个点是否在任意房间内
1916
+ *
1917
+ * 接受原点坐标系的点(相对于origin的坐标),遍历所有房间,
1918
+ * 判断该点是否在某个房间内。支持结构化地图和点阵地图两种协议。
1919
+ * 方法内部会自动将原点坐标系转换为地图坐标系进行检测。
1920
+ *
1921
+ * @param point - 待检测的点坐标(原点坐标系,与Zone、VirtualWall等使用相同的坐标系)
1922
+ * @returns 如果点在某个房间内,返回该房间的RoomData;否则返回null
1923
+ */
1924
+ isPointInAnyRoom(point: Point): RoomData | null;
1910
1925
  /**
1911
1926
  * 地图截图
1912
1927
  *
@@ -2295,6 +2310,30 @@ export declare class MapApplication extends Application implements MapApi {
2295
2310
  * ```
2296
2311
  */
2297
2312
  areRoomsAdjacent(roomIds: number[]): boolean;
2313
+ /**
2314
+ * 判断一个点是否在任意房间内
2315
+ *
2316
+ * 接受原点坐标系的点(相对于origin的坐标),遍历所有房间,
2317
+ * 判断该点是否在某个房间内。支持结构化地图和点阵地图两种协议。
2318
+ * 方法内部会自动将原点坐标系转换为地图坐标系进行检测。
2319
+ *
2320
+ * @param point - 待检测的点坐标(原点坐标系,与Zone、VirtualWall等使用相同的坐标系)
2321
+ * @returns 如果点在某个房间内,返回该房间的RoomData;否则返回null
2322
+ *
2323
+ * @example
2324
+ * ```typescript
2325
+ * // 判断一个点是否在房间内
2326
+ * const roomData = mapApi.isPointInAnyRoom({ x: 100, y: 200 })
2327
+ * if (roomData) {
2328
+ * console.log(`点在房间 ${roomData.name} 内`)
2329
+ * } else {
2330
+ * console.log('点不在任何房间内')
2331
+ * }
2332
+ * ```
2333
+ */
2334
+ isPointInAnyRoom(point: Point): RoomData | null;
2335
+ /* Excluded from this release type: isPointInAnyRoomStructuredInternal */
2336
+ /* Excluded from this release type: isPointInAnyRoomRasterInternal */
2298
2337
  /* Excluded from this release type: areStructuredRoomsAdjacentInternal */
2299
2338
  /* Excluded from this release type: areRasterRoomsAdjacentInternal */
2300
2339
  /**
@@ -2687,6 +2726,10 @@ declare class MapManager {
2687
2726
  * 根据ID查找房间几何信息
2688
2727
  */
2689
2728
  getRoomById(id: number): Room | undefined;
2729
+ /**
2730
+ * 获取所有房间的几何信息
2731
+ */
2732
+ getAllRooms(): Room[];
2690
2733
  /**
2691
2734
  * 清空地图组件
2692
2735
  */
@@ -2751,8 +2794,19 @@ export declare type MapState = {
2751
2794
  * 地图协议版本号
2752
2795
  */
2753
2796
  version?: number
2797
+ /**
2798
+ * 地图类型
2799
+ * - 'structured': 结构化地图(基于轮廓点)
2800
+ * - 'raster': 点阵地图(基于像素)
2801
+ */
2802
+ mapType: MapType
2754
2803
  }
2755
2804
 
2805
+ /**
2806
+ * 地图类型
2807
+ */
2808
+ export declare type MapType = 'structured' | 'raster'
2809
+
2756
2810
  declare class Obstacle extends Graphics {
2757
2811
  constructor();
2758
2812
  /**
@@ -2771,6 +2825,15 @@ declare class Obstacle extends Graphics {
2771
2825
  destroy(options?: DestroyOptions | boolean): void;
2772
2826
  }
2773
2827
 
2828
+ /**
2829
+ * 对点位进行偏移,避免与已存在的点位重叠
2830
+ * 使用递增偏移策略,每次偏移5个单位,直到找到不重叠的位置
2831
+ * @param points 需要偏移的点位数组
2832
+ * @param existingPointsArray 已存在的点位数组
2833
+ * @param maxAttempts 最大尝试次数,默认20次(最多偏移100个单位)
2834
+ */
2835
+ export declare const offsetPointsToAvoidOverlap: (points: Point[], existingPointsArray: Point[][], maxAttempts?: number) => Point[];
2836
+
2774
2837
  /**
2775
2838
  * 解析后的点阵地图数据
2776
2839
  */
@@ -3583,6 +3646,8 @@ export declare type ZoneConfig = {
3583
3646
  outlineDashed: boolean
3584
3647
  /** 轮廓虚线数组 */
3585
3648
  outlineDashArray: [number, number]
3649
+ /** 是否显示旋转图标 */
3650
+ showRotateButton: boolean
3586
3651
  /** 文本颜色 */
3587
3652
  textColor: ColorSource
3588
3653
  /** 文本位置 */
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- import{decodeRoomProperties as o}from"./utils/index.js";import{MapApplication as p}from"./application/MapApplication.js";import{AppContext as i,useAppService as t}from"./application/AppService.js";import{MAP_API_METHODS as r,MAP_CALLBACK_METHODS as m}from"./constant/methods.js";export{i as AppContext,r as MAP_API_METHODS,m as MAP_CALLBACK_METHODS,p as MapApplication,o as decodeRoomProperties,t as useAppService};
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};