dsh-motion-ui 0.6.0 → 0.7.0

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 (42) hide show
  1. package/CHANGELOG.md +66 -0
  2. package/README.md +37 -1
  3. package/VERIFICATION.md +36 -0
  4. package/client.js +1856 -984
  5. package/examples/mechanism-assembly.json +50 -0
  6. package/examples/mechanism-crank.json +103 -0
  7. package/examples/mechanism-gears.json +103 -0
  8. package/index.js +115 -104
  9. package/lib/assets/standalone-runtime.js +3 -1
  10. package/lib/assets/visual.js +3 -1
  11. package/lib/author-expression.js +3 -2
  12. package/lib/authoring-guide.js +2 -1
  13. package/lib/build-info.js +1 -1
  14. package/lib/catalog.js +4 -4
  15. package/lib/components.js +2 -2
  16. package/lib/export-runtime-bundle.js +1 -1
  17. package/lib/expressive-examples.js +6 -0
  18. package/lib/fence-feedback.js +1 -1
  19. package/lib/freeform.js +4 -3
  20. package/lib/mechanism-catalog.js +24 -0
  21. package/lib/mechanism-css.js +13 -0
  22. package/lib/mechanism-entry.js +20 -0
  23. package/lib/mechanism-geometry.js +62 -0
  24. package/lib/mechanism-render.js +24 -0
  25. package/lib/mechanism-runtime-bundle.js +2 -0
  26. package/lib/mechanism-scenes.js +20 -0
  27. package/lib/motion-library.js +18 -0
  28. package/lib/normalize-authoring.js +6 -2
  29. package/lib/protocol.js +23 -8
  30. package/lib/sandbox.js +2 -0
  31. package/lib/style-system.js +28 -0
  32. package/lib/third-party/anatomy-LICENSE.txt +21 -0
  33. package/lib/third-party/anatomy-NOTICE.md +13 -0
  34. package/lib/third-party/anatomy-iso.mjs +674 -0
  35. package/lib/third-party/lucian-uxui-LICENSE.txt +21 -0
  36. package/lib/third-party/lucian-uxui-NOTICE.md +1 -0
  37. package/lib/tool-schema.js +5 -5
  38. package/lib/ui-intent.js +1 -1
  39. package/lib/ui-skill.js +3 -2
  40. package/lib/visual-styles.js +134 -22
  41. package/package.json +92 -92
  42. package/skills/intelligent-ui/SKILL.md +113 -100
package/CHANGELOG.md CHANGED
@@ -1,5 +1,47 @@
1
1
  # DSH Motion UI
2
2
 
