ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

628/628 菜单接线:PhotoCraft 的 Photoshop 平替成色如何

628/628 菜单接线:PhotoCraft 的 Photoshop 平替成色如何

628/628 菜单接线:PhotoCraft 的 Photoshop 平替成色如何

【免费下载链接】photocraftPhotoCraft: An open-source, photo editor written by scratch in pure Rust项目地址: https://gitcode.com/gh_mirrors/pho/photocraft

628/628 个菜单项全部接线、PSD 重存后 307/309 个语料文件渲染一致——这两个数字都写在 PhotoCraft 的仓库文档里。它凭什么这么说?PhotoCraft 是一个用纯 Rust 从零构建、目标是对齐 Adobe Photoshop 工作流的开源图像编辑器。本文不复述社区话术,只查仓库里的文件,把每个声称拆成可复算的证据。

对标验收框架:哪些维度可以查文件

判断一个开源项目「对标」某商业软件是否成立,不取决于功能清单有多长,而取决于能否在仓库里找到可复算的度量。PhotoCraft 恰好自带这套度量,可先定 4 个维度:

验证维度查什么在哪查
菜单与命令接线率每个菜单项是否分发到真实命令crates/ui-egui/src/menu_catalog.rs、cargo xtask parity生成的 docs/parity-checklist.md
文件兼容通过率PSD 语料重存后的渲染一致率crates/io/tests/it/corpus.rs、scorecard/file_compat.toml
快捷键对齐度默认绑定是否照抄目标软件、失效项是否归零crates/ui-egui/src/input/shortcuts.rs
渲染管线架构合成器如何互验、测试规模docs/architecture.md、ROADMAP.md

下面按两个最硬的维度展开:文件兼容与快捷键。

PSD 兼容:307/309 是怎么测出来的

数字挂在测试断言上。crates/io/tests/it/corpus.rs 里,psd-tools 语料(309 个文件,按xtask/psd-tools-corpus.sha256固定提交)的断言是pass_floor: 249, roundtrip_floor: 308(渲染与往返两道底线);README 宣称「Re-saving keeps the render of 307 of the 309 psd-tools test files」(重存后 307/309 渲染一致)。这意味着数字不是拍脑袋的总结论,而是 CI 每次构建都会跑的回归底线——跌破即失败。

两套数字要分开看。同一个文件里的 io 混合语料(170 个手挑文件)断言为pass_floor: 148, roundtrip_floor: 169,即 169/170 往返一致;而用真实 Photoshop 写出的 258 个 oracle 文件,当前 floor 是 190/258(docs/target-app-parity.md 记录了从 133/256 到 190/258 的爬坡过程)。前者是「自己保存的文件不丢东西」,后者才是「读别人写的文件读得准」——后者才是真短板。

逐字节复现只属于格式层。README 写道:「Only the standalonephotocraft-psdcrate, parsing and writing a file without the document model, reproduces every parseable corpus file byte for byte」(只有不带文档模型的独立格式层 crate,能对每个可解析语料文件做到逐字节复现)。也就是说,带图层模型的完整路径会重写资源与合成图,不承诺字节一致;未建模的原始块选择原样携带而非丢弃。这一层分离让「兼容」二字有了可检验的边界。

快捷键对齐:从菜单目录到 214 个归零的修复项

绑定是查表,不是手抄。crates/ui-egui/src/menu_catalog.rs 第 257 行登记着(&["Layer", "New"], "Layer via Copy", Some("Cmd+J"), "layer.new.layerViaCopy")——菜单路径、显示文本、默认快捷键、命令 ID 四元组,628 项全部在册。crates/ui-egui/src/input/shortcuts.rs 的文件头注释写明「Photoshop defaults from the command registry」(默认快捷键来自命令注册表),Cmd在 macOS 渲染为 ⌘、其他平台映射为 Ctrl。这意味着「⌘J 是拷贝为新图层」不依赖用户记忆,而是代码里的单一事实源。

失效项有审计记录。2026-10-05 首次公开使用后,用户报告了 214 个快捷键失效(docs/target-app-parity.md 的诚实评估一节原文记录了这批问题);ROADMAP.md 的进度日志写着 0.3.0 条目「shortcut audit 214 → 0 failures」。从 214 到 0,两周内的闭环(首提交 2026-09-30,0.3.0 于 2026-10-07 发布),是「对齐」二字最具体的注脚。

接线率本身有天花板。cargo xtask parity测出的 628/628(2026-10-10 基线)只说明「每个菜单项都有命令可分发」,不说明行为正确——README 的 IMPORTANT 框原话:「Every Photoshop menu item is wired to a command, but that measures wiring, not behaviour」(这度量的是接线,不是行为)。这句话是项目自己说的,比任何第三方评测都更值得引用。

缺口清单:项目自己承认的未完成项

  • AI / 生成式能力 —— 明确推迟 ——路线图标注「Deferred by decision (#41)」,就绪度约 10%(docs/gaps.md G15);对需要生成填充的用户,这部分工作流完全无法迁移。
  • PSD 与 Photoshop 互信 —— 部分实现 ——ROADMAP.md 记录「PSDs we write are not yet reliably accepted by Photoshop (#1281, #2469)」,beta 的前置条件就是把 Photoshop-oracle 从 145/258 提到 200+;文件交换仍是专业用户的第一卡点。
  • 性能预算 —— 未达标 ——25 个预算场景中仅 3 个达标,150 图层文档拖动会压垮 GPU 合成路径(scorecard/file_compat.toml 同目录的 performance 基线);复杂排版类 PSD 的卡顿是真实成本。
  • 插件与脚本生态 —— 明确取舍 ——无 .8BF、无 UXP/ExtendScript,用沙箱 WebAssembly 插件替代,就绪度 15%(docs/target-app-parity.md);依赖现成插件资产的用户暂时迁不过去。
  • 文字排版深度 —— 40% ——路径文字刚体放置、无 RTL 段落、macOS 上文字工具有冻结报告(#2518)。

README 的 IMPORTANT 框给出了总纲:「PhotoCraft is in early alpha, and we want to be straight about where it stands: much of Photoshop's feature surface exists in some form, but it is not yet a Photoshop replacement for daily professional work.」(PhotoCraft 处于早期 alpha 阶段,我们想直说它的现状:Photoshop 的大部分功能面以某种形式存在,但它还不是能承担日常专业工作的 Photoshop 替代品。)

想自己验证,最小动作只有两步:git clone https://gitcode.com/gh_mirrors/pho/photocraft,然后cargo xtask corpus --all && cargo xtask parity——语料 sha256 固定,接线率当场复算。下一个值得盯的信号是 ROADMAP 里程碑 1 的 oracle floor:145/258 提到 200+ 那一天,PSD 互信才算过了 beta 门槛。

【免费下载链接】photocraftPhotoCraft: An open-source, photo editor written by scratch in pure Rust项目地址: https://gitcode.com/gh_mirrors/pho/photocraft

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

返回列表