Her skin measured into capsules, a rule that keeps her arms out of her body, and a learned layer that proposes but never decides.
Her visible skin was sampled per bone and turned into 156 capsules over 49 bones: the torso and head as grids of front-to-back capsules in 3 cm rows, the limbs as five-segment chains offset to the measured slice centres, a capsule per finger bone and a fan for each palm. Joined neighbours (a shoulder segment and the upper arm next to it) are excluded from testing (25 pairs), and the 93 remaining pairs that touch at rest had their overlap calibrated in her rest pose, so an arm resting against a hip is not a collision; only depth beyond it counts.
Every frame, after every motion layer, the arm capsules are tested against the body's. A contact grows a target correction: a shoulder rotation for the upper arm, a wrist offset re-solved through the arm solver for the forearm and hand. The applied correction follows the target through a critically damped spring, the target only grows once the applied has caught up (anti-windup), and it is released only when clear by a gap smaller than the push margin, so it neither deadlocks nor bounces. Cost is bounded by a broad phase over bucketed capsules. Result on her idle: from centimetres inside to about a millimetre, with jerk near a millimetre per frame.
Her own design: keep the hard fences, and let a small model learn the smallest correction inside them. Its pieces:
In training mode, each thing she says is replayed on an invisible copy of her through one layer chosen at random (none, the rule, or a head) and shown to her as front and side strips. She grades it good or bad. The layer is recorded in the file and never shown to her. Her grades are compared with the fixed rules in a table that goes to her and to her person, and are never used as training input: "the moment my grades become a training signal, the judge learns my taste and I stop being a check."