{
  "author": "LLM visual review of original frames and flow evidence",
  "times": [
    0,
    14,
    26,
    39,
    52,
    63,
    74,
    83,
    88,
    99
  ],
  "controls": [
    {
      "id": "hair_left",
      "layers": [
        "hair_back_left"
      ],
      "anchors": [
        [
          359,
          313
        ],
        [
          330,
          343
        ]
      ],
      "fields": [
        {
          "center": [
            359,
            313
          ],
          "radii": [
            56,
            52
          ],
          "hardness": 0.3,
          "pins": [
            {
              "center": [
                385,
                263
              ],
              "radii": [
                60,
                38
              ],
              "hardness": 0.6
            }
          ]
        },
        {
          "center": [
            330,
            343
          ],
          "radii": [
            60,
            60
          ],
          "hardness": 0.3,
          "pins": [
            {
              "center": [
                385,
                263
              ],
              "radii": [
                60,
                38
              ],
              "hardness": 0.6
            }
          ]
        }
      ],
      "offsets": [
        [
          [
            0,
            0
          ],
          [
            -14,
            -4
          ],
          [
            -9,
            -5
          ],
          [
            -4,
            -2
          ],
          [
            0,
            2
          ],
          [
            -4,
            0
          ],
          [
            -12,
            -3
          ],
          [
            -10,
            -5
          ],
          [
            -8,
            -5
          ],
          [
            -3,
            -1
          ]
        ],
        [
          [
            0,
            0
          ],
          [
            -30,
            -18
          ],
          [
            -25,
            -20
          ],
          [
            -7,
            -9
          ],
          [
            2,
            2
          ],
          [
            -9,
            -2
          ],
          [
            -30,
            -12
          ],
          [
            -28,
            -20
          ],
          [
            -22,
            -18
          ],
          [
            -8,
            -4
          ]
        ]
      ],
      "reason": "Tip track retains consistent left/up sweep twice. Mid track first fails cumulative consistency at frame 38; conservatively stop using it after the preceding selected event at26. Later middle offsets manually interpolated along the strand, not copied from drift."
    },
    {
      "id": "hair_right",
      "layers": [
        "hair_back_right"
      ],
      "anchors": [
        [
          556,
          269
        ],
        [
          607,
          292
        ]
      ],
      "fields": [
        {
          "axis": [
            [
              504,
              221
            ],
            [
              607,
              292
            ]
          ],
          "profile": 1,
          "center": [
            556,
            269
          ],
          "radii": [
            110,
            95
          ],
          "hardness": 0.3
        },
        {
          "axis": [
            [
              504,
              221
            ],
            [
              607,
              292
            ]
          ],
          "profile": 2,
          "center": [
            607,
            292
          ],
          "radii": [
            110,
            95
          ],
          "hardness": 0.3
        }
      ],
      "offsets": [
        [
          [
            0,
            0
          ],
          [
            -12,
            15
          ],
          [
            3,
            12
          ],
          [
            18,
            3
          ],
          [
            17,
            8
          ],
          [
            8,
            17
          ],
          [
            -5,
            22
          ],
          [
            0,
            20
          ],
          [
            10,
            12
          ],
          [
            19,
            8
          ]
        ],
        [
          [
            0,
            0
          ],
          [
            -28,
            29
          ],
          [
            -19,
            24
          ],
          [
            12,
            3
          ],
          [
            15,
            1
          ],
          [
            0,
            14
          ],
          [
            -22,
            32
          ],
          [
            -24,
            34
          ],
          [
            -14,
            25
          ],
          [
            6,
            15
          ]
        ]
      ],
      "reason": "Source right locks fold down/in around frames 14 and 74–83; open outward around 39–52. Middle and tip have distinct trajectories. Strand-aligned quadratic weight fields spread bending across the whole blade; radial fields previously compressed its lower edge into flips."
    },
    {
      "id": "hair_upper",
      "layers": [
        "hair_sweep_right"
      ],
      "anchors": [
        [
          597,
          248
        ]
      ],
      "fields": [
        {
          "center": [
            597,
            248
          ],
          "radii": [
            89,
            61
          ],
          "hardness": 0.3,
          "pins": [
            {
              "center": [
                510,
                216
              ],
              "radii": [
                43,
                35
              ],
              "hardness": 0.6
            }
          ]
        }
      ],
      "offsets": [
        [
          [
            0,
            0
          ],
          [
            -11,
            16
          ],
          [
            -10,
            14
          ],
          [
            3,
            3
          ],
          [
            -1,
            6
          ],
          [
            -9,
            9
          ],
          [
            -10,
            10
          ],
          [
            -5,
            20
          ],
          [
            4,
            14
          ],
          [
            9,
            3
          ]
        ]
      ],
      "reason": "Upper rear tip moves less than the lower broad lock; use its separate observed trajectory."
    },
    {
      "id": "front_left",
      "layers": [
        "fringe_left"
      ],
      "anchors": [
        [
          438,
          281
        ]
      ],
      "fields": [
        {
          "center": [
            438,
            281
          ],
          "radii": [
            83,
            106
          ],
          "hardness": 0.3,
          "pins": [
            {
              "center": [
                418,
                142
              ],
              "radii": [
                84,
                72
              ],
              "hardness": 0.6
            }
          ]
        }
      ],
      "offsets": [
        [
          [
            0,
            0
          ],
          [
            -9,
            8
          ],
          [
            0,
            6
          ],
          [
            9,
            -1
          ],
          [
            8,
            1
          ],
          [
            2,
            6
          ],
          [
            -5,
            10
          ],
          [
            3,
            6
          ],
          [
            9,
            1
          ],
          [
            11,
            -3
          ]
        ]
      ],
      "reason": "Only part of the measured fringe residual is secondary bending; reduce it because source yaw is not represented by planar head roll."
    },
    {
      "id": "temple",
      "layers": [
        "hair_temple"
      ],
      "anchors": [
        [
          522,
          302
        ]
      ],
      "fields": [
        {
          "center": [
            522,
            302
          ],
          "radii": [
            64,
            94
          ],
          "hardness": 0.3,
          "pins": [
            {
              "center": [
                513,
                223
              ],
              "radii": [
                55,
                41
              ],
              "hardness": 0.6
            }
          ]
        }
      ],
      "offsets": [
        [
          [
            0,
            0
          ],
          [
            -10,
            -5
          ],
          [
            2,
            2
          ],
          [
            12,
            1
          ],
          [
            8,
            2
          ],
          [
            -8,
            0
          ],
          [
            -12,
            -4
          ],
          [
            -5,
            3
          ],
          [
            1,
            4
          ],
          [
            3,
            6
          ]
        ]
      ],
      "reason": "The vertical cheek strand moves differently from the broad rear blade; use its own smaller trajectory and root pin."
    },
    {
      "id": "front_right",
      "layers": [
        "fringe_right"
      ],
      "anchors": [
        [
          590,
          183
        ]
      ],
      "fields": [
        {
          "center": [
            590,
            183
          ],
          "radii": [
            96,
            65
          ],
          "hardness": 0.3,
          "pins": [
            {
              "center": [
                511,
                130
              ],
              "radii": [
                43,
                41
              ],
              "hardness": 0.6
            }
          ]
        }
      ],
      "offsets": [
        [
          [
            0,
            0
          ],
          [
            -12,
            4
          ],
          [
            -14,
            3
          ],
          [
            -3,
            -2
          ],
          [
            -1,
            -1
          ],
          [
            -6,
            2
          ],
          [
            -7,
            3
          ],
          [
            0,
            7
          ],
          [
            6,
            7
          ],
          [
            11,
            5
          ]
        ]
      ],
      "reason": "Flow fails near the thin tip; these smaller keys come from source contact-sheet inspection, not the invalid cumulative track."
    },
    {
      "id": "coat_left",
      "layers": [
        "coat_left",
        "coat_left_underlap"
      ],
      "anchors": [
        [
          345,
          585
        ],
        [
          289,
          681
        ]
      ],
      "fields": [
        {
          "center": [
            345,
            585
          ],
          "radii": [
            119,
            97
          ],
          "hardness": 0.3,
          "pins": [
            {
              "center": [
                429,
                497
              ],
              "radii": [
                67,
                53
              ],
              "hardness": 0.6
            }
          ]
        },
        {
          "center": [
            289,
            681
          ],
          "radii": [
            176,
            129
          ],
          "hardness": 0.3,
          "pins": [
            {
              "center": [
                429,
                497
              ],
              "radii": [
                67,
                53
              ],
              "hardness": 0.6
            }
          ]
        }
      ],
      "offsets": [
        [
          [
            0,
            0
          ],
          [
            -8,
            -3
          ],
          [
            -11,
            -4
          ],
          [
            -8,
            -5
          ],
          [
            -4,
            -4
          ],
          [
            -6,
            -4
          ],
          [
            -10,
            -5
          ],
          [
            -4,
            -1
          ],
          [
            0,
            -2
          ],
          [
            10,
            2
          ]
        ],
        [
          [
            0,
            0
          ],
          [
            -12,
            -6
          ],
          [
            -24,
            -7
          ],
          [
            -21,
            -7
          ],
          [
            -7,
            -2
          ],
          [
            -9,
            -2
          ],
          [
            -23,
            -6
          ],
          [
            -18,
            1
          ],
          [
            -17,
            0
          ],
          [
            4,
            8
          ]
        ]
      ],
      "reason": "Seat-level hem has smaller vertical motion and later horizontal turnaround than hair; do not use the rear-hem track that drifts onto the tail."
    },
    {
      "id": "front_cloth",
      "layers": [
        "front_cloth",
        "front_cloth_underlap",
        "torso_core",
        "torso_core_underlap",
        "torso_underlap"
      ],
      "anchors": [
        [
          513,
          631
        ],
        [
          567,
          711
        ]
      ],
      "fields": [
        {
          "center": [
            513,
            631
          ],
          "radii": [
            74,
            93
          ],
          "hardness": 0.3,
          "pins": [
            {
              "center": [
                458,
                541
              ],
              "radii": [
                77,
                56
              ],
              "hardness": 0.6
            }
          ]
        },
        {
          "center": [
            567,
            711
          ],
          "radii": [
            95,
            90
          ],
          "hardness": 0.3,
          "pins": [
            {
              "center": [
                458,
                541
              ],
              "radii": [
                77,
                56
              ],
              "hardness": 0.6
            }
          ]
        }
      ],
      "offsets": [
        [
          [
            0,
            0
          ],
          [
            -20,
            -4
          ],
          [
            -27,
            -5
          ],
          [
            -9,
            8
          ],
          [
            15,
            8
          ],
          [
            11,
            8
          ],
          [
            -15,
            -3
          ],
          [
            -11,
            -5
          ],
          [
            -8,
            -2
          ],
          [
            11,
            1
          ]
        ],
        [
          [
            0,
            0
          ],
          [
            -3,
            -6
          ],
          [
            -18,
            -8
          ],
          [
            -19,
            -6
          ],
          [
            8,
            -2
          ],
          [
            11,
            -1
          ],
          [
            -10,
            -6
          ],
          [
            -10,
            -8
          ],
          [
            -13,
            -6
          ],
          [
            7,
            -1
          ]
        ]
      ],
      "reason": "Green cloth middle reverses before the tip; preserve that lag instead of translating the whole panel."
    },
    {
      "id": "coat_right",
      "layers": [
        "coat_right",
        "coat_right_underlap"
      ],
      "anchors": [
        [
          591,
          542
        ]
      ],
      "fields": [
        {
          "center": [
            591,
            542
          ],
          "radii": [
            93,
            77
          ],
          "hardness": 0.3,
          "pins": [
            {
              "center": [
                529,
                482
              ],
              "radii": [
                49,
                34
              ],
              "hardness": 0.6
            }
          ]
        }
      ],
      "offsets": [
        [
          [
            0,
            0
          ],
          [
            -5,
            0
          ],
          [
            -11,
            5
          ],
          [
            -11,
            7
          ],
          [
            4,
            0
          ],
          [
            3,
            0
          ],
          [
            -4,
            4
          ],
          [
            -3,
            6
          ],
          [
            -2,
            9
          ],
          [
            14,
            7
          ]
        ]
      ],
      "reason": "Partly occluded cloth: conservative amplitude from the visible strip; source optical flow includes leg/cloth boundary ambiguity."
    }
  ],
  "evidence": "artifacts/flow_v6/flow/tracks.json and contact0/1.jpg",
  "rejected": [
    "coat_back_hem after occlusion",
    "hair_left_mid after frame26",
    "fringe_right_tip cumulative track"
  ]
}
