Record orientation negative control, accepted 1.0.6 notarization and independent remote recovery while awaiting host exit
这个提交包含在:
1 父节点
ad54726b17
当前提交
9bebf68e3f
10 个文件已更改
+1180
-2
没有与搜索条件相匹配的文件
+9
-1
@@ -12,7 +12,7 @@
|
||||
```sh
|
||||
git clone https://dayu.media/git/dayu/paintfcp-fxplug.git
|
||||
cd paintfcp-fxplug
|
||||
git switch --detach v1.0.5
|
||||
git switch --detach v1.0.6
|
||||
```
|
||||
|
||||
需要继续编辑时,基于该提交创建新分支。安装 Xcode 与 Apple FxPlug 4 SDK;盘点版本和构建入口见 README.md。SDK/framework 为 Apple 外部开发依赖,应重新安装匹配版本。证书、私钥和公证凭据需从独立加密备份恢复或重新申请;Git 不包含它们。
|
||||
@@ -48,3 +48,11 @@ FCP模板从 `Templates/大鱼人像美化/` 恢复,将 `.moef` 和 `Drop Zone
|
||||
从最终标签恢复后,关闭Motion/FCP,运行 `python3 scripts/deliver.py --wait-for-hosts --user-tests` 可完成签名公证安装、只读宿主退出等待、静态发现及副本清理;它不会操作宿主界面。若上次因非产品错误在Accepted且stapled后停止,可加 `--resume-prepared`,脚本必须重新核对签名CDHash、版本、票据及产品源码未变才会继续。缺少原staging或回执时应完整重新构建,不能伪造回执。
|
||||
|
||||
1.0.5瘦脸需要完整76点;旧离线记录缺该字段时保留其余功能并跳过瘦脸。关闭使用跟踪数据可使用当前帧自动76点,或重新分析生成新记录。没有引入原版metallib或CoreML模型,运行只依赖本产品及Apple系统框架。最终安装、配套模板和扫描范围见验证记录。
|
||||
|
||||
## 1.0.6 恢复入口
|
||||
|
||||
本次签名构建源码SHA为`ad54726b17fabd11f46bc6121e664eac38960a23`,APP版本1.0.6、build8;最终标签计划为`v1.0.6`,由交付验证完成后创建。恢复该SHA可重建相同产品源码,最终标签另包含交付文档与回执。Release恢复仍用上节同一构建/公证命令、固定Bundle ID和正式安装路径;用户自测模式不会操作Motion/FCP界面。
|
||||
|
||||
新增下巴三pin与图像适配轴修复;新分析档案使用`hostCoordinateSpace=iosurface-ci-y-up-v1`。旧未标记档案保留原字符串但回退实时跟随,重新分析后才能用于离线重放,不能直接补字段伪装成新档案。七类剩余脸型项及组合顺序仍有近似边界。
|
||||
|
||||
`ad54726b17fabd11f46bc6121e664eac38960a23`已独立从上述远程克隆,87文件的byte/blob/mode与14项资源一致,strict/full fsck和559项核心测试通过,无LFS、子模块或APP产物。临时恢复目录已清理,完整报告见`docs/verification/v1.0.6/recovery-ad54726.json`。
|
||||
@@ -47,7 +47,16 @@
|
||||
"hostAdapterASanChecks": 247,
|
||||
"oscASanChecks": 98,
|
||||
"allOriginTagsPixelIdentical": true,
|
||||
"maxByteErrorVsIndependentCIReference": 2
|
||||
"maxByteErrorVsIndependentCIReference": 2,
|
||||
"oldFlipNegativeControl": {
|
||||
"checks": 120,
|
||||
"expectedFailures": 30,
|
||||
"topTopDefaultMaxByteError": 0,
|
||||
"topTopBigEyeMaxByteError": 66,
|
||||
"topTopChinPositiveMaxByteError": 52,
|
||||
"topTopChinNegativeMaxByteError": 21,
|
||||
"scope": "temporary current source with only two old flips restored; three-pin chin already fixed; not same as old Gaussian eye-hotspot counterexample"
|
||||
}
|
||||
},
|
||||
"limitations": [
|
||||
"Seven other shape controls remain approximations.",
|
||||
|
||||
@@ -36,3 +36,7 @@ Apple[FxImageOrigin](https://developer.apple.com/documentation/professional_vide
|
||||
旧档案没有记录图像适配坐标契约,无法安全判断是否由旧翻转链产生。adapter现为新分析结果加`hostCoordinateSpace=iosurface-ci-y-up-v1`;未标记记录保留原字符串,渲染和续分析均不载入旧坐标。当前目标暂用实时跟随,新分析后恢复离线记录。不改通用PGFaceProcessor的旧档案读取能力,也不把用户记录直接删除或静默改写成新坐标。
|
||||
|
||||
独立生理热点检查:NASA、实际素材0秒、4秒侧脸三张图均在真实下巴1.2–2.9像素内获得最大位移,实际下巴正值上收、负值延伸,双瞳孔采样位移不超过0.00003像素;12项专项检查通过。另同一素材11帧共494项瘦脸/下巴ASan检查通过,含重复基础用例,不与完整回归简单相加。用户照片、帧及完整点位均没有入库。
|
||||
|
||||
## 新回归的负控
|
||||
|
||||
在临时副本只恢复旧的输入/输出翻转、保留已修正三pin后,120项解剖子测试产生30个预期失败:混合原点标签出现方向错误,TOP/TOP默认仍0误差,但大眼最大差66/255、下巴正值52/255、负值21/255,均被独立参考和跨标签逐字节一致性检出。此时三pin下巴热点仍在下巴,因为点驱动形变可随图像反射;“眼部热点”是此前旧高斯下巴与额外翻转共同构成的反例,二者不能混为同一代码状态。正式当前实现247项宿主适配ASan检查全部通过。
|
||||
@@ -0,0 +1,48 @@
|
||||
2026-10-21 20:56:23.542 negative-control[10726:5467718] FBBA: creating VNFaceBBoxAligner from VNFaceDetectorRevision2: VNFaceDetectorRevision2
|
||||
FAIL: default sourceBOTTOM/destinationTOP matches independent upright CI output
|
||||
FAIL: default sourceBOTTOM/destinationTOP is byte-identical across coordinate tags
|
||||
FAIL: default sourceBOTTOM/destinationTOP preserves the independently decoded photo
|
||||
FAIL: default sourceTOP/destinationBOTTOM matches independent upright CI output
|
||||
FAIL: default sourceTOP/destinationBOTTOM is byte-identical across coordinate tags
|
||||
FAIL: default sourceTOP/destinationBOTTOM preserves the independently decoded photo
|
||||
FAIL: big-eye sourceBOTTOM/destinationTOP matches independent upright CI output
|
||||
FAIL: big-eye sourceBOTTOM/destinationTOP is byte-identical across coordinate tags
|
||||
FAIL: big-eye sourceBOTTOM/destinationTOP changes the two real eye regions
|
||||
FAIL: big-eye sourceTOP/destinationBOTTOM matches independent upright CI output
|
||||
FAIL: big-eye sourceTOP/destinationBOTTOM is byte-identical across coordinate tags
|
||||
FAIL: big-eye sourceTOP/destinationBOTTOM changes the two real eye regions
|
||||
FAIL: big-eye sourceTOP/destinationTOP matches independent upright CI output
|
||||
FAIL: big-eye sourceTOP/destinationTOP is byte-identical across coordinate tags
|
||||
FAIL: chin-positive sourceBOTTOM/destinationTOP matches independent upright CI output
|
||||
FAIL: chin-positive sourceBOTTOM/destinationTOP is byte-identical across coordinate tags
|
||||
FAIL: chin-positive sourceBOTTOM/destinationTOP changes the real chin rather than eyes or mirrored anatomy
|
||||
FAIL: chin-positive sourceTOP/destinationBOTTOM matches independent upright CI output
|
||||
FAIL: chin-positive sourceTOP/destinationBOTTOM is byte-identical across coordinate tags
|
||||
FAIL: chin-positive sourceTOP/destinationBOTTOM changes the real chin rather than eyes or mirrored anatomy
|
||||
FAIL: chin-positive sourceTOP/destinationTOP matches independent upright CI output
|
||||
FAIL: chin-positive sourceTOP/destinationTOP is byte-identical across coordinate tags
|
||||
FAIL: chin-negative sourceBOTTOM/destinationTOP matches independent upright CI output
|
||||
FAIL: chin-negative sourceBOTTOM/destinationTOP is byte-identical across coordinate tags
|
||||
FAIL: chin-negative sourceBOTTOM/destinationTOP changes the real chin rather than eyes or mirrored anatomy
|
||||
FAIL: chin-negative sourceTOP/destinationBOTTOM matches independent upright CI output
|
||||
FAIL: chin-negative sourceTOP/destinationBOTTOM is byte-identical across coordinate tags
|
||||
FAIL: chin-negative sourceTOP/destinationBOTTOM changes the real chin rather than eyes or mirrored anatomy
|
||||
FAIL: chin-negative sourceTOP/destinationTOP matches independent upright CI output
|
||||
FAIL: chin-negative sourceTOP/destinationTOP is byte-identical across coordinate tags
|
||||
Anatomy default 0/0 max=0 mean=0.0000000 eye=0/0 chin=0 inverted=0
|
||||
Anatomy default 0/1 max=255 mean=75.5590439 eye=512210/458308 chin=640530 inverted=2678038
|
||||
Anatomy default 1/0 max=255 mean=75.5590439 eye=512210/458308 chin=640530 inverted=2678038
|
||||
Anatomy default 1/1 max=0 mean=0.0000000 eye=0/0 chin=0 inverted=0
|
||||
Anatomy big-eye 0/0 max=2 mean=0.0008917 eye=33510/33880 chin=0 inverted=0
|
||||
Anatomy big-eye 0/1 max=255 mean=75.5509195 eye=512210/458308 chin=640530 inverted=2673702
|
||||
Anatomy big-eye 1/0 max=255 mean=75.5510902 eye=512210/458308 chin=640530 inverted=2673881
|
||||
Anatomy big-eye 1/1 max=66 mean=0.0180340 eye=30841/32051 chin=0 inverted=0
|
||||
Anatomy chin-positive 0/0 max=1 mean=0.0001459 eye=0/0 chin=116812 inverted=0
|
||||
Anatomy chin-positive 0/1 max=255 mean=75.5574808 eye=512210/458308 chin=640530 inverted=2671244
|
||||
Anatomy chin-positive 1/0 max=255 mean=75.5593863 eye=512210/458308 chin=640530 inverted=2671753
|
||||
Anatomy chin-positive 1/1 max=52 mean=0.0127611 eye=0/0 chin=121860 inverted=0
|
||||
Anatomy chin-negative 0/0 max=1 mean=0.0000849 eye=0/0 chin=60426 inverted=0
|
||||
Anatomy chin-negative 0/1 max=255 mean=75.5518637 eye=512210/458308 chin=640530 inverted=2681787
|
||||
Anatomy chin-negative 1/0 max=255 mean=75.5510559 eye=512210/458308 chin=640530 inverted=2681767
|
||||
Anatomy chin-negative 1/1 max=21 mean=0.0061512 eye=0/0 chin=63433 inverted=0
|
||||
Restored origin flips negative control: 120 checks, 30 expected failures
|
||||
@@ -0,0 +1 @@
|
||||
{"id":"ab0271c8-0c4b-4b10-9474-cebe9b55385b","message":"Processing complete","status":"Accepted"}
|
||||
@@ -0,0 +1,5 @@
|
||||
Beauty renderer: 49 checks, 0 failures (Metal).
|
||||
2026-10-21 20:58:16.457 face-tests[11385:5472531] FBBA: creating VNFaceBBoxAligner from VNFaceDetectorRevision2: VNFaceDetectorRevision2
|
||||
Face processing: 116 checks passed
|
||||
2026-10-21 20:58:19.882 slim-tests[11391:5472584] FBBA: creating VNFaceBBoxAligner from VNFaceDetectorRevision2: VNFaceDetectorRevision2
|
||||
PASS: 394 slim alignment checks; maximum UV oracle error 1.09828022e-05
|
||||
文件差异过大,未显示。
加载差异
@@ -0,0 +1,22 @@
|
||||
PASS: independent remote recovery
|
||||
Remote: https://dayu.media/git/dayu/paintfcp-fxplug.git
|
||||
SHA: ad54726b17fabd11f46bc6121e664eac38960a23
|
||||
Temporary clone: /tmp/paintfcp-recovery-ad54726.nARdL7/checkout
|
||||
Temporary clone removed: True
|
||||
Tracked files: 87
|
||||
Git blob / checked-out bytes / modes mismatches: 0
|
||||
Git fsck --strict --full exit: 0
|
||||
LFS pointers: 0; submodules: 0
|
||||
Resource files verified: 14; missing required: 0
|
||||
Drop Zone.tiff: Templates/大鱼人像美化/Drop Zone.tiff: TIFF image data, big-endian, direntries=21, height=1200, bps=0, compression=LZW, PhotometricIntepretation=RGB, orientation=upper-left, width=1200
|
||||
Core test exit: 0
|
||||
Core counts: Beauty49 + Face116 + Slim394 =559; failures0
|
||||
Maximum UV oracle error: 1.09828022e-05
|
||||
Core test duration: 5.394s
|
||||
ASan requested: false; sanitizer diagnostics: 0
|
||||
Restored worktree after tests: clean
|
||||
APP outputs:0; no xcodebuild build / host operations / root source edits / push
|
||||
All modes exactly match Git; scripts/test.sh, test-host.sh, test-osc.sh and deliver.py restore executable.
|
||||
External Apple SDK/frameworks are installed on this machine and must be installed separately when recovering.
|
||||
Finished UTC: 2026-10-21T12:58:52.192540+00:00
|
||||
Detailed JSON: /Users/dayu/Documents/PaintFCP/build/pose-analysis/recovery-v106/recovery-ad54726.json
|
||||
+4
@@ -69,3 +69,7 @@ Motion:独立普通视频项目,源PTS0、1920×1080/25fps/10秒,媒体通
|
||||
下巴另有旧框高斯算法和正负符号错误,现按原版68→38、67→37、66→36三pin、正0.04/负0.02和共同尺寸增益对齐。数学场、真实图物理下巴/瞳孔、正负符号与侧脸热点均已检查;其余七类控制及全部组合顺序未宣称完整恢复。新分析记录写入显式坐标标记;旧未标记记录保留但不再重放,自动回退实时跟随,重新分析可恢复离线记录。
|
||||
|
||||
本轮不操作、启动或退出Motion/FCP。完整分析证据见[下巴与坐标分析](analysis/下巴与坐标分析.md)。完整904项通过(美化49、人脸116、瘦脸/下巴394、宿主适配247、OSC98),宿主适配和OSC启用ASan。宿主适配16种默认/大眼/下巴正负×源/目的原点组合彼此逐字节一致,与独立upright文件参考最大差2/255;独立文件解码和IOSurface检测路径存在微小数值差,阈值另限制均差<0.005/255,并检查实际解剖热点。额外用户视频11帧494项ASan通过,含重复基础用例,不与904简单相加。用户帧和完整点位未上传远程。当前正式APP仍为1.0.5,不能将构建前验证描述为1.0.6已安装。
|
||||
|
||||
1.0.6(8)通用Release的签名构建源码为`ad54726b17fabd11f46bc6121e664eac38960a23`,构建开始时工作区干净。Developer ID逐层签名/严格验证、Apple公证Accepted(ab0271c8-0c4b-4b10-9474-cebe9b55385b)、票据粘附/验证均已通过。检测到Motion仍运行,当前在产品交付锁内只读等待用户保存退出,尚未替换正式1.0.5。
|
||||
|
||||
签名源码已从大鱼远程独立克隆恢复:87个受跟踪文件的字节、blob和模式全部一致,14项资源完整,strict/full fsck通过,无LFS/子模块;clone内559项核心测试通过,未构建APP或操作宿主,临时克隆已清理。报告在`verification/v1.0.6/recovery-ad54726.json`。
|
||||
在新工单中引用
屏蔽一个用户