Repository navigation
Releases: gopkg-dev/psdkit
Releases · gopkg-dev/psdkit
Release list
v0.3.0 · 版本更新
v0.3.0
psdkit 是用于读取、编辑和合成 PSD/PSB 的 Go 库,提供浏览器 WebAssembly 演示。
本版重点
本版继续扩展受控编辑与实时来源重绘,让声明范围内的 Warp、文字、滤镜及图层效果在编辑后更新像素,并支持保存、重新打开和继续编辑。
- Warp 控制点编辑:新增
SetSmartObjectWarp,支持已有 4×4 单片及已认证的 10×10/13×13 均匀网格;保留共享来源、其他实例与原生结构,均匀网格使用显式数学投影。 - Warp 预设参数与来源重绘:新增
SetSmartObjectWarpPreset,编辑已有横向 Arc Lower 的 bend;已认证的 4×2、仿射、零透视及无折叠范围接入整图、ROI、Tile、分块访问和单实例来源重绘。每次均需显式开启ApproximateCustomWarp,零 bend 也不例外。 - 文字自动更新像素:
SetTextContent可通过Render、调用方提供的字体及明确选择的文字近似策略自动生成源像素;保留准确Pixels输入方式。自动模式限 RGB8、明确 72ppi、单样式水平点文字及现有排版算法范围。 - 来源替换与滤镜联动:替换智能对象共享来源时,按各实例当前投影、滤镜参数及滤镜蒙版重新计算,近似策略逐次显式提供。
- 实时智能对象与效果组合:扩展智能对象实时来源上的阴影与颜色叠加;补齐已校准矩形矢量羽化、双蒙版与阴影组合,覆盖编辑、保存重开及继续编辑。
- 独立画板与默认覆盖蒙版:独立画板读取实际智能对象来源,保留各画板背景与裁剪;无采样默认覆盖像素蒙版可叠加矢量蒙版,并保持整图、区域和分块语义一致。
- 文档与交付记录:同步 Go API、浏览器桥接、能力矩阵和任务面板,将安装示例固定到本版,保留
v0.2.0的历史交付证据。
使用范围与升级说明
- 需要 Go 1.27.3 或更新版本,核心库只依赖标准库,许可仍为 MIT。
TextEditOptions.Render、SmartContentsOptions.SmartFilters等选项新增字段;升级时使用带字段名的结构体初始化,原有准确Pixels输入方式仍保留。- 新编辑接口保持原子提交;不支持的结构、预算不足、取消或并发编辑冲突不会提交部分参数或像素。
- 外链和字体必须由调用方显式提供;编辑策略、实时重绘策略及保存预览策略分别选择,近似不会自动继承或开启。
- Arc Lower 仅覆盖已声明的预设与几何;预设来源替换、不规则网格、任意 quilt、透视网格及统一原生像素精度仍不支持。
- PSD/PSB 四种压缩的保存重开、JSON 桥接、预算和失败路径均有回归测试。各项能力的完整边界以此 Tag 的能力矩阵和 API 注释为准。
安装
需要 Go 1.27.3 或更新版本。
go get github.com/gopkg-dev/psdkit@v0.3.0本次更新
新增功能
- psd:扩展 Warp 编辑、文字自动重绘与来源效果组合(765292c)
文档与示例
- 更新 v0.3.0 发布说明、支持矩阵与安装指南(3f3dff9)
验证
- Linux、macOS、Windows:Go 测试、竞态检测和 vet。
- golangci-lint、格式检查、浏览器 SDK 测试、Wasm/Playground 构建与仓库检查。
- 独立 Go 项目经
proxy.golang.org下载此版本并通过校验和验证,不使用本地 replace。 - 实际运行 PSD/PSB 创建、保存重开、重复原位保存、图层组合成与像素检查。
文档与支持范围
- 使用文档 · 在线 Playground
- 此版本能力矩阵与已知限制
- v0.x 的公共 API 仍可能调整。
- 不支持的特性和显式近似以此版本能力矩阵为准。
- MIT 许可。作为 Go 库发布,源码归档由 GitHub 提供,无需单独下载平台二进制。
v0.2.0 · 版本更新
v0.2.0
psdkit 是用于读取、编辑和合成 PSD/PSB 的 Go 库,提供浏览器 WebAssembly 演示。
本版重点
本版扩展受控编辑与保存工作流,并同步 Go API、浏览器桥接、能力矩阵和开发任务面板。
- 混合与蒙版编辑:新增混合模式、剪贴、Blend If 和高级混合设置接口;支持像素蒙版新增、删除和属性编辑,以及矢量蒙版的有限生命周期编辑。
- 智能对象来源与变换:读取当前来源原字节,扩展 PNG/JPEG 与扁平 RGB8 TIFF 内容处理;TIFF 支持 LZW、Deflate 与 Predictor 2。在无活动 Warp 的受支持实例上修改四角变换,保留共享来源及其他实例。
- 自动更新预览:受支持的智能滤镜参数编辑可直接从当前来源重绘;现有顶层 RGB8 画板的子层编辑可自动合成并保存,无需额外提供预览图。
- 蒙版与图层效果组合:补齐无羽化矢量/双蒙版的颜色叠加,以及显式阴影近似下的纯阴影和阴影+颜色叠加,覆盖保存、重开与继续编辑。
- 渲染与格式修复:完善调整图层参数保存、纯 Master Lightness、渐变恒定分量、单像素图案及禁用蒙版/效果处理;补充通道、蒙版和 TIFF 读取回归测试。
- 文档与进度:更新使用指南和能力矩阵,新增可搜索、按状态和优先级筛选的任务面板;验收证据与后续计划分别展示。
使用范围与升级说明
- 仍需 Go 1.27.3 或更新版本,核心库只依赖标准库。
- 新接口与自动预览均有明确的文档位深、图层类型、来源格式和组合限制;不支持的情况返回错误,或要求调用方提供准确像素。
- 阴影、Warp、文字与部分滤镜的近似仍需显式开启。此次扩展不表示任意 Photoshop 文档、任意 Warp 或全部高级效果都已支持。
- 新增能力已覆盖最小回归、编辑保存重开、预算和失败路径测试;完整支持边界以此 Tag 中的能力矩阵与 API 文档为准。
安装
需要 Go 1.27.3 或更新版本。
go get github.com/gopkg-dev/psdkit@v0.2.0本次更新
自动化与发布
- release:推送版本 Tag 自动检查、验证引用并发布中文说明(7f63d06)
问题修复
- psd:修复四处读取解析差异并补充回归测试(3db7fdb)
新增功能
- psd:扩展蒙版、智能对象与自动合成保存(70f6a98)
文档与示例
- 更新能力矩阵、开发任务面板与 v0.2.0 发布说明(dd482b7)
验证
- Linux、macOS、Windows:Go 测试、竞态检测和 vet。
- golangci-lint、格式检查、浏览器 SDK 测试、Wasm/Playground 构建与仓库检查。
- 独立 Go 项目经
proxy.golang.org下载此版本并通过校验和验证,不使用本地 replace。 - 实际运行 PSD/PSB 创建、保存重开、重复原位保存、图层组合成与像素检查。
文档与支持范围
- 使用文档 · 在线 Playground
- 此版本能力矩阵与已知限制
- v0.x 的公共 API 仍可能调整。
- 不支持的特性和显式近似以此版本能力矩阵为准。
- MIT 许可。作为 Go 库发布,源码归档由 GitHub 提供,无需单独下载平台二进制。
v0.1.0 · 首个公开版本
psdkit 的首个公开版本:用同一份纯 Go 实现读取、受控编辑、保存和渲染 Photoshop PSD/PSB,并在浏览器中通过 WebAssembly 运行。
需要 Go 1.27.3+,核心库仅依赖标准库,采用 MIT 许可。此为早期 v0.x 版本,公共 API 与支持范围仍可能调整。
安装
go get github.com/gopkg-dev/psdkit@v0.1.0import "github.com/gopkg-dev/psdkit"本版能力
- PSD/PSB 索引与按需读取:读取图层、资源、通道和 Descriptor;保留未知块、原始区间和原位深数据。
- 可编辑保存:新建 PSD/PSB,编辑图层名称、显隐、不透明度、像素和层级;尽量保留未修改数据,支持重复保存及 Windows 原位替换。
- RGB8 合成:在声明的支持范围内处理图层组、混合、剪贴和蒙版;提供独立图层组合成
CompositeGroup、区域输出、预算与取消控制。原生 Go 支持有界分块并行,浏览器保持单 Worker。 - 智能对象与模板套图:读取嵌入来源,替换共享智能对象内容,保留原放置与蒙版;自定义 Warp 数学近似需显式开启。
- 文字、矢量、色彩与高位深入口:提供字体、矢量、渐变、图案、效果、ICC 及受限 16/32 位处理能力,各自遵循能力矩阵中的边界。
- 浏览器 SDK 与 Playground:本机导入文件、查看图层、调用 Go 入口、编辑和下载结果;首页演示两款真实上衣印花、上传替换及有界缓存。
已知边界
- 读取结构、可编辑保存、读取文件内保存预览和实时重绘是不同能力;不承诺任意文档与 Photoshop 逐像素一致。
- 超出支持范围时返回明确错误;近似策略默认关闭,不会静默降位或伪造预览。
- 完整高位深混合、高级文字排版、任意 Warp 预设及全部效果/滤镜组合尚未覆盖。
- 字体须由调用方提供;外链通过调用方显式映射解析,不自动访问 PSD 内的系统路径或任意 URL。
- 大型演示素材独立维护,私有测试语料和原生验收记录不随核心模块分发。
完整范围见 v0.1.0 能力清单 与 在线能力矩阵。
发布验证
- 基线提交:
2425474。 - 跨平台 CI:Linux、macOS、Windows 的 Go 竞态测试与 vet,以及 golangci-lint、浏览器 SDK 测试和构建全部通过。
- 通过仓库外的独立 Go 项目从公共模块代理安装
v0.1.0,校验依赖版本且不使用本地replace,验证 PSD/PSB 新建、图层编辑、整图与图层组合成、保存、重开和重复同路径保存。
文档与演示
本版本以 Go 模块及 GitHub 自动生成的源码归档分发,不要求下载平台二进制或大型素材才能引用核心库。