Align 2.4.0 pin tracking and pupil-based eyes; add sequence and target-field regressions

这个提交包含在:
dayu 于 2026-10-23 00:09:32 +08:00 提交
1 父节点 524f536a53
当前提交 75e7f4a00d
26 个文件已更改
+16839 -87

没有与搜索条件相匹配的文件

@@ -0,0 +1,195 @@
# 2.4.0 region / pin branch review
2026-10-23. Independent read-only review of the existing AIR and local arm64
slice. No shared REA operation, target execution, product edit, Git operation,
or user image/landmark extraction was performed.
## The default-path correction
**The inspected main encoders and both direct fallback callers select mode 0
(pin), not region. Fragment buffer 8 is sampleFlipY, not faceThinMode.**
AIR file: `build/vface-analysis/new-face-thin.air.txt`, SHA-256
`1d5bd8d5a3917afbb3b4fe1c40b44480760614102685ac826e84ad2e30a450f9`.
Arm64 slice: `build/tracking-audit/MSE18V2-arm64`, SHA-256
`afc71d0d21fd3c1ca95ca745ddafcd729e36ad95f17d8638009f2e45d9b7e8df`.
AIR metadata lines 4126–4135 give the actual Metal binding indices:
| Fragment buffer | Name | AIR parameter |
| --- | --- | --- |
| 0 | facePoints | `%3` |
| 1 | faceCount | `%4` |
| 2 | faceThinStrength | `%5` |
| 4 | faceThinMode | `%6` |
| 7 | faceShapeParams | `%7` |
| 8 | sampleFlipY | `%8` |
| 9 | warpFlipY | `%9` |
| 10 | sourceSampleRect | `%10` |
This is not merely a name inference: lines 447–465 load `%6`, test it `>0`,
and choose region. Lines 569–583 load `%8` and perform the final sample Y flip.
The independent native instruction check used Xcode llvm-objdump on that exact
slice; addresses below are original virtual addresses. The ObjC stub
`0x100081d00` is `setFragmentBytes:length:atIndex:` in the saved REA pseudocode.
| Native path | Source of buffer 4 data | Binding instructions | Result |
| --- | --- | --- | --- |
| `FUN_100030084` | `0x1000300d0: str wzr,[sp,#0x70]` | `0x100030524 add x2,sp,#0x70`; `0x100030530 mov w4,#4`; call `0x100030534` | mode 0 |
| `FUN_100030840` | `0x100030888: str wzr,[sp,#0x70]` | `0x100030bf4 add x2,sp,#0x70`; `0x100030c00 mov w4,#4`; call `0x100030c04` | mode 0 |
| `FUN_10003127c`, called at `0x100027a34` | caller `0x1000279f8 str wzr,[sp,#0x18]` | callee `0x10003156c add x2,x29,#0x28`; `0x100031578 mov w4,#4`; call `0x10003157c` | mode 0 |
| `FUN_10003127c`, called at `0x10002be14` | `0x10002bd04 str wzr,[sp,#0xbc]`; `0x10002bdb4 ldr w9,[sp,#0xbc]`; `0x10002bde0 str w9,[sp,#0x18]` | same callee binding | mode 0 |
| inline fallback in `FUN_10002b8a4` | same zero at `0x10002bd04` | `0x10002bf74 add x2,sp,#0xbc`; `0x10002bf80 mov w4,#4`; call `0x10002bf84` | mode 0 |
The callee creates a 0x110-byte frame and sets fp=sp+0x100, so its fp+0x28
is the caller's sp+0x18. The whole decoded executable text contains exactly
the two direct `bl 0x10003127c` calls listed above. This bounds the conclusion:
the inspected default/fallback paths do not establish any fixed region=1 path;
this is not an exhaustive exclusion of arbitrary indirect calls or runtime
buffer replacement.
Saved provider corroboration in `renderpath-evidence.json`:
- `0x100030084`: `ev_f6e9622db324900aa5bc7d21598097df4abfb2f1270503751af959c61d7c8405`.
- `0x100030840`: `ev_30343763e68d261f018fb476b50a8695ca677d85cbcea9eda709c4e46c89ada6`.
- `0x10003127c`: `ev_537b8f52a769c64a08223b18f0fb2fd1a0b1daa0f44ffeb9b5c132513a9bcaf8`.
- inline fallback `0x10002b8a4`: `ev_4a2bf9e0530d651ae929ef861a2c52bfdf691445def0a16d8bbe07d723ce0c0e`.
## Exact shader branch contract
`faceThinFragmentShader` lines 388–587:
1. `warpFlipY` optionally flips the working UV before deformation (389–402).
2. Source texture width/height are read and clamped to >=1 (427–434).
3. If any shape parameter is active, iterate faces with **stride77** (454).
With mode>0, run region with `clamp(abs(shoulian)*40,0,1)` (458–465), then
run the other shape pins with thin forced to0 (470–474). With mode0, run
`mssFaceShapePinCoordinate` with the original thin parameter (478).
4. If the shape structure is inactive but the separate faceThinStrength is
active, mode>0 uses region directly with clamped overall strength (506);
mode0 calls the old thin pin with `0.025*clamp(strength,0,1)` (510–512).
5. Clamp UV, undo warpFlipY, map sourceSampleRect, clamp again, apply sampleFlipY,
then sample the source (521–583). These are separate coordinate operations.
The active-shape pin helper's thin branch at 3168–3268 uses its incoming thin
ratio directly in the sequential17 pin field. Its pixel-size vector is not
used in that branch. This does not alone prove the CPU supplies no size gain;
CPU parameter generation remains a separate evidence question.
Therefore region should not replace the default field based on buffer8=1.
The current frame's qualified points may be accepted as-is without implying
that its spatial warp must be changed to region.
## Region function, retained as an optional-path analysis
`mssFaceThinRegionCoordinate` is lines 706–2835 (another copy appears at
4369 onward inside the offset-map shader). Its inputs are working UV, readonly
point array, face offset, strength, and source texture size. There is **no time,
previous frame, previous point set, persistent buffer write, texture history,
atomic, or other temporal input**. All stores in this function initialize local
index arrays. It is a pure spatial function of the supplied points/parameters.
Use `S=(sourceTextureWidth,sourceTextureHeight)`; the point buffer stores UVs.
The function loads `P76` as center (747–750), obtains contour bounds from all
17 points59..75 (714–793), and computes `W/H` as contour spans multiplied by S
(757–772). It returns identity for W<=1 or H<=1 (773–776).
Query `p=uv*S` at810. Radius, distance, axis normalization, and most amplitude
caps are calculated in **pixel space**. The contour center and all point
positions must be multiplied componentwise by S before such operations.
Displacements are divided componentwise by S to return to UV. Substituting UV
Euclidean distance for pixel Euclidean distance changes the aspect behavior.
The main axis is normalized `P67*S - P76*S`, falling back to (0,1); its
perpendicular is `(axis.y,-axis.x)` (863–894). This is based on chin and center,
not a fixed vertical image direction, and follows head roll.
Strength `s=clamp(input,0,1)` is nonlinearly mapped:
`u=mix(s,s*s*(3-2*s),.28)`, `a=.105*u*(1.08-.08*u)` (795–805).
Aspect and asymmetric left/right center-to-contour spans modulate the field
(812–841). These are spatial shape adaptations, not temporal smoothing.
The output is a combination of:
- An analytic side contraction with head-local horizontal/vertical smooth
envelopes and analytic face support (862–1117).
- A neighbor-aware17-contour weighted field (1133–1638), with protected center
anchors, smooth radial/directional support, weight-sum normalization and a
pixel amplitude cap.
- Another17-contour field with strength-dependent neighboring-point averaging
(`mix(Pi,(Pprev+2*Pi+Pnext)/4,alpha)`,1683–1699); contour index distance from
chin67 affects weights (1704 onward); contributions are accumulated before
normalization rather than sequentially updating the query (1905–1939).
- Additional lower-face/chin components using65..69, including a three-point
chin mean and roll-aware local envelopes (1954–2765).
Final group caps include `(0.04+.066*s)*W` and `(0.064+.058*s)*W`
(2785–2814). The final face envelope multiplies the total by
`.32+.68*analyticMask`, then returns `clamp(uv-totalUVDisplacement,0,1)`
(2815–2829). This is an inverse sampling field.
These features can reduce sensitivity to an isolated spatial point perturbation
if this mode is selected; that is an inference about the mathematics, not a
measured temporal improvement or evidence that the default path uses it.
## Protection formulas
Below `smooth(a,b,x)` means smoothstep with clamped input. All dimensions and
distances here are in pixels, and decimal constants are decoded AIR float
constants (small float rounding retained in the original text).
Let `C=P76*S`, `D=normalize(P67*S-C)`, `T=(D.y,-D.x)`.
Analytic face mask, lines2839–2916:
```
q = p-C-.12*H*D
x = dot(q,T)/max(.5*W,1)
y = dot(q,D)/max(.7*H,1)
r = sqrt(x*x+y*y)
mask = (1-smooth(.88,1.03,r)) * smooth(-.92,-.72,y)
* (1-smooth(1.02,1.16,y))
```
Temple factor, lines3047–3149:
```
x = abs(dot(p-C,T))/max(.52*W,1)
y = dot(p-C,D)/max(.60*H,1)
k = smooth(-.28,-.02,y) * (1-smooth(.42,.72,y))
factor = clamp(1
-.62*smooth(.50,.80,x)*(1-smooth(-.46,-.14,y))*(1-.86*k)
-.20*smooth(.34,.70,x)*(1-smooth(-.72,-.34,y))*(1-.70*k), .30,1)
```
Anchor factor, lines2993–3043: indices47/48/49/52/76; radius
`R=max(12,.28*min(W,H))`; take the minimum
`smooth(.34*R,R,distance(p,Pi*S))`, then clamp to [.12,1].
Chin/mouth factor, lines2929–2977: indices47/48/49/52; radius
`R=max(10,.16*min(W,H))`; take the minimum
`smooth(.38*R,R,distance(p,Pi*S))`, then clamp to [.24,1].
The floors protect without hard disabling the whole field. Several region
subcomponents additionally interpolate these factors by their local support,
so merely multiplying an old17-pin warp by these factors is not equivalent.
## Smallest justified alignment path
For the inspected default: keep the pin family and validate the actual CPU
ratios, point layout/UV orientation, operation order and optional offset-map
processing. Do not insert region or stronger point smoothing as an asserted
fix for the user's clip. The large eye control and any offset-map spatial
filter need their own evidence; this review has not established their exact
runtime contribution.
Only if a separate reachable region-mode path is later established should its
field be reconstructed. A faithful implementation needs the pure coordinate
function, all four protections, pixel-space geometry, contour accumulation and
caps, followed by the remaining shape pins with thin=0. Evaluate that same
coordinate map for RGB and every mask. A generated float2 offset texture plus
one inverse sampler is a viable integration boundary; a reduced grid introduces
an approximation and needs measured UV error. Temporal state belongs upstream.
No region=1 runtime path or target output has been observed by this audit.
@@ -0,0 +1,453 @@
{
"cases" : [
{
"eye" : 0,
"height" : 256,
"maximum_displacement_pixels" : 0,
"maximum_independent_error_pixels" : 0,
"maximum_target_error_pixels" : 0,
"name" : "pose0 size0 passthrough",
"target_rms_error_pixels" : 0,
"thin" : 0,
"width" : 256
},
{
"eye" : 0.25,
"height" : 256,
"maximum_displacement_pixels" : 0.35382923640349639,
"maximum_independent_error_pixels" : 0.0026882437460426967,
"maximum_target_error_pixels" : 0.00390625,
"name" : "pose0 size0 eye-only",
"target_rms_error_pixels" : 2.1921713206428187e-05,
"thin" : 0,
"width" : 256
},
{
"eye" : 0,
"height" : 256,
"maximum_displacement_pixels" : 7.0728000415791215,
"maximum_independent_error_pixels" : 0.002755077444486212,
"maximum_target_error_pixels" : 0.00390625,
"name" : "pose0 size0 thin-only",
"target_rms_error_pixels" : 0.00011702992366181097,
"thin" : 1,
"width" : 256
},
{
"eye" : 0.25,
"height" : 256,
"maximum_displacement_pixels" : 7.0728000415791215,
"maximum_independent_error_pixels" : 0.0027413680285147649,
"maximum_target_error_pixels" : 0.00390625,
"name" : "pose0 size0 thin+eye",
"target_rms_error_pixels" : 0.0001240079365079365,
"thin" : 1,
"width" : 256
},
{
"eye" : 0,
"height" : 216,
"maximum_displacement_pixels" : 2.3980817331903381e-14,
"maximum_independent_error_pixels" : 9.830249857363302e-06,
"maximum_target_error_pixels" : 0,
"name" : "pose0 size1 passthrough",
"target_rms_error_pixels" : 0,
"thin" : 0,
"width" : 384
},
{
"eye" : 0.25,
"height" : 216,
"maximum_displacement_pixels" : 0.53075330293307399,
"maximum_independent_error_pixels" : 0.0027120972635748626,
"maximum_target_error_pixels" : 0.00391387939453125,
"name" : "pose0 size1 eye-only",
"target_rms_error_pixels" : 7.0133057212432167e-05,
"thin" : 0,
"width" : 384
},
{
"eye" : 0,
"height" : 216,
"maximum_displacement_pixels" : 8.2005901709704148,
"maximum_independent_error_pixels" : 0.0027728968676576145,
"maximum_target_error_pixels" : 0.00391387939453125,
"name" : "pose0 size1 thin-only",
"target_rms_error_pixels" : 0.00023521707359494627,
"thin" : 1,
"width" : 384
},
{
"eye" : 0.25,
"height" : 216,
"maximum_displacement_pixels" : 8.2005901709704148,
"maximum_independent_error_pixels" : 0.0027728968676576145,
"maximum_target_error_pixels" : 0.00391387939453125,
"name" : "pose0 size1 thin+eye",
"target_rms_error_pixels" : 0.00024352479987655608,
"thin" : 1,
"width" : 384
},
{
"eye" : 0,
"height" : 320,
"maximum_displacement_pixels" : 1.7763568394002505e-14,
"maximum_independent_error_pixels" : 8.5299224090530028e-06,
"maximum_target_error_pixels" : 0,
"name" : "pose0 size2 passthrough",
"target_rms_error_pixels" : 0,
"thin" : 0,
"width" : 192
},
{
"eye" : 0.25,
"height" : 320,
"maximum_displacement_pixels" : 0.26537789376221338,
"maximum_independent_error_pixels" : 0.0026286369668807358,
"maximum_target_error_pixels" : 0.00391387939453125,
"name" : "pose0 size2 eye-only",
"target_rms_error_pixels" : 5.0712301697452399e-05,
"thin" : 0,
"width" : 192
},
{
"eye" : 0,
"height" : 320,
"maximum_displacement_pixels" : 8.8528177374135399,
"maximum_independent_error_pixels" : 0.0027577518479714133,
"maximum_target_error_pixels" : 0.00391387939453125,
"name" : "pose0 size2 thin-only",
"target_rms_error_pixels" : 0.0002095422906842435,
"thin" : 1,
"width" : 192
},
{
"eye" : 0.25,
"height" : 320,
"maximum_displacement_pixels" : 8.8528177374135399,
"maximum_independent_error_pixels" : 0.0027577518479714133,
"maximum_target_error_pixels" : 0.00391387939453125,
"name" : "pose0 size2 thin+eye",
"target_rms_error_pixels" : 0.00021076686089680123,
"thin" : 1,
"width" : 192
},
{
"eye" : 0,
"height" : 256,
"maximum_displacement_pixels" : 0,
"maximum_independent_error_pixels" : 0,
"maximum_target_error_pixels" : 0,
"name" : "pose1 size0 passthrough",
"target_rms_error_pixels" : 0,
"thin" : 0,
"width" : 256
},
{
"eye" : 0.90354866293532343,
"height" : 256,
"maximum_displacement_pixels" : 1.4980655360450705,
"maximum_independent_error_pixels" : 0.002736966310374967,
"maximum_target_error_pixels" : 0.00390625,
"name" : "pose1 size0 eye-only",
"target_rms_error_pixels" : 3.7969521062487261e-05,
"thin" : 0,
"width" : 256
},
{
"eye" : 0,
"height" : 256,
"maximum_displacement_pixels" : 8.2983365210307376,
"maximum_independent_error_pixels" : 0.0027466016331799312,
"maximum_target_error_pixels" : 0.00390625,
"name" : "pose1 size0 thin-only",
"target_rms_error_pixels" : 0.00012969060431145763,
"thin" : 1,
"width" : 256
},
{
"eye" : 0.90354866293532343,
"height" : 256,
"maximum_displacement_pixels" : 8.2983365210307376,
"maximum_independent_error_pixels" : 0.0027466016331799312,
"maximum_target_error_pixels" : 0.00390625,
"name" : "pose1 size0 thin+eye",
"target_rms_error_pixels" : 0.0001249729933702032,
"thin" : 1,
"width" : 256
},
{
"eye" : 0,
"height" : 216,
"maximum_displacement_pixels" : 2.3980817331903381e-14,
"maximum_independent_error_pixels" : 9.830249857363302e-06,
"maximum_target_error_pixels" : 0,
"name" : "pose1 size1 passthrough",
"target_rms_error_pixels" : 0,
"thin" : 0,
"width" : 384
},
{
"eye" : 0.90354866293532343,
"height" : 216,
"maximum_displacement_pixels" : 2.1744460803927361,
"maximum_independent_error_pixels" : 0.002720070336115162,
"maximum_target_error_pixels" : 0.00391387939453125,
"name" : "pose1 size1 eye-only",
"target_rms_error_pixels" : 9.2332938119698104e-05,
"thin" : 0,
"width" : 384
},
{
"eye" : 0,
"height" : 216,
"maximum_displacement_pixels" : 10.38677748064452,
"maximum_independent_error_pixels" : 0.0027597851282901023,
"maximum_target_error_pixels" : 0.0055219139903783798,
"name" : "pose1 size1 thin-only",
"target_rms_error_pixels" : 0.00026077041763909807,
"thin" : 1,
"width" : 384
},
{
"eye" : 0.90354866293532343,
"height" : 216,
"maximum_displacement_pixels" : 10.38677748064452,
"maximum_independent_error_pixels" : 0.0027597851282901023,
"maximum_target_error_pixels" : 0.0055219139903783798,
"name" : "pose1 size1 thin+eye",
"target_rms_error_pixels" : 0.00026150911830191969,
"thin" : 1,
"width" : 384
},
{
"eye" : 0,
"height" : 320,
"maximum_displacement_pixels" : 1.7763568394002505e-14,
"maximum_independent_error_pixels" : 8.5299224090530028e-06,
"maximum_target_error_pixels" : 0,
"name" : "pose1 size2 passthrough",
"target_rms_error_pixels" : 0,
"thin" : 0,
"width" : 192
},
{
"eye" : 0.90354866293532343,
"height" : 320,
"maximum_displacement_pixels" : 1.2129269895950687,
"maximum_independent_error_pixels" : 0.0027074615946477646,
"maximum_target_error_pixels" : 0.003910064697265625,
"name" : "pose1 size2 eye-only",
"target_rms_error_pixels" : 4.5346296046615942e-05,
"thin" : 0,
"width" : 192
},
{
"eye" : 0,
"height" : 320,
"maximum_displacement_pixels" : 10.144258143830054,
"maximum_independent_error_pixels" : 0.0027638516828663376,
"maximum_target_error_pixels" : 0.00391387939453125,
"name" : "pose1 size2 thin-only",
"target_rms_error_pixels" : 0.00022775554094271662,
"thin" : 1,
"width" : 192
},
{
"eye" : 0.90354866293532343,
"height" : 320,
"maximum_displacement_pixels" : 10.144258143830054,
"maximum_independent_error_pixels" : 0.0027638516828663376,
"maximum_target_error_pixels" : 0.00391387939453125,
"name" : "pose1 size2 thin+eye",
"target_rms_error_pixels" : 0.00022830552736565732,
"thin" : 1,
"width" : 192
},
{
"eye" : 0,
"height" : 256,
"maximum_displacement_pixels" : 0,
"maximum_independent_error_pixels" : 0,
"maximum_target_error_pixels" : 0,
"name" : "pose2 size0 passthrough",
"target_rms_error_pixels" : 0,
"thin" : 0,
"width" : 256
},
{
"eye" : 1,
"height" : 256,
"maximum_displacement_pixels" : 1.9006110949587283,
"maximum_independent_error_pixels" : 0.0026860115231048072,
"maximum_target_error_pixels" : 0.00390625,
"name" : "pose2 size0 eye-only",
"target_rms_error_pixels" : 4.1011770074785939e-05,
"thin" : 0,
"width" : 256
},
{
"eye" : 0,
"height" : 256,
"maximum_displacement_pixels" : 9.5084281896725376,
"maximum_independent_error_pixels" : 0.0027749358063331774,
"maximum_target_error_pixels" : 0.00390625,
"name" : "pose2 size0 thin-only",
"target_rms_error_pixels" : 0.00017673850215450427,
"thin" : 1,
"width" : 256
},
{
"eye" : 1,
"height" : 256,
"maximum_displacement_pixels" : 9.5084281896725376,
"maximum_independent_error_pixels" : 0.0027749358063331774,
"maximum_target_error_pixels" : 0.00390625,
"name" : "pose2 size0 thin+eye",
"target_rms_error_pixels" : 0.00017399820437006796,
"thin" : 1,
"width" : 256
},
{
"eye" : 0,
"height" : 216,
"maximum_displacement_pixels" : 2.3980817331903381e-14,
"maximum_independent_error_pixels" : 9.830249857363302e-06,
"maximum_target_error_pixels" : 0,
"name" : "pose2 size1 passthrough",
"target_rms_error_pixels" : 0,
"thin" : 0,
"width" : 384
},
{
"eye" : 1,
"height" : 216,
"maximum_displacement_pixels" : 2.65191960410192,
"maximum_independent_error_pixels" : 0.0026956562280248753,
"maximum_target_error_pixels" : 0.00391387939453125,
"name" : "pose2 size1 eye-only",
"target_rms_error_pixels" : 0.00010205516806844121,
"thin" : 0,
"width" : 384
},
{
"eye" : 0,
"height" : 216,
"maximum_displacement_pixels" : 12.235777303453091,
"maximum_independent_error_pixels" : 0.002741529812605142,
"maximum_target_error_pixels" : 0.00391387939453125,
"name" : "pose2 size1 thin-only",
"target_rms_error_pixels" : 0.0002526036292317462,
"thin" : 1,
"width" : 384
},
{
"eye" : 1,
"height" : 216,
"maximum_displacement_pixels" : 12.235777303453091,
"maximum_independent_error_pixels" : 0.0027522254693324445,
"maximum_target_error_pixels" : 0.00391387939453125,
"name" : "pose2 size1 thin+eye",
"target_rms_error_pixels" : 0.00025965073459259622,
"thin" : 1,
"width" : 384
},
{
"eye" : 0,
"height" : 320,
"maximum_displacement_pixels" : 1.7763568394002505e-14,
"maximum_independent_error_pixels" : 8.5299224090530028e-06,
"maximum_target_error_pixels" : 0,
"name" : "pose2 size2 passthrough",
"target_rms_error_pixels" : 0,
"thin" : 0,
"width" : 192
},
{
"eye" : 1,
"height" : 320,
"maximum_displacement_pixels" : 1.6564609111123645,
"maximum_independent_error_pixels" : 0.002608603255927031,
"maximum_target_error_pixels" : 0.003910064697265625,
"name" : "pose2 size2 eye-only",
"target_rms_error_pixels" : 3.5839771916069625e-05,
"thin" : 0,
"width" : 192
},
{
"eye" : 0,
"height" : 320,
"maximum_displacement_pixels" : 11.320027734419691,
"maximum_independent_error_pixels" : 0.0027770856999663083,
"maximum_target_error_pixels" : 0.0055225868709385395,
"name" : "pose2 size2 thin-only",
"target_rms_error_pixels" : 0.00022890932538955193,
"thin" : 1,
"width" : 192
},
{
"eye" : 1,
"height" : 320,
"maximum_displacement_pixels" : 11.320027734419691,
"maximum_independent_error_pixels" : 0.0027770856999663083,
"maximum_target_error_pixels" : 0.0055225868709385395,
"name" : "pose2 size2 thin+eye",
"target_rms_error_pixels" : 0.0002305974089591263,
"thin" : 1,
"width" : 192
},
{
"eye" : 1,
"height" : 216,
"maximum_displacement_pixels" : 2.6925237951548051,
"maximum_independent_error_pixels" : 0.0027203383917974236,
"maximum_target_error_pixels" : 0.00391387939453125,
"name" : "indexed eye centers",
"target_rms_error_pixels" : 8.2559591202410913e-05,
"thin" : 0,
"width" : 384
},
{
"eye" : -0.5,
"height" : 216,
"maximum_displacement_pixels" : 2.3980817331903381e-14,
"maximum_independent_error_pixels" : 9.830249857363302e-06,
"maximum_target_error_pixels" : 0,
"name" : "negative eye strength clamps to zero",
"target_rms_error_pixels" : 0,
"thin" : 0,
"width" : 384
},
{
"eye" : 2,
"height" : 216,
"maximum_displacement_pixels" : 2.6925237951548051,
"maximum_independent_error_pixels" : 0.0027203383917974236,
"maximum_target_error_pixels" : 0.00391387939453125,
"name" : "high eye strength clamps to one",
"target_rms_error_pixels" : 8.2559591202410913e-05,
"thin" : 0,
"width" : 384
},
{
"eye" : 0.90000000000000002,
"height" : 216,
"maximum_displacement_pixels" : 6.9857867334571617,
"maximum_independent_error_pixels" : 0.0027701099063711732,
"maximum_target_error_pixels" : 0.00391387939453125,
"name" : "overlapping sequential eyes",
"target_rms_error_pixels" : 0.00024035192027544236,
"thin" : 0.69999999999999996,
"width" : 384
}
],
"checks" : 211,
"device" : "Apple M1 Max",
"maximum_independent_error_pixels" : 0.0027770856999663083,
"maximum_target_error_pixels" : 0.0055225868709385395,
"mode_buffer4" : 0,
"sample_flip_y_buffer8" : 0,
"scope" : "Authored synthetic Vision76 geometry; thin and big-eye controls only; no user media or target binaries embedded",
"target_oracle_executed" : 1,
"warp_flip_y_buffer9" : 0
}
@@ -101,3 +101,10 @@ build/tracking-diagnostics/inspect-sequence '/绝对路径/源素材.mov' \
用户已要求实施。新增静态证据见 `tracking-flicker-20261022/implementation-evidence.json`。补核对检测长边默认960(0x1000bd1f8),失败/空结果/不足76点时使用RGBA CGImage重试;下巴轴为点66、67、68按1:1.65:1加权减脸框中心,并非眼轴。接纳分支仍为原样复制合格点。新代码已加入对应检测、连续框、质量门槛、下巴轴/中位数/P90保护和保持重映射,反向/模式变化重置对象跟踪,同帧检测和几何复用。
同一草帽素材1920解码、25fps离线重跑469帧:连续框469帧可用,检测/完整76/结构/置信均合格,held为0。输出轮廓步幅P95为0.03344、峰值0.06458;旧输出P95为0.02872、峰值0.05240。两者包含真实动作,不能把更大的输出步幅称为闪烁改善,也不能用合成坏点测试代替此片段的最终视觉验收。实施继续追查关键点后的变形路径;尚未发布或替换已安装版。完整实拍点阵/帧不入仓,仅保留标量摘要。
### 后续变形核对与范围纠正
新shader虽含region算法,但本次确认的主encoder与fallback将buffer4(faceThinMode)写0;buffer8=1是sampleFlipY。不能因region函数存在或buffer8值为1,就称其默认启用。见 `tracking-flicker-20261022/region-mode-review.md` 与 `renderpath-evidence.json`(完整主render指令、encoder汇编及CPU参数)。本轮保留实际可达pin算法,未移植region。
另查明与当前片段叠加相关的两处差异:2.4.0的CPU thin系数为user×0.025,pin shader直接使用,移除本品旧版280像素sizeGain;大眼采用点6/13瞳孔为中心、点0–1/7–8的像素距离为半径,user×0.15与圆形二次权重,先左后右。本品原来使用眼区外框中心、脸框椭圆和smoothstep²,已改为上述明确公式。当前片段大眼约0.90355,不能将其影响全部归于瘦脸跟踪。其余窄脸/颧骨/小头近似与下巴/短脸/下颌既有尺寸增益不在本轮逐像素对齐范围内。
+9
查看文件
@@ -290,3 +290,12 @@ git switch --detach v1.2.0
新增稳定 float ID:75 五官保护量、76 非肤色区保护、77 局部微细锐化。旧 bool 30、独立全局磨皮 17 和全局锐化 4 均保留;后两项在更多设置中,不能重新解释其历史数值。PGBeautySettings v2 只追加三个 float,接受明确的 v1/160 字节旧状态。PGInspectorState 仍为 schema 1,缺 75 时从旧 bool 导入;旧 bool 为 true 时不得覆盖已读到的新浮点值。
1636 项检查与离屏面板已验,含 ASan 宿主/OSC/Inspector;本次未在原生宿主中重新操作新滑杆或验收效果视觉。正式插件发现只核验 PluginKit 路径,不把它写作 FCP 或 Motion 实际加载/画面通过。当前无需重新安装、重做封面或更新 1.2.0 安装包;用户反馈实际效果后继续针对性处理。
## 2026-10-23 跟踪稳定链实施(1.3.3 / 18)
当前开发分支 `codex/tracking-stability-240`,正式安装在交付完成前仍为1.3.2。用户已要求按目标2.4.0实施、签名公证后同步双仓与文章。新默认链:960检测+CGImage重试、VN连续框、结构/置信门槛、下巴轴/quantile异常保护、有效形状保持和同步蒙版、同帧复用/异常可重试。瘦脸去旧sizeGain,大眼切到瞳孔/像素眼宽与.15圆形权重。实际核对的Metal主encoder mode为0;region存在不证明默认启用,勿再次按buffer8误判。
本机目标Metal和生产同点数值场40场景最大坐标差约.005523px;469帧草帽离线采样无掉点/quality hold,但还没有原生时间线的前后导出,不能宣称用户闪烁已消除。详情 `docs/analysis/跟踪闪烁对齐分析.md`。同尺寸换源缺少真正来源ID、fastMulti/多人遮挡、窄脸/颧骨/小头近似与其他旧gain仍有边界。
FCP已切到用户另一项剪辑工程,不应强退或改时间线。新增 `deliver.py --prepare-only` 可在不替换正式APP的情况下完成Release签名公证粘票并释放共享锁;之后 `package-release.py --prepared-app` 用精确Accepted/stapled的staging APP和指定安装模板,经本机PKG工坊打包、公证与payload校验。两种打包来源都要求CDHash匹配交付回执及产品源码未变,防止旧APP与新源码混包。用户保存退出后用 `deliver.py --resume-prepared --wait-for-hosts --user-tests` 安装并清理,再回读正式路径、更新公证安装回执与发布状态。不要将准备完成说成已安装。
+9
查看文件
@@ -166,3 +166,12 @@ origin/github 的 main、工作分支和 v1.3.2 标签已推送并回读。匿
用户报告目标稳定而本插件闪烁。新目标2.4.0的静态REA复核发现瘦脸单主要人脸改走 pin-style 筛选与保持,条件可达连续对象框跟踪。现有旧版自动跟随报告不能作为该新版主路径完全对齐的依据。直接链接当前产品源码的合成探针确认:76点完整/缺失/完整使变形通道85835/0/85835;纯框抖动输出/输入振幅比1;先请求40ms空帧、再补0ms有效脸后,缓存40ms仍空,与顺序请求不同;默认外观蒙版在几何保持时可清零。这些均为合成诊断,不是用户素材或目标运行统计。
见 analysis/跟踪闪烁对齐分析.md 和同目录 tracking-flicker-20261022;诊断入口 `zsh scripts/diagnose-tracking.sh`。产品源码与正式1.3.2保持相同,未构建APP、未安装、未重发PKG或文章。已定位当前FCP草帽素材并以项目25fps独立扫描469帧,全部单脸/完整76点、无held/错误,未复现缺点归零;源5.72秒轮廓步幅raw6.33%、稳定后5.24%,仍含真实头动。原生请求与大眼叠加贡献未分离;原1901项回归不代表连续跟踪稳定性已通过。
## 2026-10-23 · 1.3.3 跟踪稳定链实施与数值场
实时检测改为960长边与CGImage重试;加入连续Vision对象框、完整76/五官结构/置信门槛、加权下巴轴保护、中位数/P90跳变筛选与上一组有效形状保持。重复CMTime冻结检测和几何,反向重新开始对象跟踪,检测API错误也进入live保持;保持形状同步四种美容蒙版。fastMulti和显式离线分析保留其独立语义。
瘦脸去掉旧尺寸增益;大眼改为瞳孔中心、眼宽像素圆和0.15强度映射。图像回归57+123+1034、跟踪序列87、宿主适配370 ASan、OSC98 ASan、面板227 ASan、独立眼部/瘦脸数值126,共2122项通过。另一次可选本机目标Metal对照211项、40场景,最大坐标差0.005523像素,见 `analysis/tracking-flicker-20261022/shape-field-oracle.json`。两批存在重叠,不将211再加到2118中。
同一草帽源素材25fps/1920离线检查469帧:完整点/质量筛选均通过,连续框全部可用,held为0。没有原生宿主前后导出对照,不能凭上述检查声称该素材闪烁已解决。FCP当前打开另一项剪辑工程,未改该时间线,也未强退宿主。APP安装与发布将在签名公证及安装包准备完成后继续。