277 行
23 KiB
Markdown
277 行
23 KiB
Markdown
# 大鱼人像美化项目交接
|
||
|
||
更新时间:2026-10-22,Asia/Shanghai。项目根目录:`/Users/dayu/Documents/PaintFCP`。
|
||
|
||
当前正式版本为 **1.2.0(构建 14)**,APP 与 PKG 均已完成正式签名、公证和票据验证,APP 已安装,公开源码及文章已发布。没有待完成的发布阻塞项;后续工作应从新的用户反馈或下述已知差异继续,不必重新制作封面、重发文章或重复安装现有版本。
|
||
|
||
代码由 **OpenAI + Codex 全程编写,站长仅参与调试和测试**。文章和仓库须保留这个表述,不使用“站长原创代码”等说法。免费版本无需账号、激活码或付费授权;“自动注册”指系统插件注册。
|
||
|
||
本交接整理前,工作区干净,`main`、`origin/main` 与 `github/main` 均为 `189a5d7634aa69db54330c90f8711b05d8e44b10`。这是文档新增前的基线;最新文档节点以 `git log -1` 和远端引用为准。
|
||
|
||
## 先读和先查
|
||
|
||
接手时先查看 `git status --short --branch`、`git remote -v` 和最新提交,确认没有其他聊天的未提交改动。只读核对正式 APP 版本与模板目录,再决定是否需要编译或操作宿主。单纯修改文档不需要重建、重新公证或打开 Motion/FCP。
|
||
|
||
当前状态以本交接、[恢复说明](../RECOVERY.md)、[验证记录](验证记录.md) 和最新版本回执为入口。`docs/analysis` 与旧版本回执保留了研究过程,其中“待修复”“待测试”可能是历史状态;例如 1.2.0 的 `release-plan.md` 是发布前计划,实际完成情况看 `native-qa.json` 和交付回执。
|
||
|
||
| 入口 | 用途 |
|
||
| --- | --- |
|
||
| [README](../README.md) | 产品介绍、使用与版本变化 |
|
||
| [恢复说明](../RECOVERY.md) | 精确源码节点、依赖、远端恢复记录 |
|
||
| [GitHub 同步说明](GitHub同步说明.md) | 两个远端、公开克隆及 Release 验证 |
|
||
| [1.2.0 交付回执](verification/v1.2.0/delivery-receipt.json) | 签名源码、公证、正式安装与清理结果 |
|
||
| [1.2.0 原生验收](verification/v1.2.0/native-qa.json) | 启动器与 FCP 实测范围 |
|
||
| [1.1.2 原生验收](verification/v1.1.2/native-qa.json) | 面板、短脸、下颌骨和连续预览验收 |
|
||
| [第三方资料与许可](../THIRD_PARTY_NOTICES.md) | MIT 范围、Apple 依赖与宣传素材边界 |
|
||
|
||
## 固定身份与安装位置
|
||
|
||
| 项目 | 当前值 |
|
||
| --- | --- |
|
||
| 显示名称 | 大鱼人像美化 |
|
||
| Xcode 产品名 | `beatygril`,保留现有拼写 |
|
||
| APP 版本 | `1.2.0` / `14`,arm64 与 x86_64 通用版本 |
|
||
| 唯一正式 APP | `/Library/Plug-Ins/FxPlug/beatygril.app` |
|
||
| 主 Bundle ID | `com.dayu.beatygril` |
|
||
| 嵌套插件 | `Contents/PlugIns/beatygril XPC Service.pluginkit` |
|
||
| 插件 Bundle ID | `com.dayu.beatygril.fxplug` |
|
||
| 滤镜 UUID | `FB14B0E6-59B2-4836-916F-CD0C559E9241` |
|
||
| 自定义面板参数 ID | `210` |
|
||
| FCP 效果分类 | 大鱼磨皮瘦脸 → 大鱼人像美化 |
|
||
| Motion 原生滤镜分类 | 大鱼 → 大鱼人像美化 |
|
||
| 签名团队 | `B3W25FX5H5` |
|
||
|
||
当前 FCP 模板为:
|
||
|
||
```text
|
||
/Users/dayu/Movies/Motion Templates.localized/Effects.localized/大鱼磨皮瘦脸/大鱼人像美化/大鱼人像美化.moef
|
||
```
|
||
|
||
源码模板仍在 `Templates/大鱼人像美化/`,脚本和测试使用这个路径。磁盘安装分类与源码目录层级不同是有意保留。旧的 `Effects.localized/大鱼/大鱼人像美化` 不是当前安装位置。
|
||
|
||
不要在 `/Applications`、用户级 FxPlug、Debug 或其他目录再留同产品外层 APP。替换前核对 Bundle ID 和来源;嵌套插件、Framework 及安装包内封装的有效载荷不属于重复安装。
|
||
|
||
## 源码结构
|
||
|
||
Xcode 工程:`beatygril/beatygril.xcodeproj`。外层 scheme 为 `Wrapper Application`,插件 target 为 `XPC Service`。
|
||
|
||
下表插件文件均位于 `beatygril/beatygril/Plugin/`。
|
||
|
||
| 文件或目录 | 职责与修改入口 |
|
||
| --- | --- |
|
||
| `beatygrilPlugIn.m` | FxPlug 参数、宿主 action、图像适配、渲染状态与整体混合 |
|
||
| `PGFaceProcessor.m` | Vision 检测、76 点、自动跟随、几何稳定、局部变形和几何蒙版 |
|
||
| `PGBeautyRenderer.m` | 磨皮、肤色、细节、牙齿和眼睛等外观处理 |
|
||
| `PGInspectorView.m` | AppKit 卡片、滑杆、数值框、开关、重置和连续提交 |
|
||
| `PGInspectorState.m` | 面板完整状态、NSSecureCoding、复制与插值 |
|
||
| `PGFaceSelectOSC.m` | 画布选脸与检测框等屏幕控件 |
|
||
| `PGParameterIDs.h`、`PGBeautyTypes.h` | 稳定参数 ID 和共享设置结构 |
|
||
| `../Wrapper Application/AppDelegate.m` | 主 APP 说明图、系统注册与三秒退出 |
|
||
| `../Wrapper Application/Resources/LauncherInfo.png` | 主 APP 古风说明图 |
|
||
| `Templates/大鱼人像美化/`(仓库根) | FCP 效果工程、标准占位图及缩略图 |
|
||
| `tests/`、`scripts/test*.sh`(仓库根) | 离屏像素、几何、宿主适配与面板测试 |
|
||
|
||
几何和外观内核由 Objective-C 源码构造 Core Image kernel;没有复制目标插件的 metallib 或私有模型。Xcode 使用文件系统同步分组,添加文件时核对 target 排除项,防止把插件实现编入外层 APP,或把启动器资源与 `AppDelegate.m` 编入插件。
|
||
|
||
## 自动跟随与脸型修复
|
||
|
||
### 识别和转脸
|
||
|
||
当前使用 Apple Vision `VNDetectFaceLandmarksRequestRevision3` 与 `VNRequestFaceLandmarksConstellation76Points`。实时渲染自动检测并关联主要人脸,结合防跳范围、关键点稳定、失检保持和几何历史;不需要先点击分析。多人模式另走多人几何处理。
|
||
|
||
目标插件的静态证据支持 Vision 点阵与局部二维变形,已检查的瘦脸路径没有证明存在显式 yaw 切换或完整 3D 姿态模型。侧脸适应主要来自轮廓与五官点随姿态改变,不能宣称已确定某个第三方神经网络或完全恢复原版模型。证据入口见[脸型与转脸分析](analysis/脸型变形与转脸分析.md)和[自动跟随报告](analysis/auto-follow-report.json)。
|
||
|
||
本项目几何历史只取当前请求之前的近时记录,原版还存在近未来历史分支;冷启动、热缓存、乱序渲染、同尺寸换源和多人交叉仍有差异边界。旧离线分析字段保留兼容,但当前新面板的渲染统一使用实时自动跟随。
|
||
|
||
### 已完成的四项局部算法
|
||
|
||
| 控制项 | 当前实现 | 防止回归的要点 |
|
||
| --- | --- | --- |
|
||
| 瘦脸 | 76 点、17 组轮廓到鼻部或瞳孔锚点的局部逆向采样 | 不恢复整脸框水平挤压;保留尺寸增益、组顺序和逐步 clamp |
|
||
| 下巴 | `68→38`、`67→37`、`66→36` 三组局部位移 | 正值上收、负值延伸,保留正负不同系数 |
|
||
| 下颌骨 | 六组相邻轮廓半径的顺序局部位移 | 半径来自相邻轮廓点,方向锚点为 P29;不能同时求和替代逐步更新 |
|
||
| 短脸 | P62 至 P72 的下半脸闭合区域,沿 P46−P48 鼻梁轴位移 | 正值收短、负值延长;不是太阳穴区域或脸框纵向压缩 |
|
||
|
||
这四项共享由实际图像像素尺寸计算的增益。完整合法 76 点缺失时,四项安全直通,不退回猜测的脸框场。图像与磨皮、肤色、牙齿、眼睛蒙版共用几何变形路径,避免效果与蒙版错位。
|
||
|
||
**仍为近似实现的五项:大眼、窄脸、V 脸、颧骨、小头。** 原版完整链为 `thin → narrow → V → jaw → cheek → chin → short → small-head → eyes`,本项目尚未完全恢复整条组合链的数学及顺序。用户单项验收不代表所有参数组合逐像素等价。详细索引、系数和独立数值场验证见[下巴与坐标分析](analysis/下巴与坐标分析.md)、[短脸与下颌骨分析](analysis/短脸与下颌骨分析.md)。
|
||
|
||
### 坐标约定
|
||
|
||
宿主 CI/IOSurface 链统一按 Y 向上处理;归档坐标标记为 `hostCoordinateSpace=iosurface-ci-y-up-v1`。不要仅看到 `TOP_LEFT` 标志就再翻转图像。局部几何中需要的归一化 Y 向下 UV 在同一 kernel 内成对转换,不改变宿主图像方向。
|
||
|
||
旧无标记分析档案不能靠补字符串伪装为新坐标。涉及位置的修改应同时检查非零 extent、图像宽高比、真实侧脸、歪头、正负参数和上下原点标签。历史“下巴作用在眼睛”“短脸和下颌骨作用在太阳穴”的问题已有相应修复,不应再用移动检测框来掩盖坐标或点索引问题。
|
||
|
||
## 面板与连续预览
|
||
|
||
界面由 AppKit 自绘磨皮、美白、瘦脸卡片及原生输入控件构成。FCP 模板只发布自定义面板 210 和两项署名信息,手动分析和多余平铺参数已隐藏;隐藏参数 ID 与旧归档仍须保留,以免破坏工程兼容。
|
||
|
||
面板交互必须在真实视图对应的 **宿主 action 内** 获取读写接口,不能缓存接口后在 action 外使用。每个发生变化的拖动步进都要在松手之前完成自己的 action;把整次拖动包在一个直到 mouse-up 才结束的 action 中,会再次造成松手后才更新。重复相同步进可去重。
|
||
|
||
`PGInspectorState` 保存完整且可安全归档的状态。未编辑面板时兼容旧文档参数,首次编辑采集当前设置;旧版各项独立关键帧曲线尚未自动迁移为新面板曲线。修改时同时检查数值 Return 提交、焦点切换、单项重置、宿主撤销和保存重开,不只看滑杆外观。
|
||
|
||
用户于 2026-10-22 明确确认“拖动中已持续更新”。该回复未指定宿主,覆盖至少一个原生宿主的按住拖动体验;宿主调度可能合并快速更新,不能写成每个鼠标事件必定显示一帧。
|
||
|
||
## 验证状态与开发命令
|
||
|
||
在项目根执行:
|
||
|
||
```sh
|
||
./scripts/test.sh
|
||
PAINTFCP_HOST_ASAN=1 ./scripts/test-host.sh
|
||
PAINTFCP_OSC_ASAN=1 ./scripts/test-osc.sh
|
||
PAINTFCP_INSPECTOR_ASAN=1 ./scripts/test-inspector.sh
|
||
python3 scripts/inspector-template.py audit 'Templates/大鱼人像美化/大鱼人像美化.moef'
|
||
```
|
||
|
||
1.1.2 完整回归为 **1551 项**:Beauty 49、Face 116、几何 796、宿主适配 ASan 335、OSC ASan 98、Inspector ASan 157。额外真实帧 ASan 专项 886 项包含重复基础用例,未计入 1551。28 种控制与原点组合核对了解剖位置,改变原点标签时输出逐字节一致。详见[自动验证汇总](verification/v1.1.2/automated-tests.json)。
|
||
|
||
| 验证范围 | 已完成结果与边界 |
|
||
| --- | --- |
|
||
| Motion 1.1.2 | 正式插件、数值输入、重置、撤销、焦点和保存关闭重开;短脸与下颌骨隔离画面检查 |
|
||
| FCP 1.1.2 | 正式面板启用、数值与重置;短脸和下颌骨分别隔离渲染,画面有响应 |
|
||
| 连续预览 | 模拟宿主确认 mouse-up 前发布中间状态;用户实际拖动已确认 |
|
||
| 主 APP 1.2.0 | 古风说明图和无障碍文字正确,窗口显示后计时三秒退出,系统注册成功 |
|
||
| FCP 1.2.0 | 新启动后显示新缩略图,QA 工程加载滤镜、亮度调到 20%,画面正常无黑屏 |
|
||
| Motion 1.2.0 | 未重新进行该版界面视觉验收;渲染和面板源码沿用已验收 1.1.2 |
|
||
| 安装包 | 有效载荷与正式 APP、四个模板文件一致;隔离脚本验证初装、替换锁定图和失败回滚 |
|
||
|
||
1.2.0 只修改外层启动器、版本与宣传资源,没有重新运行全部 1.1.2 自动测试,不能把历史测试写成该版全量重跑。原生 VoiceOver、旧独立关键帧迁移、多脸交叉、重遮挡和所有极端姿态仍未完整验收。
|
||
|
||
现有 PKG **未通过真实 installer 再次安装到当前用户目录**:APP 由 `deliver.py` 安装,缩略图另行同步;PKG 的安装脚本在隔离目录执行,重定向用户身份、替代 chown 并跳过其中的真实 FxPlug 验证。正式 APP 的签名与发现另有真实验证。不要把隔离测试表述成完整系统安装实测。
|
||
|
||
用户测试视频位于:
|
||
|
||
```text
|
||
/Volumes/DayuMedia 4TB/LCQ荒野乱斗/LCQ赛事回放/teen-with-blue-hair-smiling-at-beach-2026-10-02-18-55-48-utc.mov
|
||
```
|
||
|
||
该视频、宿主 QA 工程、截图、完整 AX 和人脸坐标仅保留在本机或忽略的 `build/` 下,不是构建依赖,不要上传。仓库自动测试另有带来源说明的 NASA 公共领域样本。宿主验收在独立 QA 工程进行,避免修改用户工作时间线。
|
||
|
||
## 宣传图和缩略图
|
||
|
||
最终设计为虚构成年古风人物的面部近景,深青玉色与金色、下颌收缩线和箭头、跟随角标。文字包含“自动瘦脸、自动跟随、自动美颜”,已按用户反馈减小字号。保持与目标宣传人物的区别,不回用目标肖像。
|
||
|
||
| 资源 | 文件 |
|
||
| --- | --- |
|
||
| 项目封面 | `Assets/Artwork/portrait-cover.png` |
|
||
| APP 说明图 | `beatygril/beatygril/Wrapper Application/Resources/LauncherInfo.png` |
|
||
| 大缩略图 | `Templates/大鱼人像美化/large.png`,640×360 |
|
||
| 小缩略图 | `Templates/大鱼人像美化/small.png`,192×108 |
|
||
| 生成记录 | `docs/design/artwork-manifest.json`、`artwork-prompt.json` |
|
||
|
||
这些是生成的宣传插画,不是真实美颜效果前后对比。文字已烘焙进 PNG,没有需要额外分发的可编辑字体依赖。
|
||
|
||
运行时模板目录必须包含 `.moef`、`Drop Zone.tiff`、`large.png`、`small.png` 四个文件。仅两张 PNG 设置 BSD `uchg`,不锁工程或目录。Git 和普通 ZIP 不保存该标志,手工恢复后需要重新设置:
|
||
|
||
```sh
|
||
chflags uchg "$HOME/Movies/Motion Templates.localized/Effects.localized/大鱼磨皮瘦脸/大鱼人像美化/large.png" "$HOME/Movies/Motion Templates.localized/Effects.localized/大鱼磨皮瘦脸/大鱼人像美化/small.png"
|
||
ls -lO "$HOME/Movies/Motion Templates.localized/Effects.localized/大鱼磨皮瘦脸/大鱼人像美化"
|
||
```
|
||
|
||
替换图前仅解除对应 PNG 的 `uchg`,替换后重锁。同步 `.moef` 前先比较用户磁盘最新文件与源码,保留手改,不能盲目覆盖。当前四文件 SHA-256 见[安装包验证](verification/v1.2.0/pkg-verification.json)。本次交接核对时,正式 APP 为 1.2.0(14),两张安装缩略图均有 `uchg`。
|
||
|
||
## Release 构建签名与安装
|
||
|
||
依赖为 Xcode 27.1、FxPlug SDK 4.3.4、PluginManager 1.7.4,最低 macOS 13。头文件和链接信息来自 `/Library/Developer/SDKs/FxPlug.sdk/Library/Frameworks`;嵌入的可运行框架来自 `/Library/Developer/Frameworks`。不要把 SDK 链接存根当作运行框架。
|
||
|
||
完整正式交付入口:
|
||
|
||
```sh
|
||
python3 scripts/deliver.py
|
||
```
|
||
|
||
脚本获取 `/Users/dayu/.codex/app-delivery-locks/com.dayu.beatygril.lock`,使用固定暂存 `/tmp/paintfcp-build-20261021`,记录到 `build/delivery/`。它构建通用 Release,由内到外签名 Framework、嵌套插件、外层 APP,验证严格签名,提交公证并要求 `Accepted`,粘附并验证票据,等待宿主退出后替换唯一正式路径,检查 Gatekeeper 与 PluginKit。默认停在 `HOST_VALIDATION_PENDING`,完成实际宿主验收及副本盘点后才回车进入清理。
|
||
|
||
| 选项 | 用途 |
|
||
| --- | --- |
|
||
| `--wait-for-hosts` | 保持交付锁,只读等待 Motion/FCP 自行退出,不操作或结束宿主 |
|
||
| `--user-tests` | 静态安装验证后清理已知生成副本,把原生效果验收明确保留给用户 |
|
||
| `--resume-prepared` | 仅恢复已有 Accepted、stapled 暂存产物;核对 CDHash、版本和产品源码未改变 |
|
||
|
||
运行脚本前先提交并推送待交付源码。用户已长期授权正式 Release 的签名、公证、安装,不必对相同范围重复询问。用户曾明确授权接手 Motion/FCP 验收,并允许需要释放插件时直接退出 Motion;涉及 FCP 工作工程仍应保护用户内容。本次交接没有操作宿主。
|
||
|
||
签名身份为 `Developer ID Application: zhong luo (B3W25FX5H5)`,安装包身份为同团队的 `Developer ID Installer`。每次重新检查有效证书和私钥,不能退回临时签名。公证使用登录钥匙串中的 profile `codex-dayu-notary-B3W25FX5H5`;密码和私钥不在仓库,不能输出到聊天、日志或命令行参数。
|
||
|
||
1.2.0 APP 公证 ID:`3999fe91-a80e-49d3-9ed0-4003b82f6f54`;PKG 公证 ID:`96a3d1be-a751-4fb8-b062-33a09c01ddf2`,两者状态均为 Accepted。完整记录在 `docs/verification/v1.2.0/`。
|
||
|
||
交付锁不能绕过,也不能删除活跃持有者的锁。签名、公证或权限失败时保留原安装版。完成后只清理核对身份属于本产品的生成 APP、旧 APP 和公证 ZIP;最后的有界扫描覆盖 `/Applications`、两个 FxPlug 目录、项目及固定暂存路径,只发现正式 APP,不代表已经扫描所有卷。
|
||
|
||
## PKG 与发布资料
|
||
|
||
正式包:`releases/1.2.0/大鱼人像美化-1.2.0.pkg`,**5,011,005 bytes**。
|
||
|
||
```text
|
||
SHA-256 5bd77c28b3a7e54f3d4060be1f16bcb145d9bc4d6b9cfb9eb137c01130440243
|
||
```
|
||
|
||
GitHub Release 下载名为 `Dayu-Portrait-1.2.0.pkg`,字节相同,已匿名下载并核对哈希、Installer 签名和公证票据。
|
||
|
||
后续打包使用 `/Applications/PKG工坊.app/Contents/MacOS/PKG工坊`,本次版本为 CLI 1.4(8)。先读 `/Users/dayu/.codex/skills/dayu-publish-article/SKILL.md` 的当前打包规范及 CLI 帮助,使用独立发布副本。
|
||
|
||
资源输入应是分类根 `大鱼磨皮瘦脸`,内含 `大鱼人像美化` 和上述四文件;另外加入唯一正式已公证 APP。不要把更外层“发布版”容器作为分类输入,也不要把 `PARAMETERS.json`、`VALIDATION.json`、开发 README 混入运行模板。PKG postinstall 负责备份、解除旧图锁、复制、重锁并验证;失败回滚当前模板项目,不能扩大为整个安装包的原子回滚。
|
||
|
||
`scripts/verify-release-package.py` 是 **1.2.0 专用验证脚本**:依赖已展开的 `build/pkg-expanded/Payload.pkg`、当前正式 APP 和固定 `build/pkg-isolation`;不是接收任意包路径的通用工具。先阅读源码并准备展开目录,验证后清理展开出的额外 APP。当前 `.gitignore` 只为 `releases/1.2.0/*.pkg` 放行,下一版本的二进制入库或 Release 附件策略需明确处理。
|
||
|
||
文章及发布入口:
|
||
|
||
- [公开源码仓库](https://github.com/FAMEDaYu/FCP-BeatyGril)
|
||
- [1.2.0 GitHub Release](https://github.com/FAMEDaYu/FCP-BeatyGril/releases/tag/v1.2.0)
|
||
- [大鱼站文章 15593](https://dayu.media/15593/)
|
||
- [大鱼 Git 备份](https://dayu.media/git/dayu/paintfcp-fxplug)
|
||
|
||
文章为“免费资源”,价格为 0,非会员可获取,特色封面为当前古风图;正文已有 GitHub 仓库和 Release 链接,保留免费开源、安装注册、三秒退出、故障排查及准确署名。FCPX APP 列表同步本次未启用。
|
||
|
||
文章另附历史源码 ZIP,对应 `788ba0d5514595cf349af33074055d70b0754185`,包含构建源码,排除 PKG 和 Git 历史;不是最新 main 快照。后续源码和署名修订以 GitHub main 为准。
|
||
|
||
`scripts/publish-release.py` 用于首次发布并保留 `build/publish-operation.json` 状态;已有 `post_id` 时不会重新提交正文,不要将它当成通用文章更新器。更新 15593 时先读最新正文及元数据,只提交所需字段,保持免费权限、下载、SEO 和其他未改字段;密钥只在进程内存中使用。具体发布流程继续遵循上述技能,不因接手文档自动重发。
|
||
|
||
## Git 保存与恢复
|
||
|
||
| 本地远端 | 地址 | 说明 |
|
||
| --- | --- | --- |
|
||
| `origin` | `https://dayu.media/git/dayu/paintfcp-fxplug.git` | 保持为原远端及 main 上游;网站 Git 网关仍要求登录和有效会员 |
|
||
| `github` | `https://github.com/FAMEDaYu/FCP-BeatyGril.git` | 公开仓库,匿名克隆可用,完整历史和七个标签已保存 |
|
||
|
||
本项目没有 LFS 或子模块。不要改写原远端、强推、覆盖现有标签或把双端同步描述成自动定时同步。
|
||
|
||
| 节点 | 完整提交 SHA |
|
||
| --- | --- |
|
||
| 1.2.0 正式签名源码 | `696d5f39b30404ed5d1d4c25f61d17475c7fc91b` |
|
||
| `v1.2.0` 发布标签 | `3c7261c3a861b9f4704cfb36055d7b500c239dab` |
|
||
| 1.1.2 已验收渲染及面板源码 | `a2e33e8e00a99b95dc29d67a819cb0897eda5756` |
|
||
| GitHub 独立匿名恢复节点 | `356683b41af702d6c0143ad7fa5f540d752d6e14` |
|
||
|
||
标签包含相应发布资料,签名源码节点表示实际构建代码;两者不同是正常的。后续文章、署名、GitHub 和交接文档提交没有改变已签名产品。GitHub 恢复核验覆盖 197 个受跟踪文件、全部七标签及 strict/full fsck;大鱼 `v1.2.0` 恢复核验为该历史节点的 183 文件,不把不同节点的文件数混用。
|
||
|
||
恢复正式发行源码可以:
|
||
|
||
```sh
|
||
git clone https://github.com/FAMEDaYu/FCP-BeatyGril.git
|
||
cd FCP-BeatyGril
|
||
git switch --detach v1.2.0
|
||
```
|
||
|
||
需要最新文档时留在 main。继续开发则基于所需节点创建 `codex/` 前缀分支。Apple SDK、有效签名证书和公证凭据需在新机器单独安装或恢复;Git 不包含它们。
|
||
|
||
保存本任务文件可用 `python3 scripts/checkpoint.py '提交说明' <明确文件...>`,该脚本只对当前分支提交、推送并核验 **origin**,不会推送 GitHub,也不要在外层已持有同一 origin 锁时嵌套调用它。GitHub 还需单独推送当前分支,发布时明确推送新的标签,两端都读回对应引用与本地 SHA 比较。
|
||
|
||
提交和推送使用 `/Users/dayu/.codex/git-backup-locks/` 中的共享互斥锁。锁名为无凭据、转小写并去尾斜线的完整 HTTPS 仓库地址(保留 `.git`)的 SHA-256 加 `.lock`,`owner.json` 记录 PID、cwd、remote;不清理其他仍在工作的持有者。
|
||
|
||
本机 GitHub CLI 为 `/opt/homebrew/bin/gh`,本次已由用户登录 `FAMEDaYu`,HTTPS 凭据在钥匙串中。接手时用 `gh auth status` 确认;连接器曾使用其他只读账号,不能用连接器权限推断 CLI 登录失效,也不打印令牌。大鱼仓库管理使用 `dayu-git` CLI,指南在 `/Users/dayu/Documents/dayu-git/README.md` 与 `API.md`。
|
||
|
||
恢复范围仅覆盖已经提交、推送并核验的节点与实际上传的必要资源。用户素材、忽略的 build、私钥不在此范围。大鱼服务器当前只有手动备份,不能据此承诺本机与服务器同时损坏也可恢复。
|
||
|
||
## 后续开发优先入口
|
||
|
||
当前无需自动执行以下工作;收到相应需求后再开展。
|
||
|
||
1. 用户继续反馈脸型差异时,先隔离单项、核对实际加载版本、原点与 76 点解剖索引,再分析目标对应局部数学。优先补齐仍近似的五项及组合顺序,不能仅调大整体强度。
|
||
2. 跟随异常时,围绕多人交叉、遮挡、切镜、冷缓存、乱序和同尺寸换源制作明确样本,比较主体关联和历史选择,而不是先增加手动分析按钮。
|
||
3. 面板改动时,覆盖真实 action 生命周期、持续步进、输入焦点、撤销、重置、保存重开及旧工程;补充原生 VoiceOver 和实际关键帧交互验收。
|
||
4. 新版本发布时,沿用固定身份和唯一正式路径,记录本次真实签名源码,完成 APP/PKG 公证与恢复验证,更新原文章和两个远端,不覆盖旧标签。
|
||
|
||
目标参考为 `/Applications/MSE18V2.app` 及用户原 MS 模板,仅用于只读分析。现有 REA、CPU 和 AIR 证据在 `docs/analysis/`;新分析按 `reverse-engineer-anything` 技能继续。不上传或打包原版 APP、模型、metallib、用户视频和完整人脸坐标。
|
||
|
||
2026-10-22 用户已纠正“瘦身”为新增面板参数,目标仍是 `/Users/dayu/Downloads/MSE18V2.app`(2.4.0 / 20260724150000)。现沿 `codex/new-beauty-controls` 接入连续五官保护、非肤色区保护和局部微细锐化,保留旧 30/17/4 参数及归档;见[新版磨皮参数迁移](analysis/新版磨皮参数迁移.md)。本段更新时 1.3.0(15)源码和自动验证已完成,正式安装仍为 1.2.0;最终交付状态以新回执为准。[原瘦身目标核对](analysis/瘦身迁移目标核对.md)只保留历史,不再是待澄清项。
|