{"n":1,"attempt":"first solve pass: dog/person graphs, hips and shoulders as dependent (attached) points","saw":"person hard residual 2e-2 m: legs could not pull a dependent hip; attachment was not a real variable","change":"hips/shoulders became variables held by rigid distances plus a soft attachment"}
{"n":2,"attempt":"rigid links","saw":"person residual 5e-4..3e-3 m under reach: Gauss-Seidel too slow along a chain pinned at both feet","change":"successive over-relaxation (omega 1.5) in hard-only tail passes, up to 150 passes; all hard residuals < 0.4 mm"}
{"n":3,"attempt":"first stills (frames 158, 760)","saw":"light hatch read as a solid slab; zoom pushed the porch under the console; dog read as a horse (long upright neck, thin legs, small head)","change":"hatch 4 px and dimmer; window clipping at the console line; camera end-scale 200 px/m; shorter lower neck, bigger head and ears, thicker legs, deeper chest, bushier tail"}
{"n":4,"attempt":"reach frame 170","saw":"the whole person tipped like a plank toward the pen: hand goal dragged the body because all points weighed the same","change":"point masses (pelvis 0.08, chest 0.2 inverse mass), stronger pelvis/chest goals, weaker hand goal: now the arm reaches full length, torso bends, feet stay; gap shown as UNSATISFIABLE with a dashed rubber band"}
{"n":5,"attempt":"dog strips 0.9..31.9 s","saw":"getting up at 7.7 s stretched the legs back to pins left from before the 180-degree turn; looking in pointed the neck straight up; door leaf lines drawn through the dog","change":"lying feet blend from the current standing footprint; look rotation 0.85 rad + a dotted sight line (aligned-with the door axis); hidden-line removal of house/door/light strokes behind the bodies"}
{"n":6,"attempt":"first full render + check.py","saw":"retreat->watch and refuse measured late when timed by velocity/body yaw (score's own turn starts 0.45 s after the refusal); a dog point at z=-0.132 inside the jambs (nose past the door plane while looking in); per-frame jumps up to 0.35 m (dog paw) and 0.76 m (person hand on release)","change":"choice onsets measured by head height (what the score's acting changes at the choice); body turn now starts at the refusal; threshold made a hard constraint (no dog point passes z=0 between the sill ends); goals rate-limited to 9 cm/frame (no teleporting); person foot re-pins where it lands"}
{"n":7,"attempt":"round-1 critic: PASS (narrow); repair pass on turns, head lead, voice level, look-in","saw":"(critic) turns were flat edge-on flips 3.8-4.2 and 8.1-8.45; head reached the door only ~8.6; soft voice not quieter than the call","change":"see 8-12"}
{"n":8,"attempt":"head leads the body at 7.458 (yaw parameter for the head, up to 143 deg off the shoulders); oblique +0.30, elevation 20","saw":"strip 7.46-8.7: head still pointed right until 8.1; solver showed the nose goal clamped by the 9 cm/frame no-teleport limit, and the rest pose (chin on paws) still pulling","change":"chin-on-paws weight fades as the head lead starts; per-point speed limits (poll 13, nose 17 cm/frame); head goals stiffer"}
{"n":9,"attempt":"single yaw for the whole body, oblique +0.45, elevation 24, barrel cross-section rings","saw":"mid-turn still a vertical sliver: any parallel projection has one direction that collapses, and the camera-ward direction drew to the right, so a head turned toward the door read as turned away","change":"oblique sign flipped (nearer = left): a head swung toward the camera now points at the door on screen"}
{"n":10,"attempt":"two yaws per body (forequarters W-M, hindquarters M-P) solved as a U-turn bending at mid-back, through the camera side; legs bend in their own half's plane; outline and rings drawn per half","saw":"come-round 7.75-8.4: head swings to the door as it rises, then forequarters, then hindquarters; refusal 3.45-4.05 reads as a curl and a turned back, but 3.75-3.85 is still a compact curled cluster","change":"kept; refusal turn shortened to 0.42/0.45 s (front/rear) with no head lead, so the head turns with the shoulders instead of crossing the body"}
{"n":11,"attempt":"camera-move ghosting (critic: trails ghost the person at 26-28)","saw":"persistence of earlier frames was drawn at their own zoom","change":"previous frames re-composed at the current scale-knob setting: objects trail, a zoom is a redraw"}
{"n":12,"attempt":"voice levels; full rebuild; check_handmade.py","saw":"call window (film 4.0-4.6 s) -10.5 dB, soft 7.4 s window -20.5 dB, come-in 26.4 s window -20.4 dB (bed alone ~-22); porch-roof fascia drew as a floating beam across the house once the oblique moved it","change":"call x1.8, soft x1.3; fascia removed; checker ALL OK (I1-I4); own checks: choices within 0.25 s, hard residuals < 0.24 mm"}
