@ray-js/robot-map-sdk 0.0.17-beta.2 → 0.0.17-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/bin/mcp-server.js +31 -15
  2. package/dist/constant/methods.js +1 -1
  3. package/dist/index.d.ts +80 -25
  4. package/dist/index.rjs.js +1 -1
  5. package/dist-app/assets/index-BVLfQBTu.js +1 -0
  6. package/dist-app/index.html +1 -1
  7. package/dist-docs/404.html +2 -2
  8. package/dist-docs/assets/{app.BKcB-q3l.js → app.C3BeeaYd.js} +1 -1
  9. package/dist-docs/assets/chunks/@localSearchIndexroot.BMKcHG_i.js +1 -0
  10. package/dist-docs/assets/chunks/{BitmapFont.BVQlrRID.js → BitmapFont.BQzmxL0v.js} +1 -1
  11. package/dist-docs/assets/chunks/{BufferResource.ccuOZM7p.js → BufferResource.CNdzQT3n.js} +1 -1
  12. package/dist-docs/assets/chunks/{CanvasRenderer.BjafRf72.js → CanvasRenderer.BfEovjEl.js} +1 -1
  13. package/dist-docs/assets/chunks/{RenderTargetSystem.CNtSJQIT.js → RenderTargetSystem.BsnW3px2.js} +1 -1
  14. package/dist-docs/assets/chunks/{VPLocalSearchBox.BraJ5EBN.js → VPLocalSearchBox.BV6OAhiI.js} +1 -1
  15. package/dist-docs/assets/chunks/{WebGLRenderer.IUUQ0Lkd.js → WebGLRenderer.BziWi5pK.js} +1 -1
  16. package/dist-docs/assets/chunks/{WebGPURenderer.CLtb2XY4.js → WebGPURenderer.bELKl5QM.js} +1 -1
  17. package/dist-docs/assets/chunks/{browserAll.BeYySQdg.js → browserAll.Cbwmm72I.js} +1 -1
  18. package/dist-docs/assets/chunks/index.CsLbOa5r.js +744 -0
  19. package/dist-docs/assets/chunks/theme.BItp-bTH.js +4 -0
  20. package/dist-docs/assets/chunks/{webworkerAll.Dyo1xVCt.js → webworkerAll.BqQ8oBVT.js} +1 -1
  21. package/dist-docs/assets/{guide_advanced-usage.md.dxD8u9v3.js → guide_advanced-usage.md.BsGRhEuG.js} +12 -9
  22. package/dist-docs/assets/{guide_advanced-usage.md.dxD8u9v3.lean.js → guide_advanced-usage.md.BsGRhEuG.lean.js} +1 -1
  23. package/dist-docs/assets/{guide_getting-started.md.ItwGZAsG.js → guide_getting-started.md.DQIIL6ql.js} +1 -1
  24. package/dist-docs/assets/guide_mcp.md.BYlNOxMG.js +1 -0
  25. package/dist-docs/assets/{guide_mcp.md.CabCiX8Z.lean.js → guide_mcp.md.BYlNOxMG.lean.js} +1 -1
  26. package/dist-docs/assets/{reference_config.md.CXZBV81d.js → reference_config.md.BslTlkKM.js} +4 -4
  27. package/dist-docs/assets/{reference_config.md.CXZBV81d.lean.js → reference_config.md.BslTlkKM.lean.js} +1 -1
  28. package/dist-docs/assets/{reference_data.md.DL6rfzez.js → reference_data.md.jnSR7326.js} +8 -7
  29. package/dist-docs/assets/{reference_data.md.DL6rfzez.lean.js → reference_data.md.jnSR7326.lean.js} +1 -1
  30. package/dist-docs/assets/{reference_methods.md.yWEfqPKf.js → reference_methods.md.Cv8q9vtz.js} +8 -3
  31. package/dist-docs/assets/{reference_methods.md.yWEfqPKf.lean.js → reference_methods.md.Cv8q9vtz.lean.js} +1 -1
  32. package/dist-docs/assets/reference_runtime.md.BFQ83m1B.js +20 -0
  33. package/dist-docs/assets/reference_runtime.md.BFQ83m1B.lean.js +1 -0
  34. package/dist-docs/assets/{reference_types.md.ZQU03iAA.js → reference_types.md.ifmL7IbS.js} +11 -10
  35. package/dist-docs/assets/{reference_types.md.ZQU03iAA.lean.js → reference_types.md.ifmL7IbS.lean.js} +1 -1
  36. package/dist-docs/guide/advanced-usage.html +15 -12
  37. package/dist-docs/guide/concepts.html +3 -3
  38. package/dist-docs/guide/getting-started.html +5 -5
  39. package/dist-docs/guide/mcp.html +5 -5
  40. package/dist-docs/guide/spot-room-binding.html +3 -3
  41. package/dist-docs/hashmap.json +1 -1
  42. package/dist-docs/index.html +3 -3
  43. package/dist-docs/plans/2026-03-04-detected-objects-visibility-design.html +3 -3
  44. package/dist-docs/plans/2026-03-04-show-detected-objects-implementation-plan.html +3 -3
  45. package/dist-docs/plans/2026-03-10-simulator-debug-design.html +3 -3
  46. package/dist-docs/plans/2026-03-10-simulator-events-console-design.html +3 -3
  47. package/dist-docs/plans/2026-03-10-simulator-events-console-implementation-plan.html +3 -3
  48. package/dist-docs/plans/2026-03-10-simulator-runtime-controls-design.html +3 -3
  49. package/dist-docs/plans/2026-03-10-simulator-runtime-controls-implementation-plan.html +3 -3
  50. package/dist-docs/plans/2026-03-10-testing-rollout-next-steps-plan.html +3 -3
  51. package/dist-docs/plans/2026-03-11-simulator-logger-dump-implementation-plan.html +3 -3
  52. package/dist-docs/reference/callbacks.html +3 -3
  53. package/dist-docs/reference/config.html +7 -7
  54. package/dist-docs/reference/data.html +11 -10
  55. package/dist-docs/reference/methods.html +11 -6
  56. package/dist-docs/reference/runtime.html +5 -5
  57. package/dist-docs/reference/types.html +14 -13
  58. package/dist-docs/reference/utils.html +3 -3
  59. package/dist-docs/simulator/index.html +3 -3
  60. package/package.json +1 -1
  61. package/dist-app/assets/index-BK1e_Ra7.js +0 -1
  62. package/dist-docs/adr/0001-threshold-mirrors-virtual-wall.html +0 -25
  63. package/dist-docs/adr/0002-threshold-edit-surface-quad-family.html +0 -25
  64. package/dist-docs/adr/0003-beautify-derived-presentation-geometry.html +0 -25
  65. package/dist-docs/adr/0004-beautify-shells-enclose-never-subtract.html +0 -25
  66. package/dist-docs/agents/domain.html +0 -39
  67. package/dist-docs/agents/issue-tracker.html +0 -25
  68. package/dist-docs/agents/triage-labels.html +0 -25
  69. package/dist-docs/assets/adr_0001-threshold-mirrors-virtual-wall.md.BGtyf9GS.js +0 -1
  70. package/dist-docs/assets/adr_0001-threshold-mirrors-virtual-wall.md.BGtyf9GS.lean.js +0 -1
  71. package/dist-docs/assets/adr_0002-threshold-edit-surface-quad-family.md.BlvHYJT5.js +0 -1
  72. package/dist-docs/assets/adr_0002-threshold-edit-surface-quad-family.md.BlvHYJT5.lean.js +0 -1
  73. package/dist-docs/assets/adr_0003-beautify-derived-presentation-geometry.md.BIaPCTDJ.js +0 -1
  74. package/dist-docs/assets/adr_0003-beautify-derived-presentation-geometry.md.BIaPCTDJ.lean.js +0 -1
  75. package/dist-docs/assets/adr_0004-beautify-shells-enclose-never-subtract.md.PRaaUF5r.js +0 -1
  76. package/dist-docs/assets/adr_0004-beautify-shells-enclose-never-subtract.md.PRaaUF5r.lean.js +0 -1
  77. package/dist-docs/assets/agents_domain.md.CYB9yWEy.js +0 -15
  78. package/dist-docs/assets/agents_domain.md.CYB9yWEy.lean.js +0 -1
  79. package/dist-docs/assets/agents_issue-tracker.md.CrjzmXmc.js +0 -1
  80. package/dist-docs/assets/agents_issue-tracker.md.CrjzmXmc.lean.js +0 -1
  81. package/dist-docs/assets/agents_triage-labels.md.Cmw0b5xB.js +0 -1
  82. package/dist-docs/assets/agents_triage-labels.md.Cmw0b5xB.lean.js +0 -1
  83. package/dist-docs/assets/chunks/@localSearchIndexroot.BiQ_oQbs.js +0 -1
  84. package/dist-docs/assets/chunks/index.vn3lfis1.js +0 -744
  85. package/dist-docs/assets/chunks/theme.CAU4HwNY.js +0 -4
  86. package/dist-docs/assets/guide_mcp.md.CabCiX8Z.js +0 -1
  87. package/dist-docs/assets/reference_runtime.md.BfmrB9c5.js +0 -20
  88. package/dist-docs/assets/reference_runtime.md.BfmrB9c5.lean.js +0 -1
  89. /package/dist-docs/assets/{guide_getting-started.md.ItwGZAsG.lean.js → guide_getting-started.md.DQIIL6ql.lean.js} +0 -0
