Analyze contour-based reference slimming and profile deformation gap; preserve installed 1.0.4
这个提交包含在:
1 父节点
302dc20c0a
当前提交
2a856c669a
7 个文件已更改
+592
-1
没有与搜索条件相匹配的文件
@@ -0,0 +1,385 @@
|
||||
{
|
||||
"schema": 1,
|
||||
"date": "2026-10-21",
|
||||
"request": "最大瘦脸差异与人物转脸时的变形机制",
|
||||
"reference": {
|
||||
"plugin_sha256": "6c5d74bc844a5c5f745718b48ea10ec6635d08aa08a5b6dc6e62653980849f8a",
|
||||
"arm64_sha256": "f01e8c0b7e2676b2961950b0e48efdd2589af218e4b36de7d39f5d1c76852bfb",
|
||||
"metallib_sha256": "4e8c77db8be94ae169337a2e646407f69520b63afb248faa653e0e068237aaae"
|
||||
},
|
||||
"air_observation": {
|
||||
"authority": "static Apple metal-objdump AIR disassembly; not observed shader execution",
|
||||
"command": "xcrun metal-objdump --metallib --disassemble-symbols=faceThinFragmentShader <reference default.metallib>",
|
||||
"full_output_sha256": "f97705b88f5491057df2117aef457ffca84e11020574cd57742b0670db4484d8",
|
||||
"full_output_bytes": 274496,
|
||||
"local_output": "build/pose-analysis/face-thin.air.txt",
|
||||
"module": "faceThinFragmentShader",
|
||||
"module_metallib_offset": "0x5d5e",
|
||||
"function": "mssFaceShapePinCoordinate",
|
||||
"active_branch": "faceShapeParamsActive selects Shape helper; inactive branch alone selects legacy Thin helper",
|
||||
"local_pin_triplets": [
|
||||
[
|
||||
75,
|
||||
74,
|
||||
6
|
||||
],
|
||||
[
|
||||
59,
|
||||
60,
|
||||
13
|
||||
],
|
||||
[
|
||||
74,
|
||||
73,
|
||||
47
|
||||
],
|
||||
[
|
||||
60,
|
||||
61,
|
||||
47
|
||||
],
|
||||
[
|
||||
73,
|
||||
72,
|
||||
47
|
||||
],
|
||||
[
|
||||
61,
|
||||
62,
|
||||
47
|
||||
],
|
||||
[
|
||||
72,
|
||||
71,
|
||||
48
|
||||
],
|
||||
[
|
||||
62,
|
||||
63,
|
||||
48
|
||||
],
|
||||
[
|
||||
71,
|
||||
70,
|
||||
48
|
||||
],
|
||||
[
|
||||
63,
|
||||
64,
|
||||
48
|
||||
],
|
||||
[
|
||||
70,
|
||||
69,
|
||||
49
|
||||
],
|
||||
[
|
||||
64,
|
||||
65,
|
||||
49
|
||||
],
|
||||
[
|
||||
69,
|
||||
68,
|
||||
49
|
||||
],
|
||||
[
|
||||
65,
|
||||
66,
|
||||
49
|
||||
],
|
||||
[
|
||||
68,
|
||||
67,
|
||||
52
|
||||
],
|
||||
[
|
||||
66,
|
||||
67,
|
||||
52
|
||||
],
|
||||
[
|
||||
67,
|
||||
65,
|
||||
47
|
||||
]
|
||||
],
|
||||
"triplet_usage": "first=origin, third=anchor; second unused in thin loop",
|
||||
"thin_cpu_scale": 0.025,
|
||||
"size_gain": "clamp(280/max(length((P75-P59)*imageSize),2*length((P67-(P74+P60)/2)*imageSize),1),1,2.25)",
|
||||
"effective_pin_gain": "clamp(UI thin,0,1) * strengthMultiplier * 0.025 * size_gain",
|
||||
"radius": "length(origin-anchor) in normalized image UV",
|
||||
"falloff": "clamp(1-length(currentSampleCoordinate-origin)/radius,0,1)",
|
||||
"inverse_sample_step": "q = clamp(q-(anchor-origin)*effective_pin_gain*falloff,0,1)",
|
||||
"iteration": "17 sequential updates; not 17 independent offsets evaluated at one original coordinate",
|
||||
"bounded_negative_findings": [
|
||||
"No yaw/roll/pitch input to the checked GPU helpers",
|
||||
"No explicit side-view angle gate in the checked thin branch",
|
||||
"No explicit eye/nose restore mask in the checked thin branch; each single pin has zero weight at its own anchor"
|
||||
],
|
||||
"limits": [
|
||||
"This is a 2D local landmark deformation, not proof of 3D head pose estimation",
|
||||
"Static paths are not a capture of the exact runtime branch used in the supplied screenshots",
|
||||
"Other contour controls include fixed horizontal offsets; not all controls share rotation-equivariant behavior"
|
||||
]
|
||||
},
|
||||
"vision_probe": {
|
||||
"authority": "Independent public Apple Vision / AVFoundation invocation; no reference app or plug-in executed",
|
||||
"script": "scripts/inspect-face-geometry.m",
|
||||
"revision": 3,
|
||||
"constellation": 76,
|
||||
"maximum_dimension": 1280,
|
||||
"coordinate_system": "full-image normalized, y up",
|
||||
"region_indices": {
|
||||
"contour": [
|
||||
59,
|
||||
60,
|
||||
61,
|
||||
62,
|
||||
63,
|
||||
64,
|
||||
65,
|
||||
66,
|
||||
67,
|
||||
68,
|
||||
69,
|
||||
70,
|
||||
71,
|
||||
72,
|
||||
73,
|
||||
74,
|
||||
75
|
||||
],
|
||||
"innerLips": [
|
||||
42,
|
||||
40,
|
||||
43,
|
||||
45,
|
||||
41,
|
||||
44
|
||||
],
|
||||
"leftEye": [
|
||||
0,
|
||||
4,
|
||||
5,
|
||||
1,
|
||||
3,
|
||||
2
|
||||
],
|
||||
"leftPupil": [
|
||||
6
|
||||
],
|
||||
"nose": [
|
||||
47,
|
||||
56,
|
||||
54,
|
||||
53,
|
||||
52,
|
||||
51,
|
||||
50,
|
||||
55
|
||||
],
|
||||
"noseCrest": [
|
||||
46,
|
||||
47,
|
||||
48,
|
||||
49,
|
||||
58,
|
||||
57
|
||||
],
|
||||
"outerLips": [
|
||||
27,
|
||||
28,
|
||||
29,
|
||||
30,
|
||||
31,
|
||||
32,
|
||||
33,
|
||||
34,
|
||||
35,
|
||||
36,
|
||||
37,
|
||||
38,
|
||||
39,
|
||||
26
|
||||
],
|
||||
"rightEye": [
|
||||
7,
|
||||
11,
|
||||
12,
|
||||
8,
|
||||
10,
|
||||
9
|
||||
],
|
||||
"rightPupil": [
|
||||
13
|
||||
]
|
||||
},
|
||||
"frames": [
|
||||
{
|
||||
"time": 0,
|
||||
"face_count": 1,
|
||||
"all_point_counts": [
|
||||
76
|
||||
],
|
||||
"yaw_radians": [
|
||||
0
|
||||
],
|
||||
"pitch_radians": [
|
||||
null
|
||||
]
|
||||
},
|
||||
{
|
||||
"time": 2,
|
||||
"face_count": 1,
|
||||
"all_point_counts": [
|
||||
76
|
||||
],
|
||||
"yaw_radians": [
|
||||
0.7853981852531433
|
||||
],
|
||||
"pitch_radians": [
|
||||
null
|
||||
]
|
||||
},
|
||||
{
|
||||
"time": 4,
|
||||
"face_count": 1,
|
||||
"all_point_counts": [
|
||||
76
|
||||
],
|
||||
"yaw_radians": [
|
||||
1.5707963705062866
|
||||
],
|
||||
"pitch_radians": [
|
||||
null
|
||||
]
|
||||
},
|
||||
{
|
||||
"time": 6,
|
||||
"face_count": 1,
|
||||
"all_point_counts": [
|
||||
76
|
||||
],
|
||||
"yaw_radians": [
|
||||
0
|
||||
],
|
||||
"pitch_radians": [
|
||||
null
|
||||
]
|
||||
},
|
||||
{
|
||||
"time": 8,
|
||||
"face_count": 1,
|
||||
"all_point_counts": [
|
||||
76
|
||||
],
|
||||
"yaw_radians": [
|
||||
0
|
||||
],
|
||||
"pitch_radians": [
|
||||
null
|
||||
]
|
||||
},
|
||||
{
|
||||
"time": 10,
|
||||
"face_count": 1,
|
||||
"all_point_counts": [
|
||||
76
|
||||
],
|
||||
"yaw_radians": [
|
||||
0
|
||||
],
|
||||
"pitch_radians": [
|
||||
null
|
||||
]
|
||||
},
|
||||
{
|
||||
"time": 12,
|
||||
"face_count": 1,
|
||||
"all_point_counts": [
|
||||
76
|
||||
],
|
||||
"yaw_radians": [
|
||||
0
|
||||
],
|
||||
"pitch_radians": [
|
||||
null
|
||||
]
|
||||
},
|
||||
{
|
||||
"time": 14,
|
||||
"face_count": 1,
|
||||
"all_point_counts": [
|
||||
76
|
||||
],
|
||||
"yaw_radians": [
|
||||
0
|
||||
],
|
||||
"pitch_radians": [
|
||||
null
|
||||
]
|
||||
},
|
||||
{
|
||||
"time": 16,
|
||||
"face_count": 1,
|
||||
"all_point_counts": [
|
||||
76
|
||||
],
|
||||
"yaw_radians": [
|
||||
0
|
||||
],
|
||||
"pitch_radians": [
|
||||
null
|
||||
]
|
||||
},
|
||||
{
|
||||
"time": 18,
|
||||
"face_count": 1,
|
||||
"all_point_counts": [
|
||||
76
|
||||
],
|
||||
"yaw_radians": [
|
||||
1.5707963705062866
|
||||
],
|
||||
"pitch_radians": [
|
||||
null
|
||||
]
|
||||
},
|
||||
{
|
||||
"time": 20,
|
||||
"face_count": 1,
|
||||
"all_point_counts": [
|
||||
76
|
||||
],
|
||||
"yaw_radians": [
|
||||
0.7853981852531433
|
||||
],
|
||||
"pitch_radians": [
|
||||
null
|
||||
]
|
||||
}
|
||||
],
|
||||
"result": "All 11 sampled frames returned one face and 76 points; 4s/18s reported yaw approx pi/2; pitch unavailable",
|
||||
"privacy": "Source frames, complete landmarks and source path remain ignored under build/pose-analysis/vision and are not included in Git"
|
||||
},
|
||||
"reconstruction_baseline": {
|
||||
"commit": "e03e460a9b3e5ad489aad24095485ba10ceb987d",
|
||||
"installed_version": "1.0.4 (6)",
|
||||
"root_causes": [
|
||||
"thin deformation uses bounding box x/y/size rather than saved contour/nose points",
|
||||
"horizontal symmetric inverse warp is applied at full strength for any valid box",
|
||||
"no contour/landmark completeness guard or pose metadata preservation",
|
||||
"fixed coefficients do not match reference local-pin scaling"
|
||||
],
|
||||
"direction_check": "Positive thin samples outward and moves image features inward; the sign is not reversed",
|
||||
"test_gap": "Existing geometry tests establish pixel changes, extent and persistence, not reference likeness or profile shape preservation"
|
||||
},
|
||||
"checklist": {
|
||||
"why_maximum_slim_differs": "answered: different geometric model, locality and effective strength",
|
||||
"how_profile_is_handled": "answered within checked active thin path: projected 2D landmarks, local directions/radii; no established explicit yaw gate",
|
||||
"full_native_visual_equivalence": "unverified; screenshots are not a synchronized isolated-parameter capture",
|
||||
"product_fix": "not changed by this analysis; installed 1.0.4 retains the reported issue"
|
||||
},
|
||||
"host_boundary": "User controls Motion/FCP; no UI interaction, host shutdown, app install or plug-in replacement in this analysis."
|
||||
}
|
||||
在新工单中引用
屏蔽一个用户