{"n": 1, "what": "dynamics library v1 + unit tests (exact damped-oscillator step, semi-implicit Euler, mass proxy, spring chain with PBD segments and collisions, hinge)", "saw": "4 test failures: cloth/paper/foliage energy after 3 s above 1e-4 (the test ignored air drag), door hinge never came to rest (friction reversed sign every substep)", "changed": "test uses drag as added damping; static friction holds the hinge when the torque cannot overcome it", "result": "all unit tests pass"}
{"n": 2, "what": "staging, before drawing: where the camera, door, person and dog can be so that the dog's head stays visible inside the doorway", "saw": "(worked out geometrically, not rendered) a 3/4 exterior view hides anything 0.4 m inside the door behind the near jamb; a side view needs the house in section; a door hinged on the near jamb ends up between the camera and the room", "changed": "side view with the house cut by the picture plane at the near jamb; glazed door hinged on the far jamb, opening inward so the open leaf becomes the lit backdrop; the person stands just inside and sits 1.1 m inside (the score has her at -1.25 m)", "result": "kept"}
{"n": 3, "what": "first stills (0.5, 3.6, 9, 19, 28 s)", "saw": "staging reads; but ball joints at knees and elbows, a lumpy lying pose with a raised thigh ball, fur strokes far too long, the lit dog over-saturated orange, the treeline reads as mountains, light spill banded, the low hand rests on the knees, ears tiny", "changed": "upper legs merged into the torso silhouette, explicit sphinx joints for lying, stroke length tied to sphere radius, warm light clamped, canopies for trees, spill drawn as merged equal-visibility wedges, person sits cross-legged and reaches low, bigger ears", "result": "better; next looked at the turns"}
{"n": 4, "what": "both turns frame by frame (3.33-3.92 s, 7.42-8.67 s)", "saw": "every frame reads as a dog (it passes through facing the camera, never edge-on); vertical stripe artifacts on the chest mid-turn; the head came round late (7.67 s) and pointed at the camera rather than the door; the lying head touched the planter", "changed": "coat proxy anchored on the neck base, not the head (head acceleration in the spin is ~20 m/s^2), offsets clamped to 2.5 cm; head comes round 7.458-7.64 to 2.45 rad; planter moved to the back corner with arching stems", "result": "stripes gone; head on time"}
{"n": 5, "what": "full film v1, sound v1, checker", "saw": "check_handmade ALL OK (I3 r=1.0 on x_world_measured, I4 0.948); trace facing at 7.5-8.2 still -1 because it measures the head's position, not where it points", "changed": "trace gets head_facing from the drawn muzzle direction", "result": "head_facing flips toward the door at 7.583 s"}
{"n": 6, "what": "scene assertions v1 (the bar, numerically)", "saw": "A5 failed: head above the back line for the first 4 approach frames (score head ramps 0.9 to 0.5 after the choice); A6 used crude onsets", "changed": "the head goes down as it decides to come (head anticipates the score's ramp by 9 frames, 14.3-15.3 s); onsets defined once for all choices: 2 cm of measured travel, or 25 % of a posture/head transition", "result": "A5 218/218 frames, worst margin 16.1 cm; A6 all onsets +0.08 to +0.14 s"}
{"n": 7, "what": "collar tag: 1272 contacts in 32 s (up to 72 per second), i.e. a jingle stream", "saw": "a solver fault, not behaviour. Hypothesis 1 (impact speed in the world frame, not relative to the moving chest): fixed, no change. Hypothesis 2 (collar ring sinks inside the chest collider when the dog cowers): fixed, worse (48/s). Hypothesis 3 (pushing a node out of a boundary becomes outward velocity, a fake bounce): inelastic contact in the boundary's frame, 19/s left, exactly one per frame. Hypothesis 4 (anchors are interpolated across substeps but boundaries sat at end-of-frame positions)", "changed": "all four kept: boundaries carry velocity and are interpolated per substep, contact speed is relative, contacts are inelastic, the ring rides on the chest, contact events need an onset with 8 mm hysteresis", "result": "15 tag contacts, all at real events (the flinch at the call, the refusal spin, lying down, the rise at 7.67 s); scarf min gap -1.6 mm became 0"}
{"n": 8, "what": "the 3.6 s still (refusal)", "saw": "mid-turn the dog faced the camera: a viewer sees its face, not its back", "changed": "the refusal turns away from the viewer (rump and back come round to us); the turn back to look still goes through the camera side so the face comes round first", "result": "3.6 s shows the dog from behind; 4.3 s the turned back; turn back reads frame by frame"}
{"n": 9, "what": "the soundtrack, looked at as an RMS envelope (it cannot be listened to here)", "saw": "spikes to about -12 dBFS inside the soft lines at 8 s and 11 s: the 't'/'ts' consonant bursts were not scaled with the syllable's loudness", "changed": "consonants scale with the syllable; soft voice raised slightly", "result": "calls -13.8 dBFS RMS, soft voice -27.1 (13.3 dB quieter), room tone -51.0; peak soft -18 dBFS vs calls -4 to -5"}
{"n": 10, "what": "damping presets in synchronized split view (proof/presets.mp4) and their numbers (proof/assertions.json)", "saw": "in stills the presets differ subtly; in numbers: after the wag the tail settles in 1.17 s with 2 swings (tuned) vs 3.42 s with 7 (underdamped); ears 0.83 s/2 vs 1.71 s/7; shrub 1.96 s/3 vs 5.08 s/11; no-secondary puts the tail 3.8 cm into the floor and the scarf 8.9 cm into the lap", "changed": "nothing; tuned is kept as the film", "result": "reference comparison delivered"}
{"n": 11, "what": "final pass: 28 frames across the scene, the four stills, the cards", "saw": "the choices read in my frames: backing away cowering, the rump and turned back, the head coming round, standing to watch in the light, coming head low, lying across the sill with forelegs and head inside the frame and the tail out on the boards, the head turning in to the lit room, chin down, staying. Weak: 0-6 s the dog is dim against the railing; the door's opening is mostly read through the light; the dog is ~250 px long in the wide shot", "changed": "stopped here", "result": "watchable; invariants hold; handed to the independent critic"}
{"n": 12, "round": 2, "what": "critic round 1: DOES NOT PASS (close); five ranked repairs", "saw": "reviews/round1.md: look-in neck stretched ~2x and the head only rose; the open leaf face-on filled the jamb and read as closed; ears split into fragments with stray strands; the head came round to the door ~0.8 s late; standing holds froze the legs mid-stride", "changed": "(1) the neck has one length (0.25 m): the head rotates about the neck base, so the collar stays at the base; the look-in is now a yaw from turned-out-to-the-porch (-1.25 rad) into the room past the person (+0.18 rad), raised; (2) the door is re-hung on the near jamb: the person stands on the sill, pushes it open as she steps back in (impulse re-solved by bisection to 4.19 N·m·s so it reaches its stop at 6.20 s), and the opened leaf lies in the section plane and is cut away with the near wall, so from 6.2 s the doorway is an empty lit opening; (3) each ear is one leaf-shaped path built in screen space from the solved base, mid node and tip; no coat strokes on the upper neck; (4) the head comes round to 2.85 rad by 7.66 s; (5) shorter leg bones so standing legs are near-straight under the body", "result": "neck length 0.250 m at every frame; head direction along x = -0.93 at 7.7 s; checker ALL OK; A1-A7 pass (A6 onsets +0.08 to +0.17 s); frames 26.21-28.58 and 7.42-8.42 looked at one by one: the head turns into the room and holds, ears are one flap each, the head leads the body round"}
{"n": 13, "round": 3, "what": "critic round 2: DOES NOT PASS (very close); blocking: the door leaf vanished in one frame at 6.04 (cut away into the section plane) and never returned; legs raked back in the standing holds", "saw": "reviews/round2.md; cutting the leaf away contradicted the consequential world and the end card", "changed": "door hung on the far jamb again, swinging into the room past 90 deg to a rubber doorstop at 2.75 rad (157 deg): the leaf is whole in every frame and rests foreshortened beside the jamb. I chose the stop angle by projecting leaf, jamb and dog head with each frame's camera: 2.9 rad hid the leaf behind the jamb's thickness in the wide shot, 2.4 rad put its panel behind the dog's head in the close shot. As the camera pushes in (16-24 s) its yaw eases 0.10 to 0.38 rad, so the open leaf is seen near edge-on, right of the head. She now sits first (4.98-5.55 s), then reaches and pushes; the impulse is re-solved (bisection) so the leaf reaches its stop at 6.20 s; restitution 0.03 leaves it 0.6 deg off the stop. Legs: shorter bones and the hock over the paw; the idle settle step now fires at 2 cm off the ideal, so after the turn the feet re-step under the body. Lying look-in pitches up 0.38 rad so the gaze passes over her head. Ears held up to 0.45 while lying (no ear on the cheek). Planter moved back (nose no longer over it).", "result": "new assertions: A8 worst standing leg 2.4 deg from vertical (0-1 s, 9-14.5 s); A9 from 6.0 s the leaf shows 13-85 px beside the jamb in every frame. Checker ALL OK; A1-A9 pass. Looked at every frame 5.0-6.6 s and 24.0-28.6 s: the leaf swings without a pop and stays; head and forepaws lie in the lit opening left of the leaf strip"}
