Skip to content

Releases: QinLuza/dsh-aisketch

v0.3.0 — 渐变、混合、模糊与位图快照

Choose a tag to compare

@QinLuza QinLuza released this 25 Oct 10:55

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 — 手绘卡 / 教学示意图卡

Choose a tag to compare

@QinLuza QinLuza released this 24 Oct 05:39

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