拼布图纸计算器 (Patchwork Calculator)
Overview
为手作人生成一个零依赖的单文件 HTML 拼布计算器:输入格子数与成品尺寸、缝份,自动算出每片裁片尺寸、总片数与双色布料清单,并用棋盘格示意图预览。适用于杯垫、抱枕、拼布被等网格类布艺规划。设计遵循"古法裁缝的眼,现代设计师的手"——干净、治愈、适合手工艺者。
本技能在 SkillHUB 上以 PAYSKILL(付费技能) 形式提供,调用遵循支付宝 AI 按量付费契约(见文末「支付宝付费改造契约」)。其产物仍是纯静态单文件 HTML,可离线免费使用;平台侧的按次付费仅发生在 SkillHUB 调用入口,由平台调度层与支付宝完成收付款,本地不接触支付密钥与资金。
When to Use
- 用户想做"拼布 / quilting / 杯垫 / 抱枕 计算器 / 图纸 / 布料裁片 / 缝份 计算"类工具。
- 用户要一个可一键分享、无需安装、适合手作人审美的马赛克网格规划器。
- 触发词:拼布、杯垫、抱枕、拼布图纸、布料裁片、缝份、patchwork、quilt calculator、mosaic grid。
Bundled Resources
assets/patchwork-calculator.html— 已通过 RY 边界测试的可交付成品(2.0):含语音输入、横纵格子数 / 成品边长 / 缝份参数、棋盘格配色、自动缩放网格(20×20 一屏装下)、30 格上限拦截、布料清单与一键复制。直接复制交付,或作为二次开发的基线。references/ry-boundary.md— RY 决策三角(宽度 / 深度 / 高度)作为本技能的边界测试标准,以及拼布计算器的设计规格与配色规范。任何改动或新建变体前先对照它自检。
Workflow
- 确认需求边界:用 RY 三角做"宽度"自检,确认不遗漏关键项(见下)。
- 若用户要"直接给我一个能用的":优先复制
assets/patchwork-calculator.html到目标目录并交付;如实说明语音需 Chrome / Edge + 麦克风权限、且沙箱无法渲染验证视觉效果。 - 若需定制(配色、参数、文案、导出 PNG 等):以该 HTML 为基线修改,保持零依赖、单文件。
- 交付前按"RY 边界测试"逐条核对,确认通过再输出终稿。
RY 边界测试(交付前必过)
本技能的所有产出必须 demonstrably 满足以下三角,任一不满足则不打出终稿:
- 宽度 (Width) — 找全:需求项不得遗漏。必含:语音 / 文本输入;横向格子数、纵向格子数、每格成品边长 (cm)、缝份宽度 (默认 1cm);棋盘格配色;网格预览(带序号与配色);单裁片尺寸 = 成品边长 + 2×缝份;总片数 = 横 × 纵;双色布料清单(各多少片、每片尺寸);治愈系视觉。自然语言例句(如"边长 30cm 的杯垫,6×6 方格,蓝白配色")应能自动识别格子数与尺寸并套用配色。
- 深度 (Depth) — 适度即止:单文件 HTML 已能完整交付,禁止为"更完美"引入框架 / 构建工具 / 外部依赖 / CDN。格子上限 30 的弹窗拦截与自动缩放已足够,不做过度工程;用户未明确要求时,不主动加导出 / 登录 / 后端。
- 高度 (Height) — 长期视角:站在用户"将自己产品化"的高度——此工具服务于手工博主的内容矩阵(杯垫 / 抱枕 / 拼布教程),因此保持零依赖、可一键分享、符合手作人审美、文案亲切。避免做出只有开发者能用的冷硬界面。
Design Notes
- 配色内置四套:青花蓝白、黛蓝月白(中国传统色)、马卡龙粉绿、莫兰迪雾蓝米白。
- 自动缩放:画布按
min(容器可用宽, 视口高 × 0.62, 460px)锁定正方形,字号随格数自适应(8–14px),15 格以上间距收至 2px;窗口 resize 防抖重排。 - 数值格式化:整数去小数,非整数保留 1 位。
- 30 格上限:横或纵任一超过 30 即弹窗拦截并阻止生成(文案见成品)。
- 双色计数:棋盘格起始色
ceil(总数/2),另一色为剩余。
支付宝付费改造契约(PAYSKILL)
本技能为付费技能(PAYSKILL)。调用遵循支付宝 AI 生意画像契约,由平台调度层执行 probe → pay → complete → ack 流程:
- probe(探测):平台调用前先探测是否已持有本技能的支付宝有效订阅 / 付费凭证。已付费则直接放行。
- 402 Payment-Needed:未付费时,脚本向标准输出返回 HTTP 状态
402与Payment-Needed标记,提示用户通过支付宝完成付费(pay),平台据此唤起付费页。 - complete(扣费确认):用户在支付宝完成扣费后,平台下发
Payment-Proof(付费凭证)。 - ack(验签放行):平台携带
Payment-Proof重试本次调用;scripts/payment_gate.py验签该凭证,确认有效后放行主流程。
订阅持久化与幂等:
- 付费状态缓存在本地
.pay_cache/state.json,避免每次调用重复付费(订阅持久化)。 - 同一
Payment-Proof在 24h 幂等窗口内仅生效一次,避免重复扣费。
现金流改造后的调用套路:
用户调用 → 平台 probe →
未付费:下发 402 Payment-Needed → 支付宝 pay → complete → 下发 Payment-Proof
已付费/携带 Proof:脚本 ack 验签 → 放行主流程
> 本契约由 SkillHUB 平台调度层解析,脚本本地仅处理 402 / 验签 / 持久化 三环节;付费本体交给支付宝。scripts/payment_gate.py 负责执行上述 probe / 402 / ack 与幂等持久化,真实签名与扣费校验由平台支付宝侧完成。