@@ -1 +0,0 @@
1
- import{_ as e,c as t,o as i,aq as s}from"./chunks/framework.CBLqO2Q1.js";const u=JSON.parse('{"title":"MCP","description":"","frontmatter":{},"headers":[],"relativePath":"guide/mcp.md","filePath":"guide/mcp.md","lastUpdated":1770722482000}'),o={name:"guide/mcp.md"};function l(r,a,n,d,h,p){return i(),t("div",null,[...a[0]||(a[0]=[s('<h1 id="mcp" tabindex="-1">MCP <a class="header-anchor" href="#mcp" aria-label="Permalink to &quot;MCP&quot;">​</a></h1><p>为 AI 助手集成地图分析工具。</p><h2 id="安装-installation" tabindex="-1">安装 (Installation) <a class="header-anchor" href="#安装-installation" aria-label="Permalink to &quot;安装 (Installation)&quot;">​</a></h2><h3 id="cursor-一键安装" tabindex="-1">Cursor (一键安装) <a class="header-anchor" href="#cursor-一键安装" aria-label="Permalink to &quot;Cursor (一键安装)&quot;">​</a></h3><p>Cursor 用户可以通过点击下方按钮直接安装 MCP 服务:</p><p><a href="https://cursor.com/cn/install-mcp?name=ray-robot-map-mcp&amp;config=eyJjb21tYW5kIjoibnB4IC15IC1wIEByYXktanMvcm9ib3QtbWFwLXNkayByb2JvdC1tYXAtYW5hbHl6ZXIifQ%3D%3D" target="_blank" rel="noreferrer"><img src="https://cursor.com/deeplink/mcp-install-dark.svg" alt="安装 MCP 服务"></a></p><h3 id="claude-code" tabindex="-1">Claude Code <a class="header-anchor" href="#claude-code" aria-label="Permalink to &quot;Claude Code&quot;">​</a></h3><p>要在 Claude Code 中添加此服务,请使用 <code>mcp add</code> 指令。建议显式指定 <code>stdio</code> 传输模式:</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">claude</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> mcp</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> add</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --transport</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> stdio</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ray-robot-map-analyzer</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> npx</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -y</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -p</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> @ray-js/robot-map-sdk@latest</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> robot-map-analyzer</span></span></code></pre></div><div class="tip custom-block"><p class="custom-block-title">提示</p><p>如果您希望在所有项目中都能使用该工具(不仅限于当前目录),可以添加 <code>--scope user</code> 参数。</p></div><h3 id="antigravity" tabindex="-1">Antigravity <a class="header-anchor" href="#antigravity" aria-label="Permalink to &quot;Antigravity&quot;">​</a></h3><p>对于 Antigravity 用户,请使用 <code>--add-mcp</code> 指令并传入 JSON 配置:</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">antigravity</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --add-mcp</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;{&quot;name&quot;: &quot;ray-robot-map-analyzer&quot;, &quot;command&quot;: &quot;npx&quot;, &quot;args&quot;: [&quot;-y&quot;, &quot;-p&quot;, &quot;@ray-js/robot-map-sdk@latest&quot;, &quot;robot-map-analyzer&quot;]}&#39;</span></span></code></pre></div><h3 id="环境要求" tabindex="-1">环境要求 <a class="header-anchor" href="#环境要求" aria-label="Permalink to &quot;环境要求&quot;">​</a></h3><ul><li>Node.js &gt;= 16</li><li>网络连接(用于通过 npx 实时获取最新版 npm 包)</li></ul><h2 id="使用-usage" tabindex="-1">使用 (Usage) <a class="header-anchor" href="#使用-usage" aria-label="Permalink to &quot;使用 (Usage)&quot;">​</a></h2><h3 id="最佳实践-best-practices" tabindex="-1">最佳实践 (Best Practices) <a class="header-anchor" href="#最佳实践-best-practices" aria-label="Permalink to &quot;最佳实践 (Best Practices)&quot;">​</a></h3><p>为了获得最稳定的分析体验,建议遵循以下交互模式:</p><h4 id="_1-优先使用文件引用-推荐" tabindex="-1">1. 优先使用文件引用 (推荐) <a class="header-anchor" href="#_1-优先使用文件引用-推荐" aria-label="Permalink to &quot;1. 优先使用文件引用 (推荐)&quot;">​</a></h4><p>当您需要分析复杂的地图或长路径时,<strong>不要直接粘贴 Hex 字符串</strong>。请先将数据存为本地文件,然后在提问时提及该文件。</p><p><strong>操作示例:</strong></p><ol><li>在终端运行:<code>pbpaste &gt; map.hex</code> (将剪贴板内容存入文件)</li><li>向 AI 提问:<em>“请分析一下当前目录下 <code>map.hex</code> 这个文件的地图概况。”</em></li></ol><p>AI 会识别到路径并自动调用工具的 <code>path</code> 参数进行处理,这样可以完全避免因 Hex 字符串过长导致的对话中断。</p><h4 id="_2-常见提问示例" tabindex="-1">2. 常见提问示例 <a class="header-anchor" href="#_2-常见提问示例" aria-label="Permalink to &quot;2. 常见提问示例&quot;">​</a></h4><p>您可以尝试以下提问方式:</p><ul><li><em>“帮我分析一下 <code>map.hex</code> 的概要信息。”</em></li><li><em>“结合 <code>map.hex</code> 和 <code>path.hex</code>,告诉我机器人现在在哪个房间?离充电桩有多远?”</em></li><li><em>“这个地图里有多少个房间?分布状况如何?”</em></li><li><em>“为什么 <code>map.hex</code> 右上角的障碍物有交错重叠的现象?”</em></li><li><em>“分析一下 <code>path.hex</code> 里的清扫路径轨迹。”</em></li></ul><h3 id="大数据处理指引" tabindex="-1">大数据处理指引 <a class="header-anchor" href="#大数据处理指引" aria-label="Permalink to &quot;大数据处理指引&quot;">​</a></h3><p>由于扫地机地图和路径数据(Hex)通常非常庞大,直接在聊天框中粘贴大数据可能导致 AI 响应中断或 Token 溢出。</p><ol><li><strong>存为文件</strong>:建议将 Hex 数据保存为本地文件(如 <code>map.hex</code> 或 <code>path.hex</code>)。</li><li><strong>文件分析</strong>:直接告知 AI 文件绝对路径,它将优先使用工具的 <code>path</code> 参数进行静默读取分析。</li><li><strong>支持 Hex</strong>:对于较小的数据(如 DP 命令),仍可直接粘贴进行分析。</li></ol>',29)])])}const k=e(o,[["render",l]]);export{u as __pageData,k as default};
@@ -1,20 +0,0 @@
1
- import{_ as o,c as i,o as a,aq as s}from"./chunks/framework.CBLqO2Q1.js";const g=JSON.parse('{"title":"运行时配置","description":"","frontmatter":{},"headers":[],"relativePath":"reference/runtime.md","filePath":"reference/runtime.md","lastUpdated":1785228213000}'),t={name:"reference/runtime.md"};function n(l,e,r,d,c,h){return a(),i("div",null,[...e[0]||(e[0]=[s(`<h1 id="运行时配置" tabindex="-1">运行时配置 <a class="header-anchor" href="#运行时配置" aria-label="Permalink to &quot;运行时配置&quot;">​</a></h1><p>了解 RobotMap 的运行时配置项,用于控制地图在运行过程中的动态行为和状态。</p><h2 id="使用示例" tabindex="-1">使用示例 <a class="header-anchor" href="#使用示例" aria-label="Permalink to &quot;使用示例&quot;">​</a></h2><p>运行时配置通过 <code>runtime</code> 传递,所有配置项都是可选的,你可以只覆盖需要修改的部分。</p><div class="language-tsx vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">tsx</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> React </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;react&#39;</span></span>
2
- <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { RobotMap } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;@ray-js/robot-map&#39;</span></span>
3
- <span class="line"></span>
4
- <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">function</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> MapPage</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">() {</span></span>
5
- <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> (</span></span>
6
- <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> &lt;</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">RobotMap</span></span>
7
- <span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> runtime</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">{{</span></span>
8
- <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> showPath: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">true</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
9
- <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> showChargingStation: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">true</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
10
- <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> showRoomName: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">true</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
11
- <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> showRoomProperty: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">true</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
12
- <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> showRoomOrder: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">true</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
13
- <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> showDetectedObjects: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">true</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
14
- <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> enableRoomSelection: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">false</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
15
- <span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> // ... 其他运行时配置</span></span>
16
- <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }}</span></span>
17
- <span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> // ... 其他props</span></span>
18
- <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> /&gt;</span></span>
19
- <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> )</span></span>
20
- <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span></code></pre></div><h2 id="dividingroomid" tabindex="-1">dividingRoomId <a class="header-anchor" href="#dividingroomid" aria-label="Permalink to &quot;dividingRoomId&quot;">​</a></h2><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>-1</code></li></ul><p>正在分割的房间ID。</p><p>你可以通过将 <code>dividingRoomId</code> 设置为 <code>-1</code> 来移除分割线。</p><h2 id="enablebeautify" tabindex="-1">enableBeautify <a class="header-anchor" href="#enablebeautify" aria-label="Permalink to &quot;enableBeautify&quot;">​</a></h2><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>false</code></li></ul><p>是否启用地图美化(Beautify)。结构化与栅格(点云)地图均生效。</p><p>开启后,SDK 把每个房间渲染成规整的直角外壳(Shell):</p><ul><li>外壳用房间色的浅色调填充,并带一圈边框;</li><li>相邻房间自动贴合到同一条墙线,并在共享墙上推断出门口开口;</li><li>形状过于倾斜、不适合直角化的房间保持原样渲染(切到 <a href="/reference/config.html#map-beautify-level"><code>map.beautify.level</code></a> 的 <code>&#39;boxy&#39;</code> 档后,这类房间中的一部分也能拿到外壳)。</li></ul><p>栅格地图上,房间的像素掩膜会先被描成轮廓、再送入同一条美化管线;特殊房间 (如无房间数据区域)以及描环 / 直角化失败的房间保持逐像素原样渲染。</p><p>外壳规整到什么程度由 <a href="/reference/config.html#map-beautify-level"><code>map.beautify.level</code></a> 决定(默认贴身,可切到少边规整的 <code>&#39;boxy&#39;</code>);填充、边框、贴合强度可通过 <a href="/reference/config.html#map-beautify"><code>map.beautify</code></a> 调整。切换开关后会立即重绘,无需等待设备的下一次地图推送。</p><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>美化只改变展示层:房间相邻关系等数据查询、以及所有上报给宿主的坐标,始终基于原始地图数据,不随该开关变化。</p></div><h2 id="enableroomselection" tabindex="-1">enableRoomSelection <a class="header-anchor" href="#enableroomselection" aria-label="Permalink to &quot;enableRoomSelection&quot;">​</a></h2><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>false</code></li></ul><p>是否启用房间选择功能</p><div class="tip custom-block"><p class="custom-block-title">TIP</p><ul><li><strong>当 <code>enableRoomSelection</code> 为 <code>false</code> 时</strong>:房间使用普通展示模式的颜色(对应 <code>room.colors.normal</code>,若未定义则使用 <code>room.colors.active</code>)。</li><li><strong>当 <code>enableRoomSelection</code> 为 <code>true</code> 时</strong>:进入房间选择模式。房间颜色根据是否被选中(是否在 <code>selectRoomIds</code> 中)在 <code>active</code> 和 <code>inactive</code> 之间切换。</li></ul></div><h2 id="enableinteraction" tabindex="-1">enableInteraction <a class="header-anchor" href="#enableinteraction" aria-label="Permalink to &quot;enableInteraction&quot;">​</a></h2><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>false</code></li></ul><p>是否启用交互功能。</p><p>当 <code>enableInteraction</code> 为 <code>false</code> 时,地图不会响应任何交互事件。</p><h2 id="enablemapclickcapture" tabindex="-1">enableMapClickCapture <a class="header-anchor" href="#enablemapclickcapture" aria-label="Permalink to &quot;enableMapClickCapture&quot;">​</a></h2><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>false</code></li></ul><p>是否启用地图点击捕获功能。</p><p>开启地图点击捕获功能后,用户点击地图时会触发 <code>onClickMap</code> 回调。</p><h2 id="editingforbiddensweepzoneids" tabindex="-1">editingForbiddenSweepZoneIds <a class="header-anchor" href="#editingforbiddensweepzoneids" aria-label="Permalink to &quot;editingForbiddenSweepZoneIds&quot;">​</a></h2><ul><li><strong>类型</strong>: <code>string[]</code></li><li><strong>默认值</strong>: <code>[]</code></li></ul><p>正在编辑的禁扫区域ID列表。</p><h2 id="editingforbiddenmopzoneids" tabindex="-1">editingForbiddenMopZoneIds <a class="header-anchor" href="#editingforbiddenmopzoneids" aria-label="Permalink to &quot;editingForbiddenMopZoneIds&quot;">​</a></h2><ul><li><strong>类型</strong>: <code>string[]</code></li><li><strong>默认值</strong>: <code>[]</code></li></ul><p>正在编辑的禁拖区域ID列表。</p><h2 id="editingcleanzoneids" tabindex="-1">editingCleanZoneIds <a class="header-anchor" href="#editingcleanzoneids" aria-label="Permalink to &quot;editingCleanZoneIds&quot;">​</a></h2><ul><li><strong>类型</strong>: <code>string[]</code></li><li><strong>默认值</strong>: <code>[]</code></li></ul><p>正在编辑的清扫区域ID列表。</p><h2 id="editingcustomzoneids" tabindex="-1">editingCustomZoneIds <a class="header-anchor" href="#editingcustomzoneids" aria-label="Permalink to &quot;editingCustomZoneIds&quot;">​</a></h2><ul><li><strong>类型</strong>: <code>Record&lt;string, string[]&gt;</code></li><li><strong>默认值</strong>: <code>{}</code></li></ul><p>正在编辑的自定义区域ID列表,按自定义类型分组。key 为通过 <a href="/reference/config.html#customzonetypes"><code>config.customZoneTypes</code></a> 声明的类型名,value 为该类型下处于编辑态的区域 ID 列表。</p><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>三种内置区域(forbiddenSweepZone / forbiddenMopZone / cleanZone)继续使用各自的 <code>editingForbiddenSweepZoneIds</code> / <code>editingForbiddenMopZoneIds</code> / <code>editingCleanZoneIds</code>,不会出现在这里。</p></div><h2 id="editingvirtualwallids" tabindex="-1">editingVirtualWallIds <a class="header-anchor" href="#editingvirtualwallids" aria-label="Permalink to &quot;editingVirtualWallIds&quot;">​</a></h2><ul><li><strong>类型</strong>: <code>string[]</code></li><li><strong>默认值</strong>: <code>[]</code></li></ul><p>正在编辑的虚拟墙ID列表。</p><h2 id="editingthresholdids" tabindex="-1">editingThresholdIds <a class="header-anchor" href="#editingthresholdids" aria-label="Permalink to &quot;editingThresholdIds&quot;">​</a></h2><ul><li><strong>类型</strong>: <code>string[]</code></li><li><strong>默认值</strong>: <code>[]</code></li></ul><p>正在编辑的门槛ID列表。列入的门槛显示编辑控件 —— 虚线轮廓、尺寸标签(长×高)与四角按钮(删除左上 / 旋转右上 / 缩放右下 / 移动左下,与禁区等四边形元素同一套编辑面):旋转按钮拖拽绕中心连续旋转;缩放按钮拖拽同时改变长与高,两个维度各自被钳制在 <code>minLength</code> / <code>maxLength</code> 与 <code>minHeight</code> / <code>maxHeight</code>(米)区间内,达到临界值即停;移动按钮或直接拖拽条带整体平移(尺寸朝向不变)。拖拽期间手势被门槛独占(地图不会随手指平移缩放),一次操作结束后触发 <a href="/reference/callbacks.html#onupdatethreshold"><code>onUpdateThreshold</code></a>。未列入的门槛不显示编辑控件;点击会触发 <a href="/reference/callbacks.html#onclickthreshold"><code>onClickThreshold</code></a>,宿主可借此实现「点击进入编辑」。只读展示设备识别的门槛时,不把其 id 加入本列表即可。</p><h2 id="editingspotids" tabindex="-1">editingSpotIds <a class="header-anchor" href="#editingspotids" aria-label="Permalink to &quot;editingSpotIds&quot;">​</a></h2><ul><li><strong>类型</strong>: <code>string[]</code></li><li><strong>默认值</strong>: <code>[]</code></li></ul><p>正在编辑的定点清扫ID列表。</p><h2 id="editingroomanchorids" tabindex="-1">editingRoomAnchorIds <a class="header-anchor" href="#editingroomanchorids" aria-label="Permalink to &quot;editingRoomAnchorIds&quot;">​</a></h2><ul><li><strong>类型</strong>: <code>string[]</code></li><li><strong>默认值</strong>: <code>[]</code></li></ul><p>正在编辑的房间锚点ID列表。与 <code>editingSpotIds</code> 相互独立、互不影响:房间锚点仅由本列表驱动编辑态(可拖拽;携带 <code>roomId</code> 时被硬约束在所属房间内)。</p><h2 id="editingwaypointids" tabindex="-1">editingWayPointIds <a class="header-anchor" href="#editingwaypointids" aria-label="Permalink to &quot;editingWayPointIds&quot;">​</a></h2><ul><li><strong>类型</strong>: <code>string[]</code></li><li><strong>默认值</strong>: <code>[]</code></li></ul><p>正在编辑的途径点ID列表。</p><h2 id="editingcarpetids" tabindex="-1">editingCarpetIds <a class="header-anchor" href="#editingcarpetids" aria-label="Permalink to &quot;editingCarpetIds&quot;">​</a></h2><ul><li><strong>类型</strong>: <code>string[]</code></li><li><strong>默认值</strong>: <code>[]</code></li></ul><p>正在编辑的地毯ID列表。</p><h2 id="editingfurnitureids" tabindex="-1">editingFurnitureIds <a class="header-anchor" href="#editingfurnitureids" aria-label="Permalink to &quot;editingFurnitureIds&quot;">​</a></h2><ul><li><strong>类型</strong>: <code>string[]</code></li><li><strong>默认值</strong>: <code>[]</code></li></ul><p>正在编辑的家具ID列表。</p><h2 id="maprotation" tabindex="-1">mapRotation <a class="header-anchor" href="#maprotation" aria-label="Permalink to &quot;mapRotation&quot;">​</a></h2><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>0</code></li><li><strong>单位</strong>: <code>度(°)</code></li></ul><p>地图旋转角度。</p><h2 id="roompropertyfoldids" tabindex="-1">roomPropertyFoldIds <a class="header-anchor" href="#roompropertyfoldids" aria-label="Permalink to &quot;roomPropertyFoldIds&quot;">​</a></h2><ul><li><strong>类型</strong>: <code>number[]</code></li><li><strong>默认值</strong>: <code>[]</code></li></ul><p>处于折叠状态的房间ID列表。</p><h2 id="roomselectionmode" tabindex="-1">roomSelectionMode <a class="header-anchor" href="#roomselectionmode" aria-label="Permalink to &quot;roomSelectionMode&quot;">​</a></h2><ul><li><strong>类型</strong>: <code>&#39;checkmark&#39; | &#39;order&#39;</code></li><li><strong>默认值</strong>: <code>&#39;checkmark&#39;</code></li></ul><p>房间选中的指示方式。</p><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>当 <code>roomSelectionMode</code> 为 <code>&#39;checkmark&#39;</code> 时,房间选中后会显示选择指示器。</p><p>当 <code>roomSelectionMode</code> 为 <code>&#39;order&#39;</code> 时,房间选中后会显示清扫顺序数字。</p></div><h2 id="selectroomids" tabindex="-1">selectRoomIds <a class="header-anchor" href="#selectroomids" aria-label="Permalink to &quot;selectRoomIds&quot;">​</a></h2><ul><li><strong>类型</strong>: <code>number[]</code></li><li><strong>默认值</strong>: <code>[]</code></li></ul><p>选中的房间ID列表。只有当 <code>enableRoomSelection</code> 为 <code>true</code> 时,这个值才会生效。</p><h2 id="selectedcarpetids" tabindex="-1">selectedCarpetIds <a class="header-anchor" href="#selectedcarpetids" aria-label="Permalink to &quot;selectedCarpetIds&quot;">​</a></h2><ul><li><strong>类型</strong>: <code>string[]</code></li><li><strong>默认值</strong>: <code>[]</code></li></ul><p>选中的地毯ID列表。</p><h2 id="showroomproperty" tabindex="-1">showRoomProperty <a class="header-anchor" href="#showroomproperty" aria-label="Permalink to &quot;showRoomProperty&quot;">​</a></h2><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>false</code></li></ul><p>是否显示房间属性。</p><h2 id="showroomorder" tabindex="-1">showRoomOrder <a class="header-anchor" href="#showroomorder" aria-label="Permalink to &quot;showRoomOrder&quot;">​</a></h2><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>true</code></li></ul><p>是否显示房间清扫顺序。</p><h2 id="showroomname" tabindex="-1">showRoomName <a class="header-anchor" href="#showroomname" aria-label="Permalink to &quot;showRoomName&quot;">​</a></h2><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>true</code></li></ul><p>是否显示房间名称。</p><h2 id="showroomtype" tabindex="-1">showRoomType <a class="header-anchor" href="#showroomtype" aria-label="Permalink to &quot;showRoomType&quot;">​</a></h2><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>true</code></li></ul><p>是否显示房间类型图标。</p><h2 id="showpath" tabindex="-1">showPath <a class="header-anchor" href="#showpath" aria-label="Permalink to &quot;showPath&quot;">​</a></h2><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>true</code></li></ul><p>是否显示机器人路径。</p><h2 id="showrobot" tabindex="-1">showRobot <a class="header-anchor" href="#showrobot" aria-label="Permalink to &quot;showRobot&quot;">​</a></h2><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>true</code></li></ul><p>是否显示扫地机器人。</p><h2 id="showchargingstation" tabindex="-1">showChargingStation <a class="header-anchor" href="#showchargingstation" aria-label="Permalink to &quot;showChargingStation&quot;">​</a></h2><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>true</code></li></ul><p>是否显示充电桩。</p><h2 id="showroomfloortype" tabindex="-1">showRoomFloorType <a class="header-anchor" href="#showroomfloortype" aria-label="Permalink to &quot;showRoomFloorType&quot;">​</a></h2><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>true</code></li></ul><p>是否显示房间地板材质。</p><h2 id="showcarpet" tabindex="-1">showCarpet <a class="header-anchor" href="#showcarpet" aria-label="Permalink to &quot;showCarpet&quot;">​</a></h2><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>true</code></li></ul><p>是否显示地毯。</p><h2 id="showdetectedobjects" tabindex="-1">showDetectedObjects <a class="header-anchor" href="#showdetectedobjects" aria-label="Permalink to &quot;showDetectedObjects&quot;">​</a></h2><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>true</code></li></ul><p>是否显示 AI 检测物体。</p><h2 id="showfurnitures" tabindex="-1">showFurnitures <a class="header-anchor" href="#showfurnitures" aria-label="Permalink to &quot;showFurnitures&quot;">​</a></h2><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>true</code></li></ul><p>是否显示家具。</p><h2 id="showcustomcarpets" tabindex="-1">showCustomCarpets <a class="header-anchor" href="#showcustomcarpets" aria-label="Permalink to &quot;showCustomCarpets&quot;">​</a></h2><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>true</code></li></ul><p>是否显示自定义地毯。</p><h2 id="showchargingstationring" tabindex="-1">showChargingStationRing <a class="header-anchor" href="#showchargingstationring" aria-label="Permalink to &quot;showChargingStationRing&quot;">​</a></h2><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>false</code></li></ul><p>是否显示充电桩预警圈。</p><h2 id="showrobotring" tabindex="-1">showRobotRing <a class="header-anchor" href="#showrobotring" aria-label="Permalink to &quot;showRobotRing&quot;">​</a></h2><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>false</code></li></ul><p>是否显示机器人预警圈。</p><h2 id="showrobotsleepanimation" tabindex="-1">showRobotSleepAnimation <a class="header-anchor" href="#showrobotsleepanimation" aria-label="Permalink to &quot;showRobotSleepAnimation&quot;">​</a></h2><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>false</code></li></ul><p>是否显示机器人睡眠动画。</p><h2 id="showrobotpulsecircle" tabindex="-1">showRobotPulseCircle <a class="header-anchor" href="#showrobotpulsecircle" aria-label="Permalink to &quot;showRobotPulseCircle&quot;">​</a></h2><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>false</code></li></ul><p>是否显示机器人脉冲圈(呼吸效果)。</p><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>机器人脉冲圈会在机器人图标下方显示一个呼吸动画效果,可用于充电等状态的视觉提示。</p></div><h2 id="unit" tabindex="-1">unit <a class="header-anchor" href="#unit" aria-label="Permalink to &quot;unit&quot;">​</a></h2><ul><li><strong>类型</strong>: <code>meter | feet | centimeter</code></li><li><strong>默认值</strong>: <code>&#39;meter&#39;</code></li></ul><p>尺寸标签单位。</p><p>尺寸标签的显示会根据这个单位进行转换计算。</p><h2 id="unitlabel" tabindex="-1">unitLabel <a class="header-anchor" href="#unitlabel" aria-label="Permalink to &quot;unitLabel&quot;">​</a></h2><ul><li><strong>类型</strong>: <code>string</code></li><li><strong>默认值</strong>: <code>&#39;m&#39;</code></li></ul><p>尺寸标签单位显示文本。</p>`,135)])])}const u=o(t,[["render",n]]);export{g as __pageData,u as default};
@@ -1 +0,0 @@
1
- import{_ as o,c as i,o as a,aq as s}from"./chunks/framework.CBLqO2Q1.js";const g=JSON.parse('{"title":"运行时配置","description":"","frontmatter":{},"headers":[],"relativePath":"reference/runtime.md","filePath":"reference/runtime.md","lastUpdated":1785228213000}'),t={name:"reference/runtime.md"};function n(l,e,r,d,c,h){return a(),i("div",null,[...e[0]||(e[0]=[s("",135)])])}const u=o(t,[["render",n]]);export{g as __pageData,u as default};