dsh-canvas-workspace 0.2.4-experimental.2 → 0.2.4-experimental.4

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.
package/README.md CHANGED
@@ -8,6 +8,7 @@
8
8
 
9
9
  会话标题下方的原生“对话 / 轨迹”视图栏现可直接选择 **画布**,空间不足时由 DSH 原生“更多会话视图”菜单管理。此入口绑定当前会话并复用原有输入框,切换视图保留草稿、历史和卡片位置,不停止原生会话执行。画布模式隐藏宿主常驻左栏,由左上角小菜单开合浮层侧栏;返回对话后恢复原布局和侧栏宽度偏好。
10
10
 
11
+ - 触屏可直接在回复正文或空白画布上双指缩放、平移,以两指中心保持锚点;抬起一指后可继续平移。单指正文选字、链接、按钮、输入框和可滚动内容保持原生操作。若任一触点始于控件、实际可滚动区域或 IUI 自有交互区,该次手势不接管画布。
11
12
  - 同一 DSH 会话中的原生发送、停止、图片与文件附件、流式回复和历史恢复。
12
13
  - Markdown 与受限 IUI 混排;无效片段保留原文,其余内容继续显示。IUI 图片仅解析明确的 URL 或工作区文件路径。
13
14
  - 原生 `ask_user_question` 的选项和自定义回答也会出现在右侧消息列表,与对应 Agent 回复关联;工具错误或未回答的问题不会伪装成用户消息。
@@ -24,9 +25,15 @@
24
25
 
25
26
  Canvas 只在显示层处理历史和布局,不修改已有 DSH 会话事件。图片通过宿主授权的资源加载接口读取,不从展示文字推测附件。普通发送由原生输入框负责;测试不发送真实模型请求。
26
27
 
28
+ ## DSH 0.2.2 边界兼容
29
+
30
+ 修复新版宿主新增主面板包装层后,画布左侧仍保留原生侧栏轨道而裁切内容的问题。侧栏展开或收起进入画布都使用完整主区域,退出后恢复原来的侧栏状态、宽度和未发送草稿;不通过取消全局 `overflow` 掩盖边界。
31
+
32
+ `node tests/frame-bounds.browser.mjs` 覆盖新旧主区域结构、不同侧栏/右栏宽度,并验证旧选择器会复现空白边界。`node tests/frame-bounds.host.mjs` 使用隔离的真实宿主,覆盖展开、收起、再展开进入与退出画布。可通过 `DSH_TEST_NODE`、`DSH_TEST_CLI`、`CHROMIUM_PATH` 指定测试运行时,不读取个人会话或调用模型。
33
+
27
34
  ## 开发与检查
28
35
 
29
- 要求 Node.js `^22.19.0 || >=24`。当前开发依赖固定为 DSH `0.2.1-rc.3`;声明支持 `0.2.0-rc.2`、`0.2.1-rc.2` 与 `0.2.1-rc.3`,其它版本需单独验证。`0.2.4-experimental.2` 起直接支持 rc.3,安装时不需要版本兼容豁免。
36
+ 要求 Node.js `^22.19.0 || >=24`。当前开发依赖固定为 DSH `0.2.2-rc.1` 与 Cordis `4.1.0`;声明支持 `0.2.0-rc.2`、`0.2.1-rc.2`、`0.2.1-rc.3` 与 `0.2.2-rc.1`,其它版本需单独验证。源码修复版已适配 rc.1 新增的原生图片拖放接口,文件传输仍由宿主负责;旧宿主没有此服务时不阻塞画布加载。注意:该声明针对当前源码构建,不代表旧的 npm `0.2.4-experimental.2` 已包含这些适配。
30
37
 
31
38
  ```bash
32
39
  npm ci
@@ -35,6 +42,7 @@ npm test
35
42
  npm run format:check
36
43
  npm run test:media
37
44
  npm run test:rail
45
+ npm run test:touch
38
46
  node tests/viewport-layout.browser.mjs
39
47
  node tests/layout-stability.browser.mjs
40
48
  npm run build
@@ -42,6 +50,10 @@ npm run build
42
50
 
43
51
  桌面版的 `npm run test:host` 使用已安装的 macOS DSH、全新隔离 profile 和合成历史,覆盖原生画布页签与侧栏恢复。首次运行可用 `npm install --prefix .research/pnpm --ignore-scripts pnpm@11.28.5` 准备局部测试工具;不会改全局 pnpm 或个人 DSH 配置。
44
52
 
53
+ `npm run test:touch` 增加两个画布入口的持续单指拖动回归(每轮 30 个采样、连续 3 轮,并检查松手后无回跳),避免只发送一次 move 漏掉触摸事件可取消性变化。相机移动不再重复渲染未变化的历史 Markdown/IUI 内容;12 条历史回复、60 次移动的 DOM 回归从 720 次正文渲染降为仅初始 12 次。
54
+
55
+ `npm run test:touch` 使用 Chromium CDP 的真实多触点输入,覆盖横屏、竖屏、198×242 小屏及桌面视口,两个画布入口、双指中心缩放/平移、触点增减与替换、原生滚动/控件边界及取消恢复。浏览器已接管的滚动不会再转换为画布手势。本地自动化不等于 iOS Safari 真机验证;本次未做 iPhone、iPad 或 Apple Watch 真机测试。插件只调整页面内画布,不能修改或隐藏 Safari 的系统地址栏、标签栏与工具栏。
56
+
45
57
  `npm run dev` 启动独立 MOCK 演示。浏览器测试使用本地 Vite 页面,不连接用户当前运行中的 DSH;宿主测试脚本另需隔离的官方 DSH 测试环境。`npm run build` 生成宿主插件 `dist/` 与本地演示 `site/`。仓库包含可直接由现有 DSH 插件链接读取的 `dist/`,`site/` 和测试截图、日志不提交。
46
58
 
47
59
  ## DSH 安装与兼容验证
@@ -49,7 +61,7 @@ npm run build
49
61
  可直接安装实验版:
50
62
 
51
63
  ```bash
52
- dsh plugin --profile desktop add dsh-canvas-workspace@0.2.4-experimental.2
64
+ dsh plugin --profile desktop add dsh-canvas-workspace@0.2.4-experimental.3
53
65
  ```
54
66
 
55
67
  也可以使用 `dsh-canvas-workspace@experimental` 获取实验版标签指向的版本。npm 包包含构建后的 `dist/`,安装后重启对应的 DSH profile,无需下载源码或手动构建。