dsh-plugin-beyond-simulator 2.0.11 → 2.1.1

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.
@@ -50,9 +50,9 @@ GIA 不保存脚本挂载关系;交付时单列需要在千星沙箱建立或
50
50
 
51
51
  | 配置项 | 含义 |
52
52
  |---|---|
53
- | 工作区脚本目录 `workspaceDir` | 本项目在工作区内的相对目录,例如 `workspace/my-game` |
54
- | 实机导入根目录 `clientImportRoot` | 当前账号/关卡实际的 `external_lua_file/default_import_file` 绝对路径 |
55
- | 实机对应子目录 `clientSubdir` | 保留导入后脚本映射的相对路径,通常与工作区项目目录对应 |
53
+ | 项目脚本文件夹 `workspaceDir` | 本项目在工作区内的相对目录,例如 `workspace/my-game` |
54
+ | 千星沙箱脚本文件夹 `clientImportRoot` | 当前账号/关卡实际的 `external_lua_file/default_import_file` 绝对路径 |
55
+ | 游戏里的项目子文件夹 `clientSubdir` | 保留导入后脚本映射的相对路径,通常与工作区项目目录对应 |
56
56
 
57
57
  例如源码 `workspace/my-game/src/view.lua`,配置工作区目录和实机子目录均为 `workspace/my-game`,目标就是 `<实机导入根目录>/workspace/my-game/src/view.lua`。保留目录层级,不按文件名平铺;变更路径后核对真实编辑器的映射是否仍指向它。
58
58
 
