- For A (after the STYLE 3 kit): STYLE.ending silently no-ops on a posed body marked dead by hand (V.alive=false, no ragdoll); X5 worked around it with headPop/limbOff. Make ending() handle it or warn. (X5, 28 Oct 11:00) DONE (A, 28 Oct 16:2x): ending() and explode() turn such a body into a ragdoll from its pose and act (tested at levels 2-5 on pistol.mid-x-ring: ragdoll, head popped, limbs cut by level); if it still can't, a console.warn names the kill.
- Pirate Ship map: the plate/mip path stalls 60-240 ms (up to 3.8 s on rpg.the-safest-place) at fixed camera moments, a first draw at a new zoom level (58k_cine.js ~2618). Central fix needed; every kill on pirate is affected. (I, 28 Oct)
- 58k_bodyx.js tendonRip: when the hip is held by a static pin (hold on), the cut's clone copies the pin, so the severed leg stretches like a plank. Free the clone's pin right after the cut, centrally. (X2, 28 Oct)
- DONE 28 Oct (A): the shared mid-round lead-in is fixed centrally in 58k_cine.js.
  - What changed: a foot-locked gait (gait58), a 0.24 s trigger seam settle (trigSettle58), zone cast feet kept planted, gameplay strikes slowed from a 1-frame snap to 0.07 s, and the gate now catches slides during a frozen scene clock.
  - Result: lead-only fails across the 6 mids went 29 → 14, with no regressions in the kills.
  - Safety valves: K58.GAIT58 = false and K58.TRIGSETTLE58 = false bring back the old behaviour.
  - Reports: /Volumes/Workspace/Scratch/A/qa/lead_before and lead_after.
  - Kill-file leftovers, ROUTED (each fixed by the file's owner):
    - N1, handcannon SHOULDER THROW: the 0.13 slide comes from o.settle re-grounding during the lead. Limit it to t >= 0. (A told N1.)
    - KIT-WORLD (owner of the HIDE zone cast): SHOULDER THROW has a 1.50 arm pop from the 0.05 s 'io' jab stitches. Smooth it the next time KIT-WORLD runs. Low priority; the user approved the video as is.
    - N2 or the FISTS builder, fists.mid-blown-pupil: at 2.02 the frame-0 staging puts the victim's head inside Faris. Re-stage the victim's start.
    - F (KNIFE), knife.mid-shucked: its custom L.script lead has 10 pops. Move it onto the shared gait or fix the keys. Add this to F's 18:03 brief.
- (28 Oct 15:50, A) TONIGHT after 22:00, when the Mac's load drops: quiet re-measure of the pirate GPU stall fix on GPU Chrome (Scratch/A/tools/gpuplay.cjs, dsf 2, 3 runs): rpg.the-safest-place, rpg.skin-ice on pirate, gl.snooze, pistol.mid-in-amber, old vs new (pre 'K58.PYR58=false'). Target: p95 <= 16.7 ms, no gap over 50 ms. Daytime runs were noisy (load average 11-21).
- (28 Oct, A) Plate pyramid DONE: 58k_cine.js (PYRAMID + PLATE GUARD + K58.drawPlateRect), 58k_pyr58.js, _tools/plate_pyr.py, img/maps/pyr/. Routed: destruct, elements, slice x2, worlds, rpg_3, rpg_2, hammer, hammer_deep, sabre_deep, pump/sawedoff/smg_c KC.erase + KC.plateIn, tpdagger plateStrips. The guard covers the rest (inset renderers in ar/beam/burst_kit/fists/laser/shrink/smg_b/smg_e, cluster_films2 patches, smg_e night grade, tkglove_5 clone, pump/sawedoff column cuts). Rule added to 58k_BRIEF.md §3.
- (28 Oct, A) TONIGHT after 22:00 as well: in-page perf of THE OFFERED HAND (58m_movie.html), gore HIGH + LOW, GPU Chrome, p95 target 16.7 ms (no gap over 50 ms). Same quiet window as the pirate re-measure.
- (28 Oct, A) DONE: ragdoll from the pose (K58.DIEPOSE58) + short-way angle blends (K58.SHORTANG58) in 58k_cine.js, for X3's SLIPSTREAM seated-death explosion. A/B: Scratch/A/qa/dietest.jpg, angtest.jpg, dieab.jpg. Still to do: check X3's exact lines when they arrive.
- A backlog: the shared lead weapon-fly fx (58k_cine.js ~3374) has no flat landing; a knocked-out gun lands standing on end (X1, BURNT PAGE lead).

## STATE at wrap-up (A, 28 Oct night: moving to porting kills into the game)
Open, not started:
- SHOULDER THROW slow-mo ramp sheet, before vs after the 58k_cine3 grade mixP fix (string fields are now picked, not lerped). 6-8 frames over the 0.25 s ramp, plus per-frame luma/colour delta. If the tealMode flip pops at the midpoint, fade the teal layer's alpha through 0 there instead.
- Perf re-measures (run only when the 5-min load is < 25):
  - Quiet pirate: rpg.the-safest-place, rpg.skin-ice, gl.snooze, pistol.mid-in-amber; old vs new with K58.PYR58=false.
  - THE OFFERED HAND in 58m_movie.html, HIGH + LOW, p95 <= 16.7 ms, no gap over 50 ms.
- Strict face re-check (motionqa g5+g0) of the 108 REPLACED_LIVE + VERIFIED READY badges -> _tools/coord/verify/strict_recheck.md.
- RPG A/B re-shoot of rpg.the-safest-place at ~600 px frames, at 0.5 / 0.9 / 5.0 / 5.3 (crops where dark).

## 29 Oct ~05:10 (coordinator) — for A on resume (after 09:20)
- PLATE58: the gold FARIS BASHA plate keeps drawing when Faris is NOT in the shot (realm cuts, full-frame clouds, cutaways), so it floats alone with no body. Seen in sawedoff.acid-rain 4.07-4.10 (green cloud), beam.lantern-sky 5.78-12.33 (realm), smg.below 6.90 (black cut; fixed per kill). Central fix in the plate drawer: draw/fade the plate only while the killer's head is inside the frame (or panel), easing in and out over ~0.15 s. Valve PLATE58; flock58 + node --check; before/after strips on those 3 kills. Note it for the bake recorder (the plate is the GAME's HUD, so the game must apply the same visibility rule).
- PERF58 fold into 58k_cine2.js (see the earlier message).
- other-body / plate-cover checks: finish calibration, then FAIL.
- preflight b2 (VM).
- (E, 29 Oct 07:20) vm_motionqa.sh --strip returned byte-identical STALE PNGs on two runs (03:58, 04:2x) while qa_strip.cjs run directly on the VM showed the current code. Check the strip mode's sync/cache path (an rsync skip, an output-path collision, a cached Chrome profile).
- (X5, 29 Oct 07:30) X5 added ELBOW58 inside PERF58 in 58k_cine2.js (elbow-side changes happen with the arm straight; backup x5/backup/58k_cine2.js.elb). Merge-check it against your PERF58 fold before continuing; keep both behind valves and in PORT_ARCH's valve table.
- (coord, 29 Oct ~10:00) EXPLODE58 should also steer drops/pieces off the gold FARIS BASHA PLATE rect, not only heads: fists.mid-wrung-out 4.93 has blood over 50% of the plate for 7 frames (head-back 5.00, opened-up 3.25 similar). Same path test, plate rect × 1.1.
- (coord, 29 Oct ~11:20) motionqa should honour def.strictExempt58 = [{t0,t1,why}] windows for the faceless/head-cover checks (beam.votive 6.80-10.45 wax candle; hammer HOODOO statue). Report exempted fails as INFO, not FAIL. Also grep the live pages for any K.FACES.* draw still reachable at any gore (votive XT painted a face on the wax head).
- (coord, 29 Oct ~11:30) PRIORITY after the plate rect: a K.FACES lock. Direct K.FACES[x]()/K.FACES.name() calls still exist in ~30 files (gl/gl_2/gl_3/fists/anatomy/revolver_skins/ice_v8/bodyx/pump/ice_kit/gravflip_6/cine/...). VOTIVE proved a face can still paint at XT despite K58.STYLE.sweep (probably painters defined/cached after the sweep). Fix centrally: make K.FACES a Proxy (or freeze after the sweep with defineProperty getters) so ANY painter, defined before or after, is a NOOP; then run strict faceless over batch 1 to confirm. E has already removed its lane's direct calls.
- (coord, 29 Oct ~11:50) PANEL CAPTIONS = words during the action (user: 'text covering animation'). Multicam inset helpers draw a text label: RIF.inset in 58k_w_ar.js:678 and 58k_w_burst_kit.js:676 (o.label, style 'manga'), KE.inset 58k_w_beam.js:92, others like smg_b. Gate every inset/panel label behind WORDS58 (off) centrally (a shared hook in cine3 insetWorld or a K58.STYLE sweep on o.label), then grep for any other caption paths (beats arrays drawn as text?). After the K.FACES lock.
- (coord, 29 Oct ~12:10) WHITE VERTICAL EDGE LINES: thin white vertical lines at both frame edges in the final section of many kills (beam.portal 12.39+, golden.eureka 12.85+, smg.long-exposure 9.21+, beam.votive all frames, and baked into the game: rpg.the-tail exit). Probably a pillarbox/final-fit frame border or a multicam panel edge left on. Find the draw (shared shell) and remove it centrally; the bakes record it as geometry, so it must go before the v2 rebake. HIGH (before the K.FACES lock).
- DONE (E, 29 Oct ~13:00, for the coord): WORDS58 central word gate. 40k_scene.js:282 Scene.word() returns null on the kill pages (window.K58 loaded) unless K58.WORDS58 === true or o.sign (and passes sign into the fx); 40k_fx.js:78 PT.word draws nothing unless K58.WORDS58 === true or p.sign. Closes every lane at once (lane s.word speech / SFX cards, snore z's, KE.pop, raw type:'word' fx). Non-kill pages unchanged. Backups Scratch/killpages-e/tmp/40k_{scene,fx}.pre_words.js. Belt-and-braces: E's beam + golden lanes also wrap their builds (NOWORDS58E). Build-check of all kit pages on the VM: see E's report.
- (coord, 29 Oct ~14:00) STRICT FACELESS MISSED A FACE: pan.backhand 58k_w_pan_b.js:156 welt layer paints eyes/teeth/bone/brain on the victim's head at g>=3, and faceStrict didn't flag it. Find why (the check likely only looks for K.FACES painters or a dark blob pattern) and widen it (any kill-drawn marks inside a head disc beyond the gore cut/cap/blood palette → FAIL). Then sweep all 808 at g3+g5 for head-disc drawings. (After the K.FACES lock.)
