@javascribe/pindoupic 0.1.0 → 0.2.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.
package/README.md ADDED
@@ -0,0 +1,125 @@
1
+ # @javascribe/pindoupic
2
+
3
+ 把任意图片转成可照着拼的**拼豆图纸**:带色号格子、网格、行列编号和材料清单的 PNG / PDF,外加各色号用量统计。
4
+ 生成引擎与 [pindoupic.com](https://www.pindoupic.com) 网页版同一套算法,跑在你自己的机器上。
5
+
6
+ ```bash
7
+ npx -y -p @javascribe/pindoupic pindoupic --image ./cat.png --width 52 --type cartoon --colors
8
+ ```
9
+
10
+ ## 数据都在包里,服务器挂了也能出图
11
+
12
+ | 数据 | 来源 |
13
+ |------|------|
14
+ | 9 套色板(MARD 24/48/72/96/120/221/264/291、COCO 291) | 随包内联,构建时打进 bundle |
15
+ | 8 种图片类型预设参数 | 随包内联 |
16
+ | 渲染参数(格子像素、色号填充比例) | **可选**读取 `https://pindoupic.com/api/v1/config`;3 秒内取不到就用包内固化值 |
17
+
18
+ - 你的图片**只在本机处理,不上传**到任何地方。
19
+ - 想彻底关掉那条可选通道:`PINDOUPIC_API=http://127.0.0.1:1/api/v1`(拉不到即用包内值,结果一致)。
20
+ - 实测三态对照:在线 / 桩接口下发 / 服务不可达,三条链路的色号用量表逐项全等;下发参数确实改变画幅与豆点大小(`scripts/verify-cli-data-0927.cjs` 固化了这套判据)。
21
+
22
+ ## 命令行
23
+
24
+ ```
25
+ pindoupic --image <path> [options]
26
+
27
+ 图片选项:
28
+ -i, --image <path> 输入图片路径 (必填)
29
+ -w, --width <n> 图纸宽度/格数 (默认 50, 范围 10-150)
30
+ -p, --palette <b/s> 色板 品牌/型号 (默认 MARD/120)
31
+ -t, --type <id> cartoon, watercolor, illustration, lineart, photo, pixelart, logo, miniapp_fast
32
+ --resize-mode <mode> smooth|nearest (默认 smooth)
33
+ --simplify-colors 精简稀有色号 (默认不精简)
34
+
35
+ 导出选项:
36
+ --format <fmt> png|pdf (默认 png)
37
+ -o, --output <path> 输出路径 (默认 <输入>_bead.png)
38
+ --bead-shape <shape> circle|square (默认 square)
39
+ --cell-size <px> 格子像素大小 (默认 50)
40
+ --keep-bg 保留白色背景 (默认透明)
41
+
42
+ 显示选项 (默认全部显示):
43
+ --no-color-codes / --no-grid / --no-rulers / --no-materials
44
+
45
+ 其他:
46
+ -c, --colors 输出各颜色用量统计 (stdout)
47
+ -h, --help 帮助(会列出全部可用色板与预设)
48
+ ```
49
+
50
+ 进度与结果写在 **stderr**,色号统计表写在 **stdout**,脚本解析时按此分流。
51
+
52
+ 示例:
53
+
54
+ ```bash
55
+ # 杯垫大小、圆豆预览、要 PDF 打印版
56
+ npx -y -p @javascribe/pindoupic pindoupic \
57
+ --image cat.png --width 52 --type cartoon --palette MARD/291 \
58
+ --bead-shape circle --colors --output cat_bead.png
59
+ ```
60
+
61
+ ## 给 AI Agent:MCP Server
62
+
63
+ `tools/list` 实测三个工具:`generate_bead_pattern`、`list_palettes`、`list_image_types`。
64
+
65
+ ```json
66
+ {
67
+ "mcpServers": {
68
+ "pindoupic": {
69
+ "command": "npx",
70
+ "args": ["-y", "-p", "@javascribe/pindoupic", "pindoupic-mcp"]
71
+ }
72
+ }
73
+ }
74
+ ```
75
+
76
+ `generate_bead_pattern` 入参(本机文件优先用 `image_path`):
77
+
78
+ ```json
79
+ { "image_path": "/abs/path/cat.png", "width": 52, "palette_sub": "291", "image_type": "cartoon" }
80
+ ```
81
+
82
+ 返回 JSON 含 `width`/`height`/`total_beads`/`colors_used`/`color_stats`,以及 `png_data_url`(base64,可直接落盘)和 `png_file`(本机临时文件路径)。
83
+
84
+ ## 给 AI Agent:Agent Skill 也随包发布
85
+
86
+ 装好包后,`skill/` 目录就在安装路径里——那是教 Agent 怎么选参数、怎么交付结果的操作手册(SKILL.md + 色板/预设对照表):
87
+
88
+ ```bash
89
+ # Claude Code(全局技能目录)
90
+ cp -r node_modules/@javascribe/pindoupic/skill/pindoupic-bead-pattern ~/.claude/skills/
91
+
92
+ # Qoder / 其他宿主(当前项目技能目录)
93
+ cp -r node_modules/@javascribe/pindoupic/skill/pindoupic-bead-pattern .ai/skills/
94
+ ```
95
+
96
+ 没有仓库访问权限的 Agent 也能拿到这份手册:`npm view @javascribe/pindoupic dist.tarball` 取地址后解包,或直接 `npm i @javascribe/pindoupic` 再看上面那条 `cp`。
97
+
98
+ ## 选参数
99
+
100
+ | 场景 | 建议 |
101
+ |------|------|
102
+ | 杯垫 / 钥匙扣 | `--width 32`~`52` |
103
+ | 头像 / 装饰画 | `--width 60`~`100` |
104
+ | 大幅作品 | `--width 100`~`150` |
105
+ | 颜色太多想省钱 | 加 `--simplify-colors` |
106
+ | 像素画 / 游戏角色 | `--type pixelart --resize-mode nearest` |
107
+ | 黑白线稿、简笔画 | `--type lineart` |
108
+ | 真人照片 | `--type photo` |
109
+
110
+ ## 限制
111
+
112
+ - 只接受**图片**输入。想把文字做成图纸,用网页版免费的「文字转图纸」:https://www.pindoupic.com/text-to-bead-pattern
113
+ - 新增色板/预设随包发布更新;请求包里没有的色板会直接报错并列出可用清单,不会静默换色板。
114
+
115
+ ## 排错
116
+
117
+ | 现象 | 处理 |
118
+ |------|------|
119
+ | `npx` 下载失败 / sharp 装不上 | 网络或镜像问题,重试或挂代理 |
120
+ | `色板 X/Y 不在本包内` | 按错误里列出的清单换型号,或升级本包版本 |
121
+ | 想确认参数有没有生效 | `--cell-size` 显式指定即覆盖后台下发值 |
122
+
123
+ ## 许可
124
+
125
+ MIT。品牌与算法版权归 pindoupic.com。