{"n":1,"what":"first end-to-end render: runtime (rive.js), puppet v3, drive, film host; stills every 2 s","saw":"pipeline works; dog reads as a shepherd; moon cut a black hole (destination-out); porch soffit and lintel blocks clutter the top; person's knee IK bent backward (kneeling); haze a hard diagonal line","changed":"moon drawn as a crescent path; soffit removed; haze blurred; person leg/arm bend signs fixed; door casing post added; tail redrawn"}
{"n":2,"what":"crops of the refusal turn 3.17-4.67 s","saw":"turn passes through a readable front view; watching head looked giraffe-like (neck too long); tucked tail a straight stick to the floor","changed":"neck 0.205->0.165 m and thicker; alert neck angle 56->50; tucked tail curls under"}
{"n":3,"what":"crops of the turn back 7.0-9.0 s","saw":"chin-on-paws pose folded the neck straight down (ears like a hood); head lead turned the face to the camera rather than over the shoulder; end-on frame of the body turn tangled (legs left behind)","changed":"neck angle clamped at -52 deg; rest head pitch 30->4; head lead 150->168 deg with the head carried over the camera-side shoulder; feet step faster and without the pair rule while the Facing layer turns"}
{"n":4,"what":"close look at 27.3 s (looking in) and the ending","saw":"lies across the sill, paws on the lit stone, tail out on the porch; head raised with the back of the skull and both ears toward the viewer, muzzle into the room's depth; dog washes out in the warm light","changed":"warm overlay reduced; a 1.2 px dark contour on the dog layer; look-in yaw 62->50 deg so the muzzle points into the room rather than at the reveal"}
{"n":5,"what":"first full film + sound + checker","saw":"912 frames, 38.0 s; checker ALL OK; but film 59.7 MB (moving grain); paws 3 cm past the inner wall face while lying; refuse onset measure noisy","changed":"grain made static and faint, encoder capped (2.7 MB); XOFF 0.27->0.24; refuse onset measured from the drawn head yaw"}
{"n":6,"what":"operator page mobile test (iPhone 13 profile, headless)","saw":"one frame per draw advanced only 12 frames in 2.5 s (software canvas, ~80 ms per frame)","changed":"page playback follows the clock (drops pictures, never the dog's timing); test passes: tap to first advance 0.45-1.2 s, 73-83 scene frames in 2.5 s"}
{"n":7,"what":"crops of the retreat and the lie-down","saw":"backing dog's hind feet trailed far behind the rump (gait lead too long at 0.75 m/s); approach tail a horizontal stick","changed":"gait lead 0.28->0.16 s, swing target 0.42->0.24 s; tail blend points lowered; refusal turn 0.5->0.42 s"}
{"n":8,"what":"final build (make.sh), end card claim made precise ('a planted foot never slides (measured)'), contact sheet every 1.5 s","saw":"checker ALL OK; onsets within +0.04..+0.10 s; soft voice 15.5 dB under the calls, 12.7 dB over room tone; planted-foot slide 0.0 m","changed":"stopped here: watchable and the invariants hold; awaiting an independent critic"}
