Record signed 1.2.0 install, launcher exit QA, locked template and public-repository gateway limitation
这个提交包含在:
1 父节点
696d5f39b3
当前提交
5ac0e5833c
11 个文件已更改
+163
-4
没有与搜索条件相匹配的文件
+3
@@ -37,3 +37,6 @@ venv/
|
||||
|
||||
# Local reference binaries stay outside source history
|
||||
reference-binaries/
|
||||
|
||||
# Reviewed signed release installer (intentional distribution artifact)
|
||||
!releases/1.2.0/*.pkg
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
## 使用
|
||||
|
||||
正式安装路径为 `/Library/Plug-Ins/FxPlug/beatygril.app`。Motion 滤镜分类为「大鱼」,滤镜名「大鱼人像美化」。Final Cut Pro 在「效果 → 大鱼 → 大鱼人像美化」中使用配套 Motion 效果,模板目录必须同时保留 `.moef` 与 `Drop Zone.tiff`。美化会随当前帧的人脸自动更新,不需要点击分析。界面以磨皮、美白、瘦脸三张卡片呈现,默认跟随主要人脸;多人模式对多脸变形。单项眼睛可暂时停用并保留数值,右侧箭头恢复默认;磨皮半径、饱和度、锐化和整体混合等收在「更多设置」。旧手动分析与调试参数仅保留隐藏兼容,实际输出统一使用实时自动跟随。
|
||||
正式安装路径为 `/Library/Plug-Ins/FxPlug/beatygril.app`。Motion 滤镜分类为「大鱼」,滤镜名「大鱼人像美化」。Final Cut Pro 在「效果 → 大鱼磨皮瘦脸 → 大鱼人像美化」中使用配套 Motion 效果,模板目录必须同时保留 `.moef` 与 `Drop Zone.tiff`。美化会随当前帧的人脸自动更新,不需要点击分析。界面以磨皮、美白、瘦脸三张卡片呈现,默认跟随主要人脸;多人模式对多脸变形。单项眼睛可暂时停用并保留数值,右侧箭头恢复默认;磨皮半径、饱和度、锐化和整体混合等收在「更多设置」。旧手动分析与调试参数仅保留隐藏兼容,实际输出统一使用实时自动跟随。
|
||||
|
||||
## 开发和恢复
|
||||
|
||||
@@ -21,7 +21,7 @@ xcodebuild -project beatygril/beatygril.xcodeproj -scheme 'Wrapper Application'
|
||||
|
||||
工程从 `/Library/Developer/SDKs/FxPlug.sdk` 读取头文件与链接信息,从 `/Library/Developer/Frameworks` 嵌入可运行的 Apple 框架。构建默认使用团队 B3W25FX5H5 的 Developer ID Application 身份;正式交付使用 `python3 scripts/deliver.py` 完成公证、粘附和安装;安装前先关闭 Motion 与 FCP,脚本在检测到宿主仍运行时保留原安装版并停止。原生验收完成后继续脚本的清理阶段,清除临时注册与 APP 副本。
|
||||
|
||||
私有源码仓库:`https://dayu.media/git/dayu/paintfcp-fxplug.git`。恢复入口见 [RECOVERY.md](RECOVERY.md),当前验证记录见 [验证记录](docs/验证记录.md)。原始模板保存在 `baseline-20261021` 标签。
|
||||
源码仓库:`https://dayu.media/git/dayu/paintfcp-fxplug.git`。恢复入口见 [RECOVERY.md](RECOVERY.md),当前验证记录见 [验证记录](docs/验证记录.md)。原始模板保存在 `baseline-20261021` 标签。
|
||||
|
||||
## 1.0.5 瘦脸修复
|
||||
|
||||
@@ -50,3 +50,11 @@ xcodebuild -project beatygril/beatygril.xcodeproj -scheme 'Wrapper Application'
|
||||
面板改为先在真实视图的宿主 action 内取得读写接口,修复控件一直禁用的问题。短脸改用76点下半脸闭合区域和鼻梁位移轴,下颌骨改为六组相邻轮廓半径的局部位移,移除旧脸框近似场;详见[分析](docs/analysis/短脸与下颌骨分析.md)。其余五项脸型仍保留近似实现,不能将局部算法恢复视为全部效果逐像素一致。
|
||||
|
||||
1551项回归通过,含335项宿主适配、98项OSC和157项面板ASan检查;28种控制/原点组合均核验实际解剖位置,改变原点标签时逐字节一致。额外真实帧ASan专项886项通过,含重复基础用例。1.1.2(13)已完成正式签名、公证、票据、唯一正式路径安装及副本清理。Motion/FCP原生数值、重置和隔离画面响应已验证,Motion保存重开与撤销通过;用户于2026-10-22实测确认“拖动中已持续更新”;未指定测试宿主,不扩张为两个宿主分别完成动态排帧验收。连续步进在松手前提交已通过独立模拟宿主验证,不能将它等同于每个鼠标事件都排出一帧。
|
||||
|
||||
## 1.2.0 免费开源发布
|
||||
|
||||
采用 MIT 许可(第三方资源边界见 THIRD_PARTY_NOTICES.md)。安装包同时包含唯一正式 FxPlug4 APP 和 FCP 效果模板;自动注册,无需账号、激活码或付费激活。主 APP 显示古风说明图,窗口显示三秒后自动退出,不影响独立的宿主插件服务。封面人物是生成的宣传插画,非效果前后对比。
|
||||
|
||||
`large.png`(640×360)和 `small.png`(192×108)与 `.moef` 同目录,安装器安装后重新锁定。手动复制或从 Git 恢复模板时,需对这两个 PNG 重新执行 `chflags uchg`,不能锁定整个模板目录。FCP 当前分类为「大鱼磨皮瘦脸」,Motion 原生滤镜分类仍为「大鱼」。
|
||||
|
||||
仓库属性已设为公开;大鱼站统一 Git 网关目前仍要求登录并校验会员,公开属性并未绕过网关。发布文章另提供可公开下载的当前源码快照,不依赖 Git 登录;安装包始终免费。
|
||||
+10
-2
@@ -1,6 +1,6 @@
|
||||
# 恢复说明
|
||||
|
||||
- 私有远程:`https://dayu.media/git/dayu/paintfcp-fxplug.git`
|
||||
- 源码远程:`https://dayu.media/git/dayu/paintfcp-fxplug.git`
|
||||
- 本地项目根:`/Users/dayu/Documents/PaintFCP`
|
||||
- 工作分支:`main`
|
||||
- 修改前版本标签:`baseline-20261021`,完整 SHA:`1746f38398588e2367abb37a5c2b31cb64042429`
|
||||
@@ -12,7 +12,7 @@
|
||||
```sh
|
||||
git clone https://dayu.media/git/dayu/paintfcp-fxplug.git
|
||||
cd paintfcp-fxplug
|
||||
git switch --detach v1.1.2
|
||||
git switch --detach v1.2.0
|
||||
```
|
||||
|
||||
需要继续编辑时,基于该提交创建新分支。安装 Xcode 与 Apple FxPlug 4 SDK;盘点版本和构建入口见 README.md。SDK/framework 为 Apple 外部开发依赖,应重新安装匹配版本。证书、私钥和公证凭据需从独立加密备份恢复或重新申请;Git 不包含它们。
|
||||
@@ -88,3 +88,11 @@ FCP模板从 `Templates/大鱼人像美化/` 恢复,将 `.moef` 和 `Drop Zone
|
||||
Motion/FCP原生验收范围及未完成项见`docs/verification/v1.1.2/native-qa.json`:数值、重置、隔离短脸/下颌骨响应通过;Motion撤销和保存关闭重开通过。连续步进已改为每步完整宿主action,模拟宿主确认鼠标松开前可发布中间设置;用户于2026-10-22实测确认拖动中持续更新;未指定宿主,未测量逐事件排帧时序。后续人脸素材和全AX只保留本机build,不是产品依赖或上传资源。
|
||||
|
||||
最终标签`v1.1.2`完整提交SHA为`e9fddda5e13042f761755762fa39dfe090853c6a`,已独立从远端恢复,158文件的bytes/blob/mode与strict/full fsck通过,产品目录与签名源码a2e33e8逐字节一致,无LFS或子模块,恢复临时目录已清理。详见`docs/verification/v1.1.2/final-tag-recovery.json`;后续main仅补充恢复报告和用户验收记录,产品源码保持不变。
|
||||
|
||||
## 1.2.0 恢复入口
|
||||
|
||||
源码构建节点为 `696d5f39b30404ed5d1d4c25f61d17475c7fc91b`,版本1.2.0(14)。使用同一 Apple SDK、签名团队与正式安装路径;本次仅改变外层启动器、版本及宣传资源,渲染和面板保留1.1.2验收实现。最终安装包和验证记录随 `v1.2.0` 保存。无 LFS / 子模块。正式 APP 只保留 `/Library/Plug-Ins/FxPlug/beatygril.app`;源代码不包含私钥。
|
||||
|
||||
模板恢复到 `~/Movies/Motion Templates.localized/Effects.localized/大鱼磨皮瘦脸/大鱼人像美化/`,需同时保留 `.moef`、`Drop Zone.tiff`、`large.png`、`small.png`。Git 不保存 BSD 文件标志,手工复制后对两张 PNG 执行 `chflags uchg` 并核对 `ls -lO`;不要锁目录和工程。自动安装 PKG 会恢复这两个锁。
|
||||
|
||||
仓库已为公开属性,但当前网站 Git 网关仍执行登录 / 会员校验。匿名 `ls-remote` 未通过,不宣称无需登录的 Git 恢复已通过;认证的远端克隆和文章的公开源码快照分别核验。服务端备份边界与前文相同。
|
||||
@@ -0,0 +1,44 @@
|
||||
{
|
||||
"status": "complete",
|
||||
"bundleIdentifier": "com.dayu.beatygril",
|
||||
"installationPath": "/Library/Plug-Ins/FxPlug/beatygril.app",
|
||||
"options": {
|
||||
"waitForHosts": false,
|
||||
"userTests": false
|
||||
},
|
||||
"nativeEffectQA": {
|
||||
"status": "operator_confirmed",
|
||||
"performedByScript": false
|
||||
},
|
||||
"source": {
|
||||
"commit": "696d5f39b30404ed5d1d4c25f61d17475c7fc91b",
|
||||
"trackedWorktreeChanges": []
|
||||
},
|
||||
"updatedAt": "2026-10-21T17:39:12.166311+00:00",
|
||||
"version": "1.2.0",
|
||||
"build": "14",
|
||||
"stagingSignature": "Executable=/private/tmp/paintfcp-build-20261021/Build/Products/Release/beatygril.app/Contents/MacOS/beatygril\nIdentifier=com.dayu.beatygril\nFormat=app bundle with Mach-O universal (x86_64 arm64)\nCodeDirectory v=20500 size=478 flags=0x10000(runtime) hashes=4+7 location=embedded\nHash type=sha256 size=32\nCandidateCDHash sha256=c229cfbd5d26e1215ace1dd36e4442a412b52220\nCandidateCDHashFull sha256=c229cfbd5d26e1215ace1dd36e4442a412b52220f48215bd108107e1affb0b97\nHash choices=sha256\nCMSDigest=c229cfbd5d26e1215ace1dd36e4442a412b52220f48215bd108107e1affb0b97\nCMSDigestType=2\nCDHash=c229cfbd5d26e1215ace1dd36e4442a412b52220\nSignature size=8968\nAuthority=Developer ID Application: zhong luo (B3W25FX5H5)\nAuthority=Developer ID Certification Authority\nAuthority=Apple Root CA\nTimestamp=Oct 22, 2026 at 01:32:31\nInfo.plist entries=22\nTeamIdentifier=B3W25FX5H5\nRuntime Version=27.0.0\nSealed Resources version=2 rules=13 files=5\nInternal requirements count=1 size=180\nTotal signatures=1\nChosen signature=1\n",
|
||||
"notarization": {
|
||||
"status": "Accepted",
|
||||
"id": "3999fe91-a80e-49d3-9ed0-4003b82f6f54",
|
||||
"message": "Processing complete"
|
||||
},
|
||||
"signingVerified": true,
|
||||
"stapleValidated": true,
|
||||
"stagingPluginUnregistered": true,
|
||||
"runningHosts": [],
|
||||
"installedSignature": "Executable=/Library/Plug-Ins/FxPlug/beatygril.app/Contents/MacOS/beatygril\nIdentifier=com.dayu.beatygril\nFormat=app bundle with Mach-O universal (x86_64 arm64)\nCodeDirectory v=20500 size=478 flags=0x10000(runtime) hashes=4+7 location=embedded\nHash type=sha256 size=32\nCandidateCDHash sha256=c229cfbd5d26e1215ace1dd36e4442a412b52220\nCandidateCDHashFull sha256=c229cfbd5d26e1215ace1dd36e4442a412b52220f48215bd108107e1affb0b97\nHash choices=sha256\nCMSDigest=c229cfbd5d26e1215ace1dd36e4442a412b52220f48215bd108107e1affb0b97\nCMSDigestType=2\nCDHash=c229cfbd5d26e1215ace1dd36e4442a412b52220\nSignature size=8968\nAuthority=Developer ID Application: zhong luo (B3W25FX5H5)\nAuthority=Developer ID Certification Authority\nAuthority=Apple Root CA\nTimestamp=Oct 22, 2026 at 01:32:31\nNotarization Ticket=stapled\nInfo.plist entries=22\nTeamIdentifier=B3W25FX5H5\nRuntime Version=27.0.0\nSealed Resources version=2 rules=13 files=5\nInternal requirements count=1 size=180\nTotal signatures=1\nChosen signature=1\n",
|
||||
"installedSignatureVerified": true,
|
||||
"installedStapleValidated": true,
|
||||
"gatekeeperAccepted": true,
|
||||
"pluginDiscovery": {
|
||||
"bundleIdentifier": "com.dayu.beatygril.fxplug",
|
||||
"formalPath": "/Library/Plug-Ins/FxPlug/beatygril.app/Contents/PlugIns/beatygril XPC Service.pluginkit",
|
||||
"output": " com.dayu.beatygril.fxplug(1.1)\tDECE2AF1-8D68-43B9-BE2E-6C97FB9EE96D\t2026-10-21 17:33:00 +0000\t/Library/Plug-Ins/FxPlug/beatygril.app/Contents/PlugIns/beatygril XPC Service.pluginkit\n (1 plug-in)\n"
|
||||
},
|
||||
"removedGeneratedPaths": [
|
||||
"/Users/dayu/Documents/PaintFCP/build/delivery/previous-beatygril.app",
|
||||
"/tmp/paintfcp-build-20261021",
|
||||
"/Users/dayu/Documents/PaintFCP/build/delivery/notarization.zip"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
com.dayu.beatygril.fxplug(1.1) DECE2AF1-8D68-43B9-BE2E-6C97FB9EE96D 2026-10-21 17:33:00 +0000 /Library/Plug-Ins/FxPlug/beatygril.app/Contents/PlugIns/beatygril XPC Service.pluginkit
|
||||
(1 plug-in)
|
||||
@@ -0,0 +1,24 @@
|
||||
Executable=/Library/Plug-Ins/FxPlug/beatygril.app/Contents/MacOS/beatygril
|
||||
Identifier=com.dayu.beatygril
|
||||
Format=app bundle with Mach-O universal (x86_64 arm64)
|
||||
CodeDirectory v=20500 size=478 flags=0x10000(runtime) hashes=4+7 location=embedded
|
||||
Hash type=sha256 size=32
|
||||
CandidateCDHash sha256=c229cfbd5d26e1215ace1dd36e4442a412b52220
|
||||
CandidateCDHashFull sha256=c229cfbd5d26e1215ace1dd36e4442a412b52220f48215bd108107e1affb0b97
|
||||
Hash choices=sha256
|
||||
CMSDigest=c229cfbd5d26e1215ace1dd36e4442a412b52220f48215bd108107e1affb0b97
|
||||
CMSDigestType=2
|
||||
CDHash=c229cfbd5d26e1215ace1dd36e4442a412b52220
|
||||
Signature size=8968
|
||||
Authority=Developer ID Application: zhong luo (B3W25FX5H5)
|
||||
Authority=Developer ID Certification Authority
|
||||
Authority=Apple Root CA
|
||||
Timestamp=Oct 22, 2026 at 01:32:31
|
||||
Notarization Ticket=stapled
|
||||
Info.plist entries=22
|
||||
TeamIdentifier=B3W25FX5H5
|
||||
Runtime Version=27.0.0
|
||||
Sealed Resources version=2 rules=13 files=5
|
||||
Internal requirements count=1 size=180
|
||||
Total signatures=1
|
||||
Chosen signature=1
|
||||
@@ -0,0 +1,14 @@
|
||||
[
|
||||
{
|
||||
"elapsed": 13.717,
|
||||
"running": true,
|
||||
"processes": [
|
||||
"33709 /Library/Plug-Ins/FxPlug/beatygril.app/Contents/MacOS/beatygril"
|
||||
]
|
||||
},
|
||||
{
|
||||
"elapsed": 17.944,
|
||||
"running": false,
|
||||
"processes": []
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"version": "1.2.0",
|
||||
"build": "14",
|
||||
"source_commit": "696d5f39b30404ed5d1d4c25f61d17475c7fc91b",
|
||||
"native_app_card": "Observed correct classical information card, with accessible text",
|
||||
"exit_timer_seconds_after_window_shown": 3.0,
|
||||
"observed_process_lifetime_seconds": 4.227,
|
||||
"process_lifetime_note": "Includes process initialization before didFinishLaunching/window presentation. Not a measurement of timer drift.",
|
||||
"automatic_registration": "Own bundle registered via LSRegisterURL; installed PluginKit entry remains at unique formal path",
|
||||
"host_validation": {
|
||||
"FCP": "Fresh launch, new locked thumbnail visible in 大鱼磨皮瘦脸; applied ours to second clip in existing QA project; panel loaded, brightness set to20%, picture rendered without black output.",
|
||||
"Motion": "No fresh 1.2.0 UI test; renderer and inspector source unchanged from user-accepted 1.1.2."
|
||||
},
|
||||
"screenshots": "Native app and FCP screenshots kept local under ignored build/delivery; user stock imagery not published",
|
||||
"bounded_duplicate_inventory": "Final cleanup removed known build and backup app paths; final inventory follows in packaging verification."
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
{"status":"Accepted","id":"3999fe91-a80e-49d3-9ed0-4003b82f6f54","message":"Processing complete"}
|
||||
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"patch": "accepted",
|
||||
"id": 36,
|
||||
"private": false,
|
||||
"url": "https://dayu.media/git/dayu/paintfcp-fxplug",
|
||||
"anonymous_access": {
|
||||
"html_http": 302,
|
||||
"api_http": 401,
|
||||
"git_ls_remote": "credential request denied in anonymous mode",
|
||||
"reason": "Site-wide WordPress Git membership gateway is evaluated before Gitea public-repository permissions.",
|
||||
"server_code_changed": false
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"installationCategory": "大鱼磨皮瘦脸",
|
||||
"template": "大鱼人像美化.moef",
|
||||
"files": {
|
||||
"大鱼人像美化.moef": {
|
||||
"size": 23073,
|
||||
"sha256": "e9fa97dc14323d0daa7d3d61b06a78ba4000a70ab9f5e67ebffd750d49df1e15",
|
||||
"locked": false
|
||||
},
|
||||
"Drop Zone.tiff": {
|
||||
"size": 420128,
|
||||
"sha256": "a7f8e3a2a431dbb3ce9e777040bb55e701cfe9ab9632e8cbb10359732bc8692e",
|
||||
"locked": false
|
||||
},
|
||||
"large.png": {
|
||||
"size": 454742,
|
||||
"sha256": "a02ddb255b1ae255c749bb837a759e2dee1c3b8ffb9bdc1167957761bd5a1b97",
|
||||
"locked": true
|
||||
},
|
||||
"small.png": {
|
||||
"size": 45373,
|
||||
"sha256": "1552b838dd88f60dee0795e20aaca652f9c558ecefc93500e895fbff77c2a4d5",
|
||||
"locked": true
|
||||
}
|
||||
}
|
||||
}
|
||||
在新工单中引用
屏蔽一个用户