{"n": 1, "what": "puppets v1: kit frames 6 (profile) and 38 (three-quarter) cut with SAM masks, 20 handles, one global rigid-MLS warp per key", "saw": "standing and head-low read as the real dog; lying swirled the legs into curls, chin-on-paws swirled the neck; a 50/50 dissolve between F' and F was a symmetric ghost", "changed": "per-piece masks: four leg pieces (3 handles each) under/over a body piece"}
{"n": 2, "what": "legs as pieces, legs partitioned by polygons drawn by hand", "saw": "leftover leg pixels outside the polygons hung below the lying body; tail pixels below the belly line swung with the hind leg", "changed": "legs = every masked pixel below a per-key belly line, given to the nearest leg axis; belly line raised at the tail and chest; F'->F no longer morphed but swapped as cut-outs with a slight narrowing; dissolves cut to 16% of a segment"}
{"n": 3, "what": "first stage composites (paper set, paper person with real hand)", "saw": "scene reads; the found hand was twice life size; the dog's head spun to 93 deg for the refusal and folded into a ring; three-quarter keys took the profile head rotation and grew 'butterfly' ears", "changed": "head made its own rigid cut-out over a bending neck (neck under it follows 35% of the turn); head rotation capped at 68 deg with the rest done by a neck reach; F keys take 30% of head rotation; forearm/hand scaled to 0.5; dog scale 1.25 -> 1.36"}
{"n": 4, "what": "full render 768 frames, trace v1", "saw": "checker failed I1 on retreat->watch: my head-rise measure fired at 1.79 s because the walk bobs the head +-3 px", "changed": "measure = head rises >5 px above its median while backing; onset 2.333 s; ALL OK"}
{"n": 5, "what": "looked at the film at 20 times and at 1:1 crops of the stills", "saw": "looking in (28 s) read as a lift toward the light, the warned failure", "changed": "look-in head held level and pushed 12 px into the doorway, muzzle shortened to 45%, head darkened 74% against the lit room; frames 620-720 re-rendered; checker ALL OK"}
{"n": 6, "what": "sound v1", "saw": "a per-sample Python formant loop and a 1 s moving-average convolution made it take >10 min", "changed": "block-wise lfilter with carried state and a 1-pole high-pass; 3 s. Measured in the film: calls -17.6 dB, soft -32 dB, room -47 dB mean volume"}
{"n": 7, "what": "independent critic: DOES NOT PASS", "saw": "warp tears when pushed far (crescent swirl at the head, folded fur) in the refusal lie and the sill lie; look-in lifts toward the light/person; rising turn 7.55-7.68 a grey ball; legs splay when lying; head not always below withers in the approach", "changed": "repair round below"}
{"n": 8, "what": "repair: only the body sheet bends; head-with-neck, tail and four legs are rigid cut-outs of the same frame pinned at joints (cut along a neck line and a tail line), placed by least-squares rigid fit of their handles; head turns are joint rotations", "saw": "pose sheet: no swirls; min warp determinant +0.44 on the body sheet in held poses; F key had a bogus tail piece (the whole dog) making grey ghosts in turns", "changed": "F has no tail piece; lying hind legs fold forward behind the body (104 deg), forelegs forward on the boards (84 deg), body lowered level"}
{"n": 9, "what": "repair: look-in head", "saw": "a level/raised profile head still points at the person", "changed": "while looking in, the head part of the neck piece is replaced by the back of the dog's own head from kit frame 0 (the dog looking away from the camera), placed where the head was, tipped 12 deg toward the door; from the film, 26.55-27.8 s show a dark back of head against the lit room"}
{"n": 10, "what": "repair: rise, then turn (7.46)", "saw": "the turn through the three-quarter keys while half lying made a ball", "changed": "it gets up first (lie 1->0 over 7.46-7.62, head rising from 7.46), then turns standing 7.56-8.0; every frame of 7.46-7.8 shows head, legs and body axis (proof/repair_rise_then_turn)"}
{"n": 11, "what": "full re-render, measured", "saw": "approach 14.8-23.7: head top below the withers line in 213/213 frames (measured on the render); body-sheet folds in 7/768 frames (was 324); dog's right edge <= 1232 px in 4.4-7.4 s; post moved to 1262; checker ALL OK", "changed": "film 11.11 MB, 912 frames"}
{"n": 12, "what": "round 2 critic: DOES NOT PASS (repair 1 held: no tears, turns hold, sphinx lie)", "saw": "back-of-head soft blob and dissolve ghosts at 26.4-26.6/28.0-28.4; head tufts near the withers in the approach; lying->standing jump 7.54->7.58 and the face not round by 7.60; spider legs 4.45-4.6 and a loop under the belly 25-27; jagged outline", "changed": "below"}
{"n": 13, "what": "repair 2", "saw": "-", "changed": "(1) back-of-head now keeps the SAM outline of skull and ears (smoothed), cut only below, unsharp-masked; swapped by a hard cut on the head's lift (look >= 0.3, ~26.46 s and back ~28.2 s) with the profile head hidden 1.5x wider, so no double head or muzzle. (2) approach head carry 0.36->0.24; head top measured with any trace of head pixels (tufts): min 6.8 px below the withers line, 0/209 frames under 4 px in 14.9-23.6. (3) at 7.46 still lying it swings its head up and back over its shoulder (7.46-7.60), rises over 7 frames (7.50-7.80), turns standing 7.60-8.05. (4) lying legs pivot so the paw stays on the floor as the body goes down; far legs and both hind legs fade out under the body as it lies (only the near foreleg lies forward). (5) every dog mask smoothed: blur 1.1 px, re-threshold, 0.5 px feather"}
{"n": 14, "what": "full re-render + checks", "saw": "checker ALL OK; body-sheet folds 7/768 (turn morphs only); film 11.08 MB, 912 frames", "changed": "-"}
{"n": 15, "what": "round 3 critic: DOES NOT PASS (retreat, three-quarter refusal turn, planted approach, sill, sound, language hold)", "saw": "at 7.46-7.75 the raised muzzle pointed up/right; frame-0 back-of-head read as a lump and still ghosted in the film; rise had legs flung out; lying legs fin-like, ragged edge; white seam at the neck cut; one-frame head snap at 14.625", "changed": "below"}
{"n": 16, "what": "repair 3", "saw": "checked on frames extracted from film.mp4 (proof/repair3_from_film_mp4.jpg)", "changed": "(1) at 7.458, still lying, the head piece is cut to the unmirrored profile head (muzzle left, toward the door), low and level, pinned where the head was; held to 7.92; the body lies until 7.78, rises 7.78-8.08, turns 7.80-8.25. (2) frame-0 piece retired; looking in = the profile head level (no lift), the neck reaching 24 px in over the sill so muzzle and ear are against the lit room; no swap, so no double head. (3)(4) going down and getting up the rigid legs stay vertical under the body and the boards hide what is below them; the near foreleg goes forward only at the end; the far and hind legs fade out under the lying body. Masks: binary closing (2 iterations) + 1.6 px smoothing. (5) neck piece now overlaps 10 px into the body and the body gives way 2 px before the cut (no seam); approach head drop spread over 5 frames from 14.58"}
{"n": 17, "what": "full re-render + checks", "saw": "checker ALL OK; approach head top (tufts counted) >= 6.9 px below withers 14.9-23.6; body-sheet folds 6/768 (turn morphs); film 11.08 MB, 912 frames", "changed": "-"}
{"n": 18, "what": "end card corrected (frame 0 no longer used); rendered frames had been deleted, so the 768 scene frames were decoded from the previous film.mp4 (JPEG q2) and re-encoded once with the new cards", "saw": "912 frames, 7.29 MB, checker ALL OK; one extra generation of compression on the scene", "changed": "-"}
{"n": 19, "what": "round 4 critic: DOES NOT PASS (retreat, refusal, approach, sill, sound, language hold); the two head moments again", "saw": "7.47-7.90 grey head with a hard-edged dark block (the right-facing neck piece with its head masked out); level profile at 26.6-28.2 reads as looking at the hand; seam at the head-neck join when lying; watching head held in the filmed 60-deg howl", "changed": "below"}
{"n": 20, "what": "repair 4", "saw": "verified on frames extracted from film.mp4 (proof/repair4_from_film_mp4.jpg)", "changed": "(1) turning to look: the right-facing neck piece is not drawn at all; the unmirrored head-and-neck piece is pinned at the neck base, rotated level (-44 deg), lifted 18% in brightness with a 1 px dark outline on the head only -> the head lies turned back over the shoulder, muzzle at the door, 7.46-7.92, body down until 7.78. (2) looking in: a new back-of-head cut-out made of real fur pixels from kit frame 6 (the dark mane) inside a crisp drawn mask of a skull with two pricked ears and a feathered nape, pinned on the neck, hard cut in at look >= 0.3 (about 26.46) and out (about 28.2), ears against the lit opening. (4) neck/body overlap widened to a 10 px feather. (5) watching heads capped at head 0.62: muzzle 17-20 deg above level (handle geometry) 8.2-14.6"}
{"n": 21, "what": "full re-render + checks", "saw": "checker ALL OK; approach head top >= 6.9 px below withers; body-sheet folds 6/768 (turn morphs); film 11.13 MB, 912 frames", "changed": "-"}
