Repository navigation
Releases: QinLuza/dsh-aisketch
Releases · QinLuza/dsh-aisketch
Release list
v0.3.0 — 渐变、混合、模糊与位图快照
0.3.0 — 光与墨成为字段,重卡渲染改一次性快照
新增(show_card → draw)
background:载荷级画布底色(命名色 /#rgb/#rrggbb),画在纸纹之下、墨迹之上。strokeOpacity(path/shape):同一支笔的浓淡,按笔型配方相乘,水洗不受影响。dash扩到path:自由曲线可画虚线;只对描边型笔生效(ball / marker / pencil / highlighter)。- 声明式渐变:
{ type: "linear"|"radial", from/to | stops(2..8), angle, center, radius };CSS 角度约定、两色可用from/to简写;几何由引擎按元素包围盒解析。 blend:multiply/screen/overlay/soft-light,光能叠在物体上;normal像素级不变。blur(0..120):光柱、光晕、雾、景深;blur是可见扩散半径,浏览器与光栅预览都按 σ = blur/2。
性能
draw 卡片改为位图快照(隐藏 SVG → 序列化 → Image → canvas,LRU 缓存 6 张)。同一张 340 条 path 的卡实测:
| 改前 | 改后 | |
|---|---|---|
| 重启后第一次滚动 | 中位 41ms,单帧 407ms | 17ms |
| 放大卡片 | 卡顿 539ms | 最大空档 97ms |
验证
539 例测试全绿、六包 tsc --noEmit 全清;渐变/混合/模糊各有能让测试变红的对照实验;真机读渲染后的 DOM 验证停点、stroke-dasharray、mix-blend-mode、filter 与快照尺寸。
Full changelog: https://github.com/QinLuza/dsh-aisketch/blob/master/CHANGELOG.md
v0.2.0 — 手绘卡 / 教学示意图卡
v0.2.0
首个带 draw 与 figure 的公开版本。
新增
show_card(kind:"draw"):手绘卡,支持 path/shape/text/tape/pixels、七种笔型、离屏预览与自检、draft:true私有草稿。show_card(kind:"figure"):斜面受力、桌面连接体、电子排布轨道(H–Zn)、原子壳层(H–Ca)。- 全卡片放大弹窗;函数图展开 1000×600 画布。
engines.dsh兼容性声明(>=0.1.7-rc.2 <0.2.0)。
质量
- 470 例测试,六个包
tsc --noEmit全清,两个 client 构建通过。 - 13 张真实 DSH 能力截图,见
docs/assets/screenshots/。
提醒
改完 Host 半需重启 dsh;改完 client 半需先重建 lib/client.js 再重启。不要在运行中重建 client 产物。
已知限制
有些卡片会被 dsh 的「回合过程折叠」藏起来,切到「完全展开(verbose)」才能看到;这是 dsh 的显示逻辑,不是插件未渲染。
Full Changelog: https://github.com/QinLuza/dsh-aisketch/blob/master/CHANGELOG.md