@@ -64,7 +64,7 @@ AI 可调用当前可用的 `qxqy_script_sync` 的 `discover/status/configure/pr
64
64
 
65
65
  1. **对齐当前版本。** 先核对索引变更、工作区源码、存档内联源码及已知的实机手改。非空白内联 `source` 优先,否则读取 `path`;不能只改磁盘文件后默认同步的是新内容。发现实机独有修改先比较并合并回项目,有真实冲突再请用户判断。
66
66
  2. **保存并准备差异。** 完成引用修复和已核验变更的确认,保存完整存档,再预览每个脚本的来源、目标和新增/覆盖内容。AI 报告“已准备更新”,不能在复制前说“已同步到真机”。
67
- 3. **用户确认复制。** 当前工具只向 AI 开放配置与预览。请用户在 Web/DSH 编辑器“Lua 脚本 → 实机脚本同步”执行“保存存档并检查差异”,选择文件并点击“确认复制”。MCP 与 Web 各有会话:先在 Web `/editor` 加载 AI 保存的同一存档,再重新预览;只读预览页不能执行复制,MCP 的预览计划不能跨进程使用。AI 不调用人工复制端点或用 shell、目录联接绕过本次确认。
67
+ 3. **用户确认复制。** 当前工具只向 AI 开放配置与预览。请用户在 Web/DSH 编辑器“Lua 脚本 → 实机脚本同步”执行“保存存档并查看更新”,选择文件并点击“确认复制”。MCP 与 Web 各有会话:先在 Web `/editor` 加载 AI 保存的同一存档,再重新预览;只读预览页不能执行复制,MCP 的预览计划不能跨进程使用。AI 不调用人工复制端点或用 shell、目录联接绕过本次确认。
68
68
  4. **核对结果再试玩。** 记录实际复制回执中的成功/失败和备份位置。只同步存档登记的 Lua 脚本(含未挂载的 require 模块),不是整个目录镜像;新增脚本仍须在真实编辑器建立映射和必要挂载,UI/模板结构变更另按实际情况重新交付资产。用户在千星沙箱保存并试玩,才能验证是否加载本轮源码。
69
69
 
70
70
  用户选择手动更新时,提供本次改动文件和准确目标路径,提醒保留实机已有修改;手改后将最终版本同步回项目,以免下一轮被旧存档覆盖。复制到磁盘、编辑器保存/重新加载、真机验证分别记录,不承诺“绑定一次以后自动生效”。
@@ -89,6 +89,8 @@ qxqy_studio_play { "action": "view", "args": { "playerIndex": 2 } } ← 切
89
89
 
90
90
  **AI 必须把索引变更与 Lua 引用同步作为同一项修复完成:**
91
91
 
92
+ 用户从编辑器「复制提示词给 AI」后,先按任务里的存档路径重新加载磁盘文件;Web/MCP 不共享内存,不能沿用另一进程的旧快照。按提示词读取顶层 `controlGuidChanges` 的全部新旧映射和 `assets.scripts`,再依以下步骤语义核对。共享 Host 的 `previewControlGuidSync` / `syncControlGuidReferences` 是会连非索引内容一起修改的全量文本替换,仅在用户明确选择这种方式时使用。边界及备份见 [Lua 索引同步](../studio/docs/control-guid-sync.md)。AI 完成后,用户通过「AI 已处理,重新载入存档」回到编辑器。
93
+
92
94
  1. 先 `get` 读取当前控件资产、全部脚本和 `controlGuidChanges`;需要查看另一类资产时,用 `selectAsset` 的 `assetType` 切换后再读取。变更记录按时间排列,含 `id`、`controlAsset`、`controlId`、`controlName`、`oldGuid`、`newGuid`;用资产和内部控件身份确认目标。连续变更应沿记录追到该控件的最终索引,不能逐条盲替换数字。
93
95
  2. 检查全部相关脚本的索引引用,包括直接调用、常量、配置表、别名和 `prefabIndex` 身份校验,按语义修改为最终索引。`game.InstantiateClientUIControl` 的首参是模板索引;`game.GetClientUIControl` 的参数与控件 `Id` 是运行时实例 ID,不能当作模板索引替换。图片 ID、脚本映射 ID、同级顺序和无关数值也不能随之改动。
94
96
  3. 同步存档 `scripts[].source` 与对应的工作区 `.lua` 源文件。试玩优先使用非空 `source`,仅当它为空时读取 `path`;只改外部文件可能仍会运行旧源码。路径脚本没有内联内容时保持该存储方式,但必须检查实际文件。找不到相关源码或无法判定引用时,保留未处理记录并说明缺项。
@@ -171,7 +173,7 @@ play 动作:`start`(重建运行时;可带 `canvasId` 指定设备画布
171
173
 
172
174
  常用 patch op:`select`(id)、`pick`(x/y 命中)、`setCanvas`(canvasId)、`addScript` / `updateScript` / `removeScript`(脚本由存档统一管理;服务端容器会被拒绝)、`setServerLogic`(规则定义)、`newAsset`(assetType)、`addTemplate`、`add`(parentId/kind/name)、`reparent`、`moveSibling`(direction=up/down)、`remove`、`set`(id/key/value)、`setControlGuid`(id/guid,改当前资产的客户端控件索引)、`acknowledgeControlGuidChanges`(changeIds,核验 Lua 同步后清理指定变更记录)、`replace`(project)。数据写操作必须带 `expectedRevision`。
173
175
 
174
- `set` 常用 key:变换类 `posX/posY/width/height`、`rotationZ`、`anchorType`、`anchorMinX/Y`、`anchorMaxX/Y`、`pivotX/Y`;业务类 `text`、`fontSize`、`imageId`、`enableMask`、`enableFill`、`fillType`、`fillAmount`(0–1)、按钮四状态 `unavailableChildId/hoverChildId/pressedChildId/selectedChildId`、`syncAllDevices`;颜色接受 `#AARRGGBB`。以上是常用子集,未列出的字段不要猜——`set` 对不认识的 key 会直接报错,以报错为准。
176
+ `set` 常用 key:变换类 `posX/posY/width/height`、`rotationX/rotationY/rotationZ`(度)、`anchorType`、`anchorMinX/Y`、`anchorMaxX/Y`、`pivotX/Y`;业务类 `text`、`fontSize`、`imageId`、`enableMask`、`enableFill`、`fillType`、`fillAmount`(0–1)、按钮四状态 `unavailableChildId/hoverChildId/pressedChildId/selectedChildId`、`syncAllDevices`;颜色接受 `#AARRGGBB`。X/Y 支持正交压缩与背面镜像;混合轴及嵌套倾转为模拟器策略,范围见 `studio/docs/control-support.md`。以上是常用子集,未列出的字段不要猜——`set` 对不认识的 key 会直接报错,以报错为准。
175
177
 
176
178
  脚本 `require` 使用导入根:脚本映射路径去掉 `.lua` 后,前面加 `default_import_file/`。例如映射路径为 `workspace/flappy-fish/draws.lua` 时,写:`local ok, mod = pcall(require, "default_import_file/workspace/flappy-fish/draws")`。裸路径只为旧存档兼容,新脚本一律使用该前缀。
177
179
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dsh-plugin-beyond-simulator",
3
- "version": "2.0.11",
3
+ "version": "2.1.1",
4
4
  "description": "千星奇域客户端 UI 编辑与试玩模拟器 for DeepSeek Harness",
5
5
  "type": "module",
6
6
  "packageManager": "pnpm@10.15.0",