3
+ ## 0.7.0 — 2026-10-13
4
+
5
+ 这次更新让 Motion UI 从统一配色的组件集合,进一步扩展为有不同排版语言、真实交互反馈和机制图解能力的对话界面插件。日常说明仍可轻量交付;内部结构、工作原理和机械运动可以直接生成可调整的图解。
6
+
7
+ ### 六种风格拥有各自的排版语言
8
+
9
+ - 重做清爽阅读、柔和彩色、技术图解、活力展示、明亮扁平的构图、文字层级、分组、表面和控件外观,新增柔光渐彩。默认继续使用明亮扁平,已有风格配置保持兼容。
10
+ - 风格同时覆盖原生文字、卡片、指标、表单、流程、表格、复制块和相关画布示例。
11
+ - 设置中提供文字说明、双列对比、分隔列表、数据摘要、控件表单、流程图解六类预览,方便比较。预览采用实际组件样式,保持只读。
12
+ - 视觉风格仅作用于引导模式;自由模式继续由模型自主设计。
13
+
14
+ ### 全局交互与动效
15
+
16
+ - 分段选择支持方向键、Home/End;滑块按实际数值填充,并改善步进、开关、复制与按钮反馈。
17
+ - 动效覆盖各风格和自由模式的相关原生控件,反馈节奏适配风格。精确读数即时更新,图形与装饰可以平滑过渡。
18
+ - 增加按需动态案例和设置页本地交互演示。尊重减少动态效果、只读状态与实际操作结果,不模拟下载进度或工具成功。
19
+ - 切换风格保留参数和输入焦点;原生标题与文档标题相同时避免重复展示。
20
+
21
+ ### 结构拆解、工作原理与机械动画
22
+
23
+ - 新增 `render_mechanism` 快捷工具:以少量参数直接交付分层装配、齿轮传动或曲柄连杆,插件生成图形、控件与共享状态绑定,减少模型复制长源码带来的失败。
24
+ - 支持部件/分组选择、拆解进度、隐藏外壳,以及转速、齿数、曲柄半径、手动角度、播放和暂停。
25
+ - 齿轮转速与中心距、连杆位置与行程由同源运动学计算,图形和实时读数保持一致。
26
+ - 自定义画布可显式启用 `libraries:["mechanism"]`,组合 box、cylinder、gear、rod、spring,并使用局部姿态更新与运动计算函数。
27
+ - 提供精简模型指引和按需目录;静态轮廓可先预览,整轮回复完成、参数恢复后启用交互。支持状态保存、减少动态效果、离屏挂起和独立 HTML 导出。
28
+
29
+ ### 计算与易用性修复
30
+
31
+ - 支持 `ceil` / `floor`,改善奇数人数订房等常见计算;图表和表格支持行内响应式公式单元格。
32
+ - 二维表格行可按明确列定义无损适配,改善复杂表达式的重复预算计算与错误定位。
33
+ - 明确提示缺失版本、节点和控件等问题,保留普通文字回退及原有源码大小、权限和隔离边界。
34
+
35
+ ### 验证与适用范围
36
+
37
+ - 117 项单元/集成测试、23 组构建及浏览器回归;覆盖 PC 深浅主题、窄宽度、键盘、状态恢复、只读渐进预览、隔离与离线导出。
38
+ - MiniMax M3.1 Flash Preview 在测试工作区完成自然齿轮提问和曲柄连杆两组实测,均零工具报错;单组小样本不代表所有模型的成功率。
39
+ - 机制库使用 Anatomy 的 MIT 投影与轮廓数学,保留固定版本、来源和许可证;场景、状态桥接、渲染与交互为 Motion UI 的集成实现。相关交互参考同样保留 MIT 声明。
40
+ - 机制图解提供教学几何与运动学;简化齿形、按层/深度排序和隐藏外壳不构成制造精度、碰撞/受力验证或任意实体剖切。动画瞬时相位可在刷新后重置,声明的用户参数仍保存。
41
+
42
+ 安装/更新:DSH 首页 → 插件,添加 `dsh-motion-ui`。现有安装请卸载后重新安装新版;DSH 当前插件安装流程尚不提供自动更新。
43
+
44
+
3
45
  ## 0.6.0 — 2026-10-12
4
46
 
5
47
  这次更新让 Motion UI 更适合日常对话:简短说明可以快速排版,复杂内容可以组合图表、表单和图解;所选风格也会覆盖原生组件,让 HTML 画布内外更统一。
@@ -101,3 +143,27 @@ First public release for DeepSeek Harness Web 0.2.0-rc.2.
101
143
  Validation: 54 automated tests, 11 release checks, and natural-completion DeepSeek V4.1 Flash Fast trials. Model-authored typography and contrast still vary; diagram precision and generated program correctness require review. Standalone export excludes surrounding native UI controls. External libraries/resources and direct host access are unavailable in canvases. Desktop compatibility is not claimed.
102
144
 
103
145
  Development migration: uninstall `dsh-generative-ui` before installing `dsh-motion-ui`. Legacy storage, tool result metadata and route identifiers remain compatible; configure design/display modes again in the new plugin entry.
146
+
147
+ ### 未发布:依据本地案例校正(2026-10-13)
148
+ - 柔光渐彩改为暖白实色表面,重点渐变留给控件;移除不必要的磁吸禁止指导。
149
+ - 主按钮渐变从图标圆点扩散,文字上下滚动、轻磁吸;数字输入提供增减按钮、指标滚动强调;开关可拖拽并拉伸回弹。
150
+ - 增加三个原生按需案例和动态画布示例,保留真实行为与 MIT 来源声明。
151
+
152
+
153
+ ### 本地开发修正:动效与风格解耦
154
+
155
+ 原生按钮的磁吸/填充/文字换位、开关拖拽回弹、数字步进和指标更新反馈适用于所有风格;自由模式保留原生交互反馈且不注入视觉风格。柔光渐彩统一文字层级、卡片、指标、表单、表格、流程与复制块外观。五类风格预览移除额外演示按钮,直接展示布局材质。默认仍为明亮扁平,本次不发布或增加版本号。
156
+
157
+
158
+ ### 本地开发:计算器首次交付修复
159
+
160
+ 针对会话 d696983a 的七次失败:明确缺失 document.nodes/version 和嵌套 children 的路径,图表错误给出行号、缺失字段及已有列;新增安全原生 ceil/floor;chart/table 支持内联 ref/expr 公式单元格,避免短构成图使用复杂 map。更新工具 Schema、Skill 与协议参考,静态 data 仍为字面数据,不猜测或补造金额。默认 4620 元、1..12 人奇偶房间数、动态图表和刷新恢复加入回归。不增加版本号、不发布。
161
+
162
+ 进一步实测修正:重复表达式按不同结构计入静态复杂度,运行步数/深度限制保留;已声明且唯一的字符串列键支持等宽二维表格,按列顺序无损转换。真实模型第一份失败文档加入回归,可一次通过并保留项目名、规则和动态金额。
163
+
164
+
165
+ ### 本地开发:视觉风格系统重构
166
+
167
+ 六种稳定风格 ID 和明亮扁平默认值保留。新增构图、文字层级、表面、控件、反例的统一风格语法;原生文字/卡片/指标/表单/流程/表格/复制块与扩展卡片/指标有独立形态。所有风格保留共享交互动效,反馈幅度/节奏适配语言,减少动态效果仍优先。设置提供六种布局预览(含控件表单),直接复用生产组件 CSS,预览不包含可操作控件。相同内容的深浅主题、黑白对照、显式文字样式优先、输入焦点及数值保留加入回归。自由模式不注入这些风格。当前保持 0.6.0,本轮不发布。
168
+
169
+ 模型实测补充:六种风格均实际交付;部分调用发生格式错误后由模型修正,记录不计为一次成功。进一步提示模型沿用风格默认字号/颜色,并在首个 heading 与文档标题完全相同时仅显示一个标题,保留显式文字样式和源文档。
package/README.md CHANGED
@@ -4,7 +4,11 @@
4
4
 
5
5
  Interactive, declarative tool views for **DeepSeek Harness Web 0.2.0-rc.2**.
6
6
 
7
- The plugin adds `render_text` (quick native typography), `render_ui` (validated components), `render_canvas` (HTML/SVG), and `ui_catalog` (protocol + examples). It saves per-document input state on the Host and sends explicit follow-up requests with the current parameter snapshot.
7
+ The plugin adds `render_text` (quick native typography), `render_ui` (validated components), `render_canvas` (HTML/SVG), `render_mechanism` (compact assembly/kinematics scenes), and `ui_catalog` (protocol + examples). It saves per-document input state on the Host and sends explicit follow-up requests with the current parameter snapshot.
8
+
9
+ ### v0.7.0:风格、交互与机制图解
10
+
11
+ 六种风格拥有各自的构图与组件形态,设置提供六类真实样式预览;原生交互反馈全局增强。新增 `render_mechanism`,无需生成长篇绘图源码即可交付装配拆解、齿轮传动和曲柄连杆。保留现有文档协议、默认明亮扁平风格、自由模式和参数保存。详细更新见 [CHANGELOG.md](CHANGELOG.md)。
8
12
 
9
13
  ### 扩展可视化(v0.6.0)
10
14
 
@@ -279,3 +283,35 @@ Run `npm test`, `npm run build`, and `npm run check` before packing. Browser smo
279
283
  `render_text` 支持 `{type:"text",title:"文案",text:"正文",copyable:true}` 和 `{type:"code",lang:"bash",code:"git status"}`。文本按需显示复制按钮,代码默认显示;按钮位于右上角,复制后反馈成功或失败。代码保留原始缩进与换行,默认长行横向滚动,可设 `wrap:true` 换行。扩展组件也支持同样的复制面板(文本使用 `content`)。
280
284
 
281
285
  引导模式的视觉风格会同步应用于原生卡片、指标、控件和可复制内容块,也会注入模型风格提示及案例。切换风格即时更新原生外观和侧栏副本,不修改已生成 HTML 的源码,不改变输入值或计算。自由模式关闭这层风格覆盖。
286
+
287
+ ### 动态交互与柔光渐彩(v0.7.0)
288
+
289
+ 新增「柔光渐彩」可选风格:浅色渐彩背景、实色圆润卡片、深色胶囊按钮与柔和阴影,无玻璃材质。设置中提供六种布局预览与本地交互演示,不改变现有明亮扁平默认值。
290
+
291
+ 原生 select 可设置 `variant:"segmented"`,适合 2..8 个短选项,其他情况自动回退下拉框。滑块值填充、开关、复制反馈与关联进度提供短促过渡;精确数值即时更新,减少动态效果和只读预览不播放交互动画。`ui_catalog({topic:"motion"})` 返回简短目录,加 `scene:"plan"/"checklist"/"copy"/"plot"` 只取一个完整示例。示例数据需替换为真实任务数据,不能将演示动画当作实际操作结果。
292
+
293
+
294
+ ### 本地开发修正:动效与风格解耦
295
+
296
+ 原生按钮的磁吸/填充/文字换位、开关拖拽回弹、数字步进和指标更新反馈适用于所有风格;自由模式保留原生交互反馈且不注入视觉风格。柔光渐彩统一文字层级、卡片、指标、表单、表格、流程与复制块外观。五类风格预览移除额外演示按钮,直接展示布局材质。默认仍为明亮扁平,本次不发布或增加版本号。
297
+
298
+
299
+ ### 本地开发:视觉风格系统重构
300
+
301
+ 六种稳定风格 ID 和明亮扁平默认值保留。新增构图、文字层级、表面、控件、反例的统一风格语法;原生文字/卡片/指标/表单/流程/表格/复制块与扩展卡片/指标有独立形态。所有风格保留共享交互动效,反馈幅度/节奏适配语言,减少动态效果仍优先。设置提供六种布局预览(含控件表单),直接复用生产组件 CSS,预览不包含可操作控件。相同内容的深浅主题、黑白对照、显式文字样式优先、输入焦点及数值保留加入回归。自由模式不注入这些风格。这些改进随 v0.7.0 发布。
302
+
303
+ ### 结构拆解、工作原理与机械动画(v0.7.0)
304
+
305
+ 常见场景直接调用 `render_mechanism({scene:"assembly"|"gears"|"crank",title?,rpm?,teeth?,radius?,running?,angle?,explode?})`,插件生成图形、控件和参数绑定,无需模型复制绘图源码。其他结构可按需读取 `ui_catalog({topic:"mechanism",scene:"assembly"|"gears"|"crank"})`,获取精简调用与自定义接口。三个原创案例分别覆盖分层装配、齿轮传动、曲柄连杆;用户可以选择部件、调整拆解进度、隐藏外壳、改变转速/齿数/曲柄半径、暂停和手动调角度。六种引导风格继续生效,自由模式仍可自行设计。
306
+
307
+ 例如,下面这一小次工具调用会同时生成齿轮图、参数控件和实时读数:
308
+
309
+ ```js
310
+ render_mechanism({scene:"gears", rpm:20, teeth:32})
311
+ ```
312
+
313
+ 画布显式声明 `libraries:["mechanism"]` 后,隔离框架内才会启用本地 `DSHUI.mechanism`。可用 box/cylinder/gear/rod/spring 组合自己的结构,使用 mount/pose/update 驱动图形;gearPair、sliderCrank 提供同源数值和运动。无需模型重复生成整套 SVG 引擎。普通画布不注入该辅助库;现有源码限制、共享状态验证、网络隔离、减少动态效果和离线导出保持适用。静态轮廓先预览,回复完成并恢复参数后启用完整立体图解。
314
+
315
+ 这是教学几何与运动学:简化齿形不能用于加工,隐藏盖板不是任意实体剖切,按层与深度排序不构成精确遮挡/碰撞审计。瞬时动画相位不持久化,用户参数仍保存。
316
+
317
+ 投影和轮廓数学参考并使用 [Anatomy](https://github.com/wheresryan22/anatomy) 的 MIT 代码(固定版本及许可证见 `lib/third-party/anatomy-NOTICE.md`)。插件的状态桥接、机制案例、渲染与交互逻辑为本项目实现,没有引入完整上游工作流或其 3D 引擎。
package/VERIFICATION.md CHANGED
@@ -1,3 +1,14 @@
1
+ # v0.7.0 发布验证(2026-10-13)
2
+
3
+ 本次整合风格系统、全局交互、计算易用性和 Anatomy 机制图解。构建 0.7.0+6adc22f63978。
4
+
5
+ - 发布构建通过117项单元/集成测试与23组构建/浏览器回归,命令:npm run verify:release(Windows测试环境提供DSH_PLAYWRIGHT路径)。
6
+ - 打包检查194个文件,包含新工具、机制库、三个完整案例及相关MIT许可证;排除node_modules、test-output与测试私有日志。
7
+ - 在干净目录通过npm安装本地tarball,DSH 0.2.0-rc.2所需peer依赖完整,Host入口可导入,48齿/30rpm机制的初始值与−10rpm计算正确。
8
+ - 通过Desktop自身的Electron载体与官方dsh-desktop-host CLI,在隔离Desktop profile完成同一tarball安装,退出码0并重读安装清单。
9
+ - 功能开发阶段已在真实Desktop/Web核验194个文件、前后端构建一致、机制参数/行程联动与恢复;M3.1 Flash两组实测零工具报错。版本化发布包将在发布后再次核验registry完整性、官方安装、重启与实际运行时。
10
+ - 下文保留此前开发过程与历史验证,不将历史的单次成功、未发布构建或中途报错当成本次最终发布状态。
11
+
1
12
  # v0.6.0 发布验证(2026-10-12)
2
13
 
3
14
  本次正式发布汇总此前 0.5.6 本地开发批次的功能。下面的未发布说明与构建号均为历史记录;当前发布验证以 test-output/v060-release-verification.log 及正式安装核验为准。
@@ -279,3 +290,28 @@ All selected High effort. These single-run wall times include provider response,
279
290
 
280
291
  ### 引导风格覆盖原生组件
281
292
  五种风格逐一检查原生指标卡背景、控件配色、PC 明暗主题、横向溢出与切换自由模式后还原;共享状态和链接行为保留。证据:test-output/native-style-verification.json、native-style-prismframe-light.png。
293
+
294
+ ### 动态交互与柔光渐彩(0.6.0 本地开发,未发布)
295
+ 新增第六种可选风格,保留明亮扁平默认值;设置选择/持久化、五种布局比较和自由模式不注入新风格均验证。原生分段选择键盘方向键/Home/End、快速输入后的精确 derived/进度、超过八项回退下拉框、独立文档参数与刷新恢复、减少动态效果、预览禁用控件及 PC 明暗主题均由 tests/verify-motion.mjs 验证。证据:test-output/motion-verification.json、motion-aurora-light.png、motion-aurora-dark.png。
296
+
297
+ ### 2026-10-13 本地参考案例校正
298
+ 13 个用户提供的 HTML 按静止、悬停、操作中、结束状态审阅,结果在 test-output/reference-motion/review.json。新增原生主按钮渐变扩散/文字滚动/磁吸、数字步进、可拖拽弹性开关、指标滚动强调和真实状态动态画布案例;tests/verify-motion.mjs 覆盖拖拽与 Space 切换、实际链接打开、步进/精确数值/刷新恢复、画布持久化与减少动态效果。原始素材未改动,MIT 来源保留于 lib/third-party/lucian-uxui-*。
299
+
300
+
301
+ ## 全局动效与完整风格回归
302
+
303
+ 新增六种风格与自由模式的原生控件覆盖、不同动效配色、切换时输入焦点及数值保留、逐风格 reduced motion 验证。验证结果见 test-output/global-style-regression-final.log。
304
+
305
+
306
+ ### 本地开发:计算器首次交付修复
307
+
308
+ 针对会话 d696983a 的七次失败:明确缺失 document.nodes/version 和嵌套 children 的路径,图表错误给出行号、缺失字段及已有列;新增安全原生 ceil/floor;chart/table 支持内联 ref/expr 公式单元格,避免短构成图使用复杂 map。更新工具 Schema、Skill 与协议参考,静态 data 仍为字面数据,不猜测或补造金额。默认 4620 元、1..12 人奇偶房间数、动态图表和刷新恢复加入回归。不增加版本号、不发布。
309
+
310
+ 进一步实测修正:重复表达式按不同结构计入静态复杂度,运行步数/深度限制保留;已声明且唯一的字符串列键支持等宽二维表格,按列顺序无损转换。真实模型第一份失败文档加入回归,可一次通过并保留项目名、规则和动态金额。
311
+
312
+
313
+ ### 本地开发:视觉风格系统重构
314
+
315
+ 六种稳定风格 ID 和明亮扁平默认值保留。新增构图、文字层级、表面、控件、反例的统一风格语法;原生文字/卡片/指标/表单/流程/表格/复制块与扩展卡片/指标有独立形态。所有风格保留共享交互动效,反馈幅度/节奏适配语言,减少动态效果仍优先。设置提供六种布局预览(含控件表单),直接复用生产组件 CSS,预览不包含可操作控件。相同内容的深浅主题、黑白对照、显式文字样式优先、输入焦点及数值保留加入回归。自由模式不注入这些风格。当前保持 0.6.0,本轮不发布。
316
+
317
+ 模型实测补充:六种风格均实际交付;部分调用发生格式错误后由模型修正,记录不计为一次成功。进一步提示模型沿用风格默认字号/颜色,并在首个 heading 与文档标题完全相同时仅显示一个标题,保留显式文字样式和源文档。