docs: 记录图片转 ICO 工作与「只 commit 不 push」约定
This commit is contained in:
parent
a14e162bd1
commit
6ad767f50d
8
.workbuddy/memory/2026-08-31.md
Normal file
8
.workbuddy/memory/2026-08-31.md
Normal file
@ -0,0 +1,8 @@
|
||||
# 2026-08-31 工作日志
|
||||
|
||||
## tool.xpcool.com · 新增「图片转 ICO」工具(e65da3a,已提交未推送)
|
||||
- 新增 `src/utils/ico.ts`:纯前端零依赖实现 ICO 编码——PNG 编码(CRC32/Adler32、自适应行滤波、zlib stored 兜底、调色板位深 1/2/4/8、中位切分量化)、32bpp BMP DIB(bottom-up BGRA + AND 遮罩)、ICO 容器封装;体积控制=编码方式(auto: ≥128 用 PNG)+量化+超限自动降级(先量化→再从大到小删尺寸)。
|
||||
- 新增 `src/views/image-to-ico/ImageToIcoView.vue`:多尺寸勾选/预设/自定义、填充方式(cover/contain/stretch)、编码方式、量化、体积上限、预览网格、ICO+单尺寸 PNG 下载、历史记录。
|
||||
- 注册 `src/router/tools.ts`(path `image-to-ico`,图标 FileImageIcon);更新 README 路由表与特性行。
|
||||
- 验证:vue-tsc 通过;esbuild 打包后 Node 跑 8 项二进制自测全过;Pillow 独立解码 6 尺寸全过;vite build 成功(46s,ImageToIcoView chunk 18.5kB)。
|
||||
- 关键坑:① PNG 位深<8 时滤波行距必须用 raw.length/height 推导,不能用 width×bpp;② ICO 目录项 256 用 0 表示;③ 非交互环境 git push 无凭据会失败,需用户本地推送。
|
||||
9
.workbuddy/memory/2026-09-01.md
Normal file
9
.workbuddy/memory/2026-09-01.md
Normal file
@ -0,0 +1,9 @@
|
||||
# 2026-09-01 工作日志
|
||||
|
||||
## tool.xpcool.com · 图片转 ICO 下载增强
|
||||
- `buildIco` 新增 `singles` 字段:每个尺寸单独封装的 ICO Blob(直接复用合成包内已编码条目数据,只多包 6+16 字节头,零额外编码成本)。
|
||||
- 页面结果区:预览格新增「ICO」按钮(与 PNG 并列)逐尺寸下载;尺寸 >1 时显示「打包下载 ZIP」按钮,用 jszip 打包所有单尺寸 ICO(`{base}_{size}x{size}.ico` → `{base}_ico.zip`)。
|
||||
- vue-tsc 与 vite build 均通过(ImageToIcoView chunk 19.57 kB)。
|
||||
- 坑:托管 node 版本目录由 `22.22.2` 变为 `22.22.2-2`,`~/.workbuddy/binaries/node/bin/pnpm` wrapper 里的硬编码路径失效(exit 127),已修正;后续若再报 "No such file or directory" 先查该 wrapper。
|
||||
|
||||
2026-09-01 | CHG | 图片转 ICO 下载增强(逐尺寸 singles + ZIP 打包),已提交 00013ee;用户约定:以后只 commit 不 push,推送由用户自行完成
|
||||
@ -60,5 +60,5 @@
|
||||
- 本地 pnpm 修复(2026-08-27 升级为 wrapper 方案):根因=本环境 MSYS 路径转换故障,把 `/c/...` 参数转成 `E:\c\...`(多 `E:\c\` 前缀)致 corepack shim 与 node 都找不到 pnpm.js。**已建持久 wrapper**:`~/.workbuddy/binaries/node/bin/pnpm`(内容:`export NODE_OPTIONS=--experimental-sqlite; exec "<托管node.exe>" "C:/Users/ybtdevxxl/.workbuddy/binaries/node/workspace/node_modules/pnpm/bin/pnpm.cjs" "$@"`,关键=给 node 传 Windows 风格路径 `C:/...` 规避 MSYS 转换)。**提交/构建前需 `PATH="~/.workbuddy/binaries/node/bin:$PATH"` 前置**,pre-commit 钩子(lefthook oxlint/oxfmt/eslint/stylelint/checkType)即可正常运行;否则钩子崩 → 只能 --no-verify。已验证 pnpm 11.16.0 + `pnpm exec oxlint` 1.79.0。
|
||||
|
||||
## 日常同步习惯(建议)
|
||||
- 每次工作结束:在各改动项目 `git add + commit + push`,本工作空间同样提交(规则/日志变化时)。
|
||||
- 每次工作结束:在各改动项目 `git add + commit`,本工作空间同样提交(规则/日志变化时)。**只 commit、不要 push**(2026-09-01 用户明确:推送由用户自行完成,AI 无需代为 push,避免凭据交互失败)。
|
||||
- 换设备开工前:先 `git pull` 各仓库,保证规则与记录最新。
|
||||
|
||||
Loading…
Reference in New Issue
Block a user