Skip to content

v3.1.0

Latest

Choose a tag to compare

@github-actions github-actions released this 03 Oct 14:27
· 8 commits to main since this release

Phos 3.1.0

品牌改名后的首个发布版本:RawForge 正式以 Phos 之名发布,并修复蒙版控制点拖动时参考线漂移的问题。

安装:下载 Phos-macOS-apple-silicon.zip,用 SHA256.txt 校验后解压,把 Phos.app 拖到 /Applications。
首次启动会被 macOS 拦截(应用未公证)——到「系统设置 → 隐私与安全性」底部点「仍要打开」,或执行:

xattr -dr com.apple.quarantine /Applications/Phos.app

从旧版 RawForge 升级:旧的 .rawforge.json 旁档、Application Support/RawForge/presets.json 预设和导出目录设置都会被继续读取,已有编辑不丢失。


蒙版控制点拖动修复 / Mask handle drag fix

拖动渐变蒙版的控制点时,三条参考线会整体「飘走」。

根因是控制点上报 position + v.translation:而 translation 是从按下那一刻算起的累计位移,
position 又随蒙版更新每帧重算,edit() 再把增量加在当前蒙版上——同一段位移被反复累加。
实测拖 120px 时控制点跑出 240px,鼠标事件越密偏得越多(细粒度下可达 30 倍)。

改为以「按下点 + 按下那一刻的蒙版」为基准(新增 MaskDragSession),每次移动用绝对坐标重算。
线性起/终点、中心移动、旋转柄、径向三手柄一并受益。

蒙版交互 / Mask interaction

  • 选中线性或径向渐变蒙版时自动切到位置调整模式,控制点、参考线与旋转柄立即可见。
  • 清理蒙版叠加层的调试输出,发布版本不再向 stdout 打印诊断信息。

品牌改名 / Rebrand

  • RawForge → Phos:源码目录、应用标识 com.zeno.phos、显示名、可执行文件名、打包产物统一改名。
  • 兼容读取旧 com.zeno.rawforge 设置、.rawforge.json 旁档与旧预设目录。
  • 历史标签与 v3.0.1 及更早的发布记录保持不变,从本版本起使用 Phos 名称发布。

构建与测试 / Build & test

  • build.sh 默认安装到 /Applications/Phos.app;先在暂存目录组装签名再整体替换,
    避免覆盖正在运行的二进制(ETXTBSY);并同步刷新项目内副本。
  • 新增 Tools/MaskDragTest.swift 与 Scripts/test_mask_drag.sh:纯几何回归测试,不需要照片素材。
    判据是「结果不随鼠标事件数漂移」——5 / 61 / 1200 次鼠标事件必须给出同一结果。
  • 修复 CI 构建失败:蒙版参数(Double)与 CGPoint / CGSize(CGFloat)混算时
    cos / sin / atan2 会同时匹配 CoreGraphics 与 _math 两个版本,
    在完整 Xcode SDK 上报 ambiguous use of 'cos'。几何模块内部已统一按 Double 计算,语义不变。

已知限制 / Known limitations

  • 1:1 像素视图未挂载蒙版叠加层,该模式下看不到渐变参考线。
  • 线性蒙版参考线沿法线只延伸画面高度,极宽幅照片下可能画不到边缘。
  • 应用为 ad-hoc 签名,未经 Apple 公证。