{"n": 1, "what": "maquette pose sheet v1 (proof/poses_a.png, first version)", "saw": "reads as a bear/pig: torso too fat, legs short and splayed, thick stick tail, ears tiny; rear view a blob; lying hind legs sprawl back like a frog", "changed": "slimmer chest/waist/hip, bigger head and ears, thin tapering tail"}
{"n": 2, "what": "pose sheet v2 at film scale", "saw": "dog-like; legs bend too much (too long for the height), a lifted paw detached from its leg mid-turn, approach head level with the back (not below)", "changed": "shorter limbs; paws attached to the IK chain end; depth tone inside the puppet (far pieces darker)"}
{"n": 3, "what": "pose sheet v3 (proof/poses_b.png)", "saw": "front and rear views read (chest+forelegs; rump+hind legs+tucked tail), the look-back over the shoulder reads; approach head still at the back line; lying hind thigh sticks out", "changed": "approach neck angle -40 deg (head below the withers); lying pose re-cut"}
{"n": 4, "what": "first composited frames 1, 3.6, 9, 19, 28 s", "saw": "structure works (doorway light, porch, person, dog), but there is no fog to speak of; the person sits in a squat floating below the boards; still at 28 s caught mid rack-focus", "changed": "fog colour lighter, density from cloud footage with contrast; sit pose re-angled; return rack ends by 27.85 s"}
{"n": 5, "what": "frames with keyed cloud fog", "saw": "fog reads as real fog, but the cloud bank top edge painted a cloud line across the wall; the dog at 3.6 s is nearly lost in it", "changed": "two fog sources: the bank edge only for ground fog and the bank (tops at 0.75 and 1.55 m), the cloud interior for haze; darker coat; fog thins round the dog, most at its choices"}
{"n": 6, "what": "lying pose sheet (proof/poses_d, poses_e)", "saw": "lying read as a cat about to pounce (chest high, neck stood up, ears like spikes)", "changed": "torso lowered to the boards, haunch widened, neck capped at 22 deg when lying, ears shortened, look-in yaw reduced so the muzzle shows"}
{"n": 7, "what": "sound v1 levels (proof/audio_levels.json)", "saw": "soft voice 12.7 dB under the calls, but only 3 dB over the room tone", "changed": "soft voice +2.3 dB, room -3 dB: soft 10.5 dB under calls, 6.8 dB over room (measured; not listened to)"}
{"n": 8, "what": "camera v2: push in on the refusal, pull back as the door opens", "saw": "the dog is larger in its refusal; the look back (7.46) still faced the camera from the front end of the body: the chin-on-paws rest pose held the head at the front", "changed": "rest released at 7.36, head lifted to 48 deg during the look back, yaw to -2.8 rad, spine bend -0.7: the muzzle now points back over the shoulder, above the back line (proof/poses_f.png)"}
{"n": 9, "what": "contrast at the choices", "saw": "dog lum ~56 vs surround ~76: murky grey in grey fog", "changed": "coat darker (50,42,39), cool rim 0.5, fog clears 60-95% round the dog at its choices"}
{"n": 10, "what": "process error (not a film attempt)", "saw": "to stop my own render I ran pkill -f render.py, which matches every render.py on this shared machine; it very likely killed other swarms' renders (03-ernst, 06-whitney, 54-provenance-graph were running render.py). Their processes restarted afterwards.", "changed": "stop only by PID from now on; reported to the caller"}
{"n": 11, "what": "full cut r1 (768 frames, 2200 s on a shared, loaded machine); check_handmade", "saw": "I1 failed: the measured refusal came at 3.83 s (score 3.417): facing was measured from head vs torso centroid, which flips only when the head passes the middle of the body; the look back was measured late for the same reason; the trace had spurious \"approach\" runs during turns in place; lying was not detected at the sill because silhouette height was in pixels while the camera trucks in", "changed": "facing measured from the cut nose piece against the skull piece; travel measured on the paws and the torso together; height in metres at the dog glass; coming must be sustained 0.75 s, backing 0.25 s"}
{"n": 12, "what": "acting repairs for the measured choices", "saw": "the dog kept its head low for 0.3 s after the score says it stops backing (2.33): the choice to watch did not read", "changed": "head comes up at 2.33 while the body still drifts; the refusal turn shortened to 3.40-3.92 with the head leading by 0.55 rad"}
{"n": 13, "what": "check after repairs", "saw": "ALL OK: choices at +0.167, +0.042, +0.208, +0.084, +0.167, +0.083 s; min x 0.566, end x 0.597; r = 1.0; refusal turned 100 %", "changed": "-"}
{"n": 14, "what": "looked at the cut at 2 fps (proof sheets) and the four stills at full size", "saw": "at 28 s the head reads as looking at the person, not into the room", "changed": "looking-in head yaw -0.5 -> -0.82 rad and lowered; in silhouette against the doorway the muzzle then hides: the rack focus into the room carries the rest of the beat (judgement, not measured)"}
{"n": 15, "what": "foot audit", "saw": "planted feet never move in the solver (0 m over 1522 planted foot-frames), but in the quick refusal turn the body outran a forefoot by up to 15 cm, so the drawn paw (at the end of the leg chain) dragged; on walking strides it lagged up to 3 cm", "changed": "a foot the leg cannot hold steps at once; faster steps while spinning; legs 1 cm longer per segment: drawn-paw lag on planted feet now <= 1.2 cm; three single frames with 3 feet off the boards in the spins (3.58, 8.29, 8.54 s)"}
{"n": 16, "what": "clean full rebuild r2 (make.sh steps; render 833 s) and final check", "saw": "ALL OK; film 38.0 s, 1280x720 24 fps H.264 + AAC 48 kHz, 10.7 MB; looked at the whole cut at 2 fps and full-size crops of every choice: turns read as a dog in every sampled frame, head low throughout the approach, lying flat across the sill with the front in the light and the tail outside", "changed": "stopped: watchable and invariants hold; awaiting an independent critic"}
{"n": 17, "what": "critic round 1 (reviews/round1.md): DOES NOT PASS, close", "saw": "turning to look late and a headless lump 7.54-8.5; looking in reads as a front-on cat mask; the dog moves like a flattened rig, not Norstein replacement pieces; the person sitting and the door opening pushed to the frame edge; lumpy hindquarters 1.6-2.3 and 7.5-7.7", "changed": "see 18-21"}
{"n": 18, "what": "replacement-piece library (pieces.py) v1", "saw": "a real hinged cutout look, but the neck piece ran 1.8x too long (a scale clamp in screen vs library px), eyes showed on turned-away heads, the camera ray offset made the dog read three-quarter-front while facing the door, the coat grain stamped a visible tile", "changed": "neck clamp fixed and the neck laid behind the body; eyes only on the near side, none on lost-profile heads; view sector mostly from the dog's own heading; grain softened"}
{"n": 19, "what": "look back and look in with pieces", "saw": "head round to the door from 7.54 and held to 8.58; at 26.83 the lost-profile head lifted into the doorway", "changed": "focus pull into the room now starts at 26.85 (after the head has turned)"}
{"n": 20, "what": "camera: no push-in on the refusal", "saw": "person sitting and door opening fully on screen (5.42, 6.21, 6.67, 7.0 s)", "changed": "-"}
{"n": 21, "what": "round-2 full rebuild and check", "saw": "ALL OK: dt +0.167, +0.084, +0.166, +0.042, +0.084, +0.083 s; min x 0.561, end 0.586; r 1.0; refusal 100 % turned; film 38.0 s, 10.7 MB; looked at every frame 7.29-8.58 and 26.21-27.21 s", "changed": "stopped for the critic"}
{"n": 22, "what": "critic round 2 (reviews/round2.md): DOES NOT PASS (narrowly)", "saw": "look-in head chin-up toward the top of the door, not away; hindquarter lump 1.25-2.42 and hind-leg tangle 7.54-7.63; the walk 15-23 moves like a rig; assets.json still described per-frame re-projection; ghost at 3.75; person sits in mid-air 5.8-6.1; audio peak -0.8 dBFS", "changed": "see 23-26"}
{"n": 23, "what": "look-in and back-of-head piece", "saw": "the lost-profile head still showed a face; the back view taken off the maquette had no ears (edge-on)", "changed": "a hand-cut back-of-head piece (skull, both ears, darker nape); head yaw -1.25*look straight away into the room, level (no lift); held 26.67-26.96 before the focus pull"}
{"n": 24, "what": "guide posed at the chosen pieces' own angles; legs going down/up by IK", "saw": "the ghost at 3.75 came from legs hinged at the continuous yaw under a body piece at a quantized view; the tangle at 7.54 from blending lying and standing joint positions", "changed": "the guide body and head yaws are snapped to the chosen piece views (no bend); between lying and standing the paw travels and joints come from IK; crouch drops the rump less, tail tuck capped so it hangs behind the hocks; a pale seam on every cut edge lying over another piece; far legs lighter"}
{"n": 25, "what": "on twos", "saw": "the walk read as continuous re-projection", "changed": "every placement of the dog's pieces is held two frames (camera and fog stay on ones); a flinch at the call drops the head at once (retreat measured at +0.083 s)"}
{"n": 26, "what": "person, audio, assets", "saw": "-", "changed": "person grounded each frame on its lowest point and sits through a squat (hips first, weight over the feet); master peak 0.75 (film max_volume -2.3 dB measured by ffmpeg volumedetect); assets.json now describes the replacement-piece library"}
{"n": 27, "what": "round-3 rebuild and check", "saw": "ALL OK: dt +0.083, +0.084, +0.166, +0.042, +0.084, +0.125 s; min x 0.561, end 0.586; r 1.0; refusal 100 %; film 38.0 s, 10.7 MB; looked at every frame 1.21-2.50, 15.00-16.00, 26.21-27.17 (and 3.67-3.83, 7.54-7.62, 5.67-6.08)", "changed": "stopped for the critic"}
