agentsclimarketplace

Miniprogram canvas verify

Skill shuangying0001-beep/miniprogram-canvas-verify

为微信小程序 Canvas 项目提供本地预览+截图视觉验证工作流:启动静态预览服务(:9099,支持任意根目录/端口)、用 Selenium 对预览页执行 JS 并截图、按场景 YAML 做区域裁剪与回归对比。含 8 项 preview.html 验证清单(白屏/线条/居中/即时重绘/导出/色值/控制台/一致性)。触发词:预览 canvas/截图验证/视觉回归/验证渲染效果/小程序 canvas 验证/起预览服务。纯前端+Python 工具链,零业务依赖。From its SKILL.md

Install
npx -y skills add shuangying0001-beep/miniprogram-canvas-verify

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

5.0 KB, ~1.5k tokens by cl100k_base, as published. Nobody here has run it

小程序 Canvas 预览与视觉验证工作流

教备神器 · 工具模块。本地静态服务 + Selenium 截图,零业务依赖。

这是什么(给人看)

小程序 Canvas 改完样式,最怕"盲改"——肉眼看不出格子歪没歪、字偏没偏。本技能给你一套可复现的视觉验证:本地起一个预览服务,Selenium 自动打开预览页、执行你要的 JS(切模板/改参数)、截图,还能按场景把顶部/中部/底部裁出来做回归对比。任何微信小程序 Canvas 项目通用,告别凭感觉。

  • 已附 selftest.py:启动服务并确认资源可访问,PASS 才算工作流可用。

何时使用

  • "起个预览服务看看效果" / "帮我截图验证一下 Canvas"
  • 改了网格/文字/颜色,想确认没歪、没偏、没糊
  • 想做视觉回归(这次截图 vs 上次截图对比)

工作流(AI 必读)

1. 起服务:node preview-server.js <工具目录> [port]   # 默认 9099
2. 浏览器开 http://127.0.0.1:9099/<preview.html>        # Canvas 效果 = 小程序效果
3. 验证脚本:python verify_shot.py --url <url> --script "<JS>" --out ./shots --crop
4. 目检 / 对比 ./shots 下的 整页 + 顶/中/底 裁剪图

核心脚本签名(AI 直接调用)

# 静态预览服务(任意根目录/端口)
node references/preview-server.js [rootDir] [port]

# Selenium 截图 + 区域裁剪
python references/verify_shot.py \
  --url http://127.0.0.1:9099/your-preview.html \
  --script "ztOpenTemplate('pinyin'); ztSetMode('inst');" \
  --wait 5 --crop --out ./shots

preview.html 验证清单(8 项,全部通过才算"验证通过")

#检查项通过标准
1Canvas 正确渲染打开 1 秒内非白屏
2网格线清晰放大 200% 无毛边/锯齿
3文字居中目测在格正中间,不偏
4参数切换即时生效改任一参数 <500ms 重绘
5保存图片正常下载 PNG 1240×1754、无变形
6颜色一致与设计令牌色值一致
7控制台无报错F12 无红错(字体 404 可忽略)
8重复生成一致性同参数连出 3 次完全一致

Canvas 常见坑(自动规避)

正确做法
文字模糊canvas.width = cssW * dprctx.scale(dpr,dpr);先设 ctx.font
文字偏移手动 ctx.textBaseline='middle'
线不直lineWidth 偶数、坐标整数
导出空白绘制前先给 canvas.width/height 赋值

自测

python references/selftest.py   # 启动服务并确认首页/资源可访问,PASS 方可交付

引用文件

  • references/preview-server.js — 静态预览服务(支持 rootDir/port 参数)
  • references/verify_shot.py — Selenium 截图 + 区域裁剪(参数化)
  • references/snap1.yml — 场景配置示例(练字字帖模板结构)
  • references/sample-preview.html — 最小可运行预览页(自测用)
  • references/selftest.py — Python 自测(启动服务 + 资源可访问校验)

注意事项

  • verify_shot.pypip install selenium pillow;无头 Chrome 环境。
  • canvas-grid-engine / svg-to-canvas-replica 配合:本技能负责"看效果",前两者负责"画/复刻"。

教备神器 Canvas 工具链(组合使用)

本技能是「教备神器 · Canvas 工具链」的一环,四件组合覆盖「画 → 复刻 → 导出 → 验证」完整闭环:

  • Canvas 学习纸网格引擎(画):13 种教育网格 + 汉字居中 + 拼音标注,生成米字格/田字格字帖。
  • SVG 转 Canvas 复刻引擎(复刻):把现有纸质模板 SVG 零误差复刻成可改字、可打印的 Canvas。
  • Canvas 多页 PDF 导出(导出):多页 Canvas 一键合成标准 A4 PDF 直接打印。
  • 小程序 Canvas 验证工作流(验证):本地预览 + 截图视觉回归,杜绝格子歪、字偏。

完整方案与演示见「教备神器 Canvas 工具链落地页」(链接发布后回填)。

What ships with it: 8 files

12.9 KB alongside SKILL.md, 3 of them executable

references/

Keep looking

Skills are one crate of 326,452. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.