# Page 58 · THE KILL ANIMATION LIBRARY: the shared brief for every Mac page builder

The user, 23 Oct 2026 20:05, on the VM-built 57k_* pages:
> "that html u hosted there is sooooooo bad quality, soo baaad, very very bad, jst compare one of our mac build html and its ui detailing and the html u show, it very basic literally very very basic. bro i want very best quality bro, please, u implement it here then, maximize token usage, build visual detailed things here ... u jst build all visuals, like the html for the finisher etc we build earlier feedback sessions. u create one page for each weapon."

**The 57k_* pages are REJECTED.** Do not copy their look, layout or kill code. You may glance at their kill NAMES for ideas only, and every visual is rebuilt from scratch, far richer.

## The quality bar: the Mac-built feedback pages
Study these before writing a line, and match or beat their detailing everywhere:
- `38_finishers.html`, the finisher page. CSS: `38_fin.css`, `fbkit.css`, `../kit.css`. JS: `38_fin_*.js`.
  - The phone frame with the real game HUD.
  - The hero with its live scene.
  - YOU SAID chips and the numbered asks.
  - Sections with numbered headers.
  - The DIRECTOR: the phone stage plus a scrub track with beat markers, PLAY / SLOW / AGAIN.
  - The **KILL LIBRARY** (#library): a weapon rail plus kill cards (`kcard`); a tap plays the kill in the big phone stage.
  - The MOTION toggle.
- `40_kill_effects.html` with its engine `40k_*.js` (K40).
  - Real DARK VIVID arena plates (1 world unit = 1 px of the game's 1600x740 capture).
  - The kit stick rig, posed by keyframes and IK.
  - The 13-point position-based RAGDOLL with sever / cleave / pop / burn / gild / freeze.
  - Real weapons drawn from WeaponDefs (`40_rig.js` E40.drawWeapon, `40_wdefs.js`).
  - Wet heavy gore (`40k_gore.js`), FX (`40k_fx.js`), cards (`40k_cards.js`).
- `36_index.html`: the board / index look, used for the hub.

Build ON the K40 engine. Reuse its rig, ragdoll, gore, arenas and weapons, and extend it. Never re-invent a weaker one.

## The user's rules (verbatim, non-negotiable)
- "Maximize token usage, i want bestest animations."
- "make sure every animation is entirely different from a-z, dont create generic ones and adjust little, from start frame to end frame everything should be very very different"
- "even if we are building 1000 kill animations, each 1 should be very well designed and crafted"
- "brutal and heavily customized, may be additional elements build for kill animations only, and customize body if needed for better kill animations"
- "everything more cinematic, very very cool"
- **Length:** free, up to 15 s; each kill as long as its story needs.
- **Gore:** brutal, wet and heavy on every kill. Everything is allowed: dismember, decapitate, cut in half, slice into pieces IN THE CUT AREA, x-ray bone breaks, impale / pin to walls, ash crumble, freeze-shatter, flatten, vaporise to skeleton, blood on the lens. Always in the comic art style.
- **The player's name:** the player is **FARIS BASHA**. Their plate is **GOLD** and is always on screen where the game shows it: never covered by FX, camera, cards or bodies, never clipped, never dimmed. Never the word "YOU" in place of the name.
- **Movie references** that click with people (a storm hammer called back to the hand, sorcerer ring portals, bullet-time, a samurai iai draw …) are welcome, but **never named**.
- **The user's own examples:**
  - speed sabre / blink knife cuts that hit the body IN THE CUT AREA, not just cut lines;
  - the killer slashes rapidly, sheathes the blade to rest, and only THEN the foe falls apart.
- **Camera language:** each weapon has its own (sniper = bullet-ride / scope; shotgun = crash zoom + walls breaking; rocket = the sky chase; fists = manga impact frames + combo panels …).
- **Spot needs:** each kill says what it needs (wall / ceiling / ledge / 2nd foe / water / height / the CINEMATIC STAGE, a mini map built just for kills). Use every combination of the arenas' features.
- **Rarity:** 5 tiers, COMMON · RARE · EPIC · LEGENDARY · MYTHIC. Each gun's set spreads across them; mythic ones are the most outrageous.

## What each weapon page holds (`58k_<weapon>.html` + its script `58k_w_<weapon>.js`)
1. **A hero in page 38's style:**
   - the weapon's name and camera language;
   - a live hero scene, playing only on tap;
   - YOU SAID chips with the user's rules;
   - asks.
2. **THE NEW KILLS:**
   - **25** for pistols, rifles, shotguns, heavy, booms and FISTS;
   - **15** for energy, odd, melee and magic;
   - presented like page 38's KILL LIBRARY: kill cards (name, rarity badge, needs tags, length, camera note, a one-line beat summary);
   - tapping a card plays the kill in the big PHONE-FRAMED stage on a real arena, with the game HUD;
   - under the stage, the scrub track with that kill's beats, PLAY AGAIN, SLOW (1/3 speed), drag to scrub;
   - the playing card highlighted;
   - **nothing autoplays.**
3. **THE 7 SKIN KILLS, made fully unique** (the user decided every gun × skin kill is entirely different A-Z): CLASSIC · GOLD · NEON · CAMO · CARTOON · ICE · TAPED.
   - Each is its own animation (own body motion, death, timing, FX), the skin's look on the gun and its own kill.
   - Same player and cards.
   - Fists have no skins: skip this section on the fists page.
4. **THE ROTATION:** a small explainer (most epic first, then next, repeats; spot needs skip to the next; the stage fallback) and the page's rarity spread.
5. **The board link** back to the hub, plus prev / next weapon.

## Ownership (parallel builders, no collisions)
- **The PISTOLS builder owns the SHARED files.** Land these FIRST, within its first hour, before the pistol kills:
  - `58k.css`: the page shell, in 38's theme;
  - `58k_page.js`: the library player + scrub + cards + hero, reading a weapon's kill list from its `58k_w_<weapon>.js`;
  - `58k_cine.js`: the cinematic layer on top of K40 (camera language, x-ray inserts, manga impact frames, split panels, slow-mo ramps, time-freeze, lens blood, body customisation, kill-only props, the cinematic stage);
  - `58_kill_library.html`: the hub, a board like 36_index with the 35 weapon slots, each with its status, count and link.
- **Every other builder** writes ONLY its own `58k_<weapon>.html` + `58k_w_<weapon>.js` files.
  - Until the shell lands, build the kills against a minimal local harness of your own, then switch to the shared shell.
  - Need a shared feature? Write it inside your own weapon file first, then tell the coordinator so it can be promoted into `58k_cine.js` by its owner.
- Nobody edits another builder's files or the 40k_* / 38_* files.
- **No git** in the pages folder: the coordinator commits and syncs. Never push anything.

## Checks before a page is reported
- Headless Chrome ONLY (`--headless=new` + a private `--user-data-dir`). Never `open` a browser window.
- Every kill plays to its end; 0 console errors.
- No horizontal overflow at 390 / 768 / 1440 px.
- The player's gold plate is visible and uncovered in every sampled frame.
- A CONTACT SHEET per page (each kill's first / middle / last frame side by side) proving no two kills share motion or composition. Redo any that do, don't nudge them.
- Look at your own frames like a picky art director: framing (the action in shot), readable silhouettes, gore that reads, no bodies launched out of the world by the ragdoll.

## Reporting
When a weapon page is done, report to the coordinator:
- the files;
- kill counts (new + skins);
- the rarity spread;
- check results;
- the contact sheet path;
- any shared-engine feature you'd like promoted.

Then start your next weapon.

## RARITY SPREAD, locked by the user (23 Oct 20:20: "more epic ones")
- **25-kill weapons** (pistols, rifles, shotguns, heavy, booms, fists): COMMON **4** · RARE **6** · EPIC **7** · LEGENDARY **5** · MYTHIC **3**.
- **15-kill weapons** (energy, odd, melee, magic): COMMON **2** · RARE **4** · EPIC **4** · LEGENDARY **3** · MYTHIC **2**.
- **The 7 skin kills**, by how hard the skin is to get: CLASSIC = COMMON, TAPED = RARE, CAMO and CARTOON = EPIC, ICE and NEON = LEGENDARY, GOLD = MYTHIC.
- The rotation plays MYTHIC first, then LEGENDARY, and so on down, so the higher a kill's tier, the more outrageous and crafted it must be.

## DIRECTION UPDATE (the user, 23 Oct 20:25)
- **Kill-only elements are welcome everywhere:**
  > "scripts should have highly customized elements, additional things whatever, u can make things entirely for animation only"

  Props, body pieces, effects and set dressing built for ONE kill are encouraged.
- **"Teleport to another world"** (a mini map built just for that kill: a ghost town, a train roof, a void, a rain rooftop …) is ONE of the user's raw ideas: "like 1-2 out of 10, now all other ideas is ur creativity". Use it in roughly 1-2 of every 10 kills, not more. Everything else comes from your own invention.
- "**do all permutations and combinations**": combine arena features, props, camera languages, body customisation and timing in ways no other kill uses.
- "**Very brutal, literally very very brutal.**"
- "**take durations, no issues**": length is whatever the story needs (up to ~15 s).
- "**carefully craft, maximize your token**."
- The user approved the vibe of these three revolver examples (seeds for the revolver page). Note that two of the three use a world shift, but that density is NOT the norm:
  - **HIGH NOON** (mythic): a western ghost town; the bell's twelfth toll; six fanned shots, each with its own impact panel (knees, elbows, throat, forehead).
  - **THE SIXTH CHAMBER** (legendary): five rounds dropped one by one; a macro dive into the spinning cylinder; three clicks; the jaw pistol-whipped off; the last chamber through the mouth; a "LUCKY." stamp.
  - **DEAD MAN'S TRAIN** (mythic): a freight train roof at sunset; foot, then shoulder; a tunnel arch takes the upper body; one muzzle flash in the dark tunnel.

## PRIORITY NOW: THE SMG PAGE FIRST, ALL SIX BUILDERS ON IT (the user, 23 Oct 20:30)
> "first build smg page with high priority, with full animation parallel, with best in class quality, put the ready animation as completing in to the html page, so i can see we are going right direction, after i see some of the animation, then i can be sure we are going right path, then we can go batchly"

- **Everything else pauses.** Your own weapons (ar, fists, laser, sabre …) stay on disk untouched until the user approves the SMG direction.
- **Page:** `58k_smg.html`, owned by KILLPAGES-A, on the shared shell.
  - It loads every SMG kill file and shows each kill as a card the moment it is defined.
  - A kill not yet animated shows as an IN PROGRESS card: its script visible, a stamp, PLAY disabled.
  - It becomes playable as soon as its builder marks it ready. The user refreshes and sees it.
- **The split** (25 new + 7 skin kills = 32), each builder in its OWN file, with a theme lane so ideas don't collide:

| Builder | File | Lane | Rarity |
|---|---|---|---|
| A | `58k_w_smg_skins.js` | The shell, the page, the hub, plus the **7 SKIN KILLS** | CLASSIC common · TAPED rare · CAMO, CARTOON epic · ICE, NEON legendary · GOLD mythic |
| B | `58k_w_smg_b.js` | **5 new**: PRECISION + RANGE (walking fire, tracers writing in the air, ricochet patterns, the stream as a pen) | 1 mythic, 1 legendary, 1 epic, 1 rare, 1 common |
| C | `58k_w_smg_c.js` | **5 new**: THE ENVIRONMENT DESTROYED (walls shredded, signs, glass, lamps, the arena itself torn up around the victim) | 1 mythic, 1 legendary, 1 epic, 1 rare, 1 common |
| D | `58k_w_smg_d.js` | **5 new**: CLOSE QUARTERS + ACROBATICS (slides, wall runs, dual wield, point blank, under and over the victim). At most 1 world shift. | 1 mythic, 1 legendary, 2 epic, 1 rare |
| E | `58k_w_smg_e.js` | **5 new**: SPECTACLE. The only lane with 2 "teleport to another world" mini maps (a total of ~3 for the SMG's 25, about the user's 1-2 in 10). | 1 legendary, 2 epic, 1 rare, 1 common |
| F | `58k_w_smg_f.js` | **5 new**: BRUTALITY CRAFT (sustained fire sawing a body in half, dismemberment by the stream, x-ray chains of hits, the slowest most savage deaths) | 1 legendary, 1 epic, 2 rare, 1 common |

- **No duplicates across builders.** Within 10 minutes each of B-F writes its 5 concepts (name, tier, needs, length, beat-by-beat) to `_tools/58k_smg_ideas_<letter>.md`. Read the others' files before animating, and change yours if anything overlaps in motion, idea or camera.
- **The kill def format** comes from KILLPAGES-A's `58k_page.js` API header, landing FIRST. Until then, build against the K40 engine in your own file and adapt once the API is posted.
- The usual rules: craft every kill to the full standard, very very brutal, the gold FARIS BASHA plate always visible, unique A-Z, any length.
- Report to the coordinator each time a kill becomes playable on the page, not only at the end.

## NONSTOP (the user, 23 Oct ~20:40): "dont stop building, dont wait for my reply for building next, u go on autonomously"
- SMG stays first. When your 5 SMG kills are playable, go STRAIGHT BACK to your own weapon group. Don't wait for the user's review or for the coordinator's OK.
  - A: pistol, revolver, hand cannon, golden.
  - B: ar, burst, sniper, bouncer.
  - C: pump, sawedoff, minigun, flamer.
  - D: rpg, gl, cluster, fists.
  - E: laser, beam, shrink, gravflip, ice, glue, portal.
  - F: sabre, knife, hammer, spear, pan, wing, then thunder, scythe, tk, tpdagger, watch.
- Work one weapon page at a time. Within each page, each kill goes playable the moment it's done, and the page fills in kill by kill.
- If the user's feedback on the SMG kills arrives mid-build, the coordinator relays it. Apply it to the kills already done and to everything after, then carry on.
- The quality bar never drops for speed: every kill gets full craft, unique from A to Z, very brutal, with the gold FARIS BASHA plate.
- Report each finished kill to the coordinator in one line, and each finished page with its contact sheet.

## KIT ROUND: new shared tool sets (the user's picks, 23 Oct ~20:55)
The user picked these new tool sets. Four new Mac kit builders make them, each in its own shared file. KILLPAGES-A adds all six files to `K58.SHARED`; a missing file is skipped quietly.

| file | owner | what |
|---|---|---|
| `58k_anatomy.js` | KIT-BODY | ORGANS + ANATOMY: ribcage that cracks open, a beating heart, lungs, brain, guts rope, spine discs, drawn inside an opened torso / skull; the ANATOMY PEEL (skin, then muscle, then bone, limb by limb) |
| `58k_matter.js` | KIT-BODY | NEW DEATH MATERIALS: acid melt, inflate + pop, glass / porcelain shatter, pixel-glitch dissolve, burst into gold coins, paper tear, crush into a cube |
| `58k_destruct.js` | KIT-WORLD | DESTRUCTIBLE SET KIT: planks that snap, crates, exploding barrels, glass panes, signs, collapsing platforms / walls / balconies, real debris |
| `58k_worlds.js` | KIT-WORLD | POCKET-WORLD LIBRARY for the teleport kills: hell, space, underwater, colosseum, white void, ice cave, neon city, plus promoted builder worlds (subway car, disco, funfair) |
| `58k_replay.js` | KIT-REPLAY | INSTANT REPLAY + REWIND: time visibly runs backwards (VHS), then the kill replays from 2-3 other 2D framings with a REPLAY bug |
| `58k_sound.js` + `sfx/` | KIT-SOUND | REAL SOUND, synced to the film (play / pause / scrub / SLOW): automatic sounds on the existing tools, plus `s.snd()` cues for bespoke ones |

Every builder: once a kit's header is posted, use it in the kills still to build and upgrade the finished ones where it makes them better. Sound reaches every kill automatically through the auto-hooks; add bespoke `s.snd` cues as you go.

## REDO ROUND: how kills blend with gameplay (the user, 23 Oct ~21:10). THIS OVERRIDES EARLIER NOTES.
The user's issue with the SMG page: "there are entirely different maps, also in same maps there are additional elements coming ... when playing there is nothing like that, we somehow need a transition or something, or it feels like a sudden glitch." And: "entirely different map ... i meant some map like realm for death ... like hell, not a usual funny map, also the killer somehow brings him there nicely, or the game brings them smoothly."

### 1 · EVERY KILL STARTS FROM GAMEPLAY (the user: "show each one from the last killing moment from gameplay to triggering kill cam to playing the animation")
Each kill on a page plays as one film in three parts:
- **A · GAMEPLAY LEAD-IN, ~1.5-3 s.** It looks exactly like the real game:
  - AUTO zoom gameplay camera;
  - the real HUD: pause, HP bar + number, the board / round header, zoom - / +, the touch controls (joystick, FIRE / PUNCH, KICK, JUMP, BLOCK, the star ability button), the kill feed;
  - normal fighting: movement, jumps, normal bullets and hits, HP draining;
  - no cinematic tricks.
  - It ends on THE KILLING HIT, with the two fighters where the kill's first frame needs them.
- **B · KILL CAM TRIGGER, ~0.6-1 s.** The killing hit freezes (hit-stop). Letterbox bars slide in, the HUD and controls slide out (the gold FARIS BASHA name stays), the KILL CAM stamp shows, the grade shifts. Kill-only SET PIECES are inked in now (section 2).
- **C · THE KILL.** The cinematic itself, then the EXIT: set pieces un-draw in gold ink, the bars slide out, the ROUND OVER card. We are back in the real arena, with the body where it fell.
- KILLPAGES-A builds A / B / the exit into the shell (an automatic gameplay lead-in made from each kill's opening positions, plus the trigger and the exit). Each builder tunes their kill's lead-in through `def.lead` (who moves where, how the victim fights, which hit kills) so it flows into frame 0 of the kill.

### 2 · KILL-ONLY ELEMENTS IN A NORMAL MAP: THE MIX (the user's pick)
- **HAND PROPS** (cape, blindfold, scissors, red-dot sight, knife, second gun): they arrive IN-STORY. Faris (or the victim) reaches behind his back, and the prop snaps into the hand with a whoosh. Use the shared `s.pullOut` (KIT-WORLD).
- **SET PIECES** (neon sign, greenhouse, bar shelf, bunting, gong, billboard, table, brick cover, stall): they are SKETCHED IN by a gold ink line and filled during the trigger (~0.5 s), and UN-DRAWN in gold ink at the exit. They never pop in mid-action. Use the shared `s.inkIn` / `s.inkOut` (KIT-WORLD).
- **The map's own geometry** (balconies, towers, platforms, windows) is used as it is.
- **ATMOSPHERE** (night grade, a giant moon, rain, blackout) eases in during the trigger, or is motivated in the story (lights shot out). Never a hard pop.

### 3 · DEATH REALMS replace the "fun worlds"
- A world shift is now ALWAYS a DEATH REALM: dark, deathly, brutal, never a funny map. It is still only ~1-2 in 10 kills.
- **Every realm kill is unique** (the user: "many more, dont make it generic for all, everything unique"). Each one gets its own realm (look, layout, signature element) composed from KIT-WORLD's realm toolkit. Never reuse a realm look on another kill.
  - Starters: HELL (lava, chains, hooks, brimstone, demon silhouettes); THE VOID (limbo, grey, falling ash, one cold light, the soul crawls); RIVER OF THE DEAD (black water, the hooded ferryman's boat, pale hands dragging under); REAPER'S GRAVEYARD (crypts, the victim's NAME on a fresh open grave's stone, a blood moon, crows).
  - Then many more, e.g.: meat-hook butcher hell, the bone throne, the frozen ninth circle, the hourglass library (his sand runs out), the gallows forest, the drowned cathedral, the mirror limbo, the field of crosses under a red sky, the furnace, the pit of hands, the spider abyss, the eye of the abyss, the ash city.
- **THE CROSSING** has one SHARED SIGNATURE, then a UNIQUE WAY:
  - The signature: the killing hit → TIME FREEZES → the colour drains to black and white (only blood and the gold name keep colour) → a black-red CRACK splits the frame.
  - Then each kill crosses its own way: dragged down through the floor, kicked through a death gate, the arena burns away like paper, swallowed by his shadow, the ferry arrives, the grave opens...
  - THE RETURN is unique too: Faris steps back out alone, and the corpse drops onto the REAL arena floor.
- The signature lives in the shell (`s.deathCrack`, KILLPAGES-A). The realms, crossings and returns live in KIT-WORLD's `58k_worlds.js`.

### 4 · VICTIMS WITH ROLES (the user: "i like the X and shake hand etc, where enemy has some roles too, its nice")
It's an IDEA, NOT A RULE (the user, a minute later: "it should not be always like that, its jst a idea please ... dont make evrything like that"). Use a victim role in SOME kills only, roughly 2-3 in 10 per weapon, where it makes that kill better: they lunge, fight back, plead, offer a handshake, try a trick. Most kills stay driven by Faris. Never turn it into a template. Like the world shifts, it's one ingredient among many.

### 5 · SMG FIRST, THEN NONSTOP
- Retrofit every SMG kill to sections 1-4 and finish the SMG kills still IN PROGRESS. The coordinator shows the user the SMG page.
- Then continue NONSTOP on your next weapon with these rules built in from the start.

## KIT APIs POSTED (read each file's header comment for the full API)
- `58k_anatomy.js` (KIT-BODY, window.K58A), 21:25. Calls are stubs until each tool lands; write against them now.
  - Calls: s.organs, s.openChest, s.ribsCrack, s.heartBeat, s.heartOut -> h (squeeze / drop / throw / shot / stop), s.heartShot, s.lungs (breathe / gasp / collapse / pop), s.brainSplat, s.skullOpen, s.gutsSpill -> g, s.spinePull -> sp, s.spineSnap, s.peel, s.peelAll.
  - Automatic, no call needed: insides at waist cuts, slice and halve ends, x-rays, F's torso faces and holeThrough rims.
- `58k_matter.js` (KIT-BODY, window.K58M), 21:25: s.melt, s.inflatePop, s.shatter({kind: glass|porcelain}), s.glitch, s.coins, s.paperTear, s.cube, all as (b, t, o). Each returns m {t0, t1, at()}. Lit to read on dark realms.

## MIX GUIDE: how often each ingredient appears (the user, 21:30: "how often these ideas should use, all are ur choice"; this is the coordinator's call)
**Always:** the GAMEPLAY LEAD-IN → KILL CAM TRIGGER → KILL → EXIT flow. Every kill, no exceptions.

**Per weapon, as targets.** Variety is the point; a builder may move ±1 where a kill is clearly better for it.

| ingredient | 25-kill weapon | 15-kill weapon | where |
|---|---|---|---|
| DEATH REALM kill (each realm unique) | 2-3 | 1-2 | mostly MYTHIC / LEGENDARY |
| Victim with a role (lunges, fights back, pleads, a trick) | 5-6 | 3-4 | any tier |
| Kill-only SET PIECES inked in | at most ~10 | at most ~6 | the rest use only the map's own geometry + carried props |
| Atmosphere shift (night, moon, rain, blackout) | 4-6 | 3-4 | |
| Rewind / instant replay (KIT-REPLAY) | 1-2 | 1 | MYTHIC / LEGENDARY |
| Death materials (melt, glass, coins…) | 2-3 | 2-3 | match the weapon: ice gun → shatter, gold skin → coins, glue / shrink → their own |
| Organ showcase moment (heart out, chest open, spine pull) | 3-5 | 2-3 | insides at cuts appear automatically anyway |
| Destructible set piece as the star | 2-4 | 1-2 | |

**Spectacle scales with rarity:**
- COMMON: grounded and quick (about 5-8 s). The map's own geometry, at most one carried prop; no realm, no replay.
- RARE / EPIC: medium. One special ingredient.
- LEGENDARY / MYTHIC: the biggest. Realms, replays, set pieces, multi-stage camera work, up to 15 s.

**Distinctness check:** no two kills of the same weapon share the same main ingredient AND the same camera idea. The user's A-Z rule still beats every target here.

## def.lead + KILL CAM TRIGGER API POSTED (KILLPAGES-A, 21:40). Full text: _tools/58k_API.md section 5. The format is final; the shell implementation lands within the hour.
- `lead: { dur (1.2-4 scene s, default 2.4), style: 'advance'|'retreat'|'trade'|'chase'|'brawl', a: {from|dx, jump}, v: {from|dx, weapon, fights: 'shoot'|'punch'|'dodge'|'run'|'none', jump}, kill: 'shot'|'burst'|'punch'|'kick'|'swing'|'cast', hp, arena (the REAL arena, for realm kills), cam, trig: 0.85, exit: 2.2, script(s, A, V, T0) {…} }`
  - script = your own lead-in at NEGATIVE scene times, with the killing hit at about -0.05.
- Timing: the kill still runs at scene t 0..def.len. The lead-in runs before 0. The trigger is a film-time freeze AT scene 0. The exit runs after def.len.
- Set pieces ink in DURING the trigger on film time: `s.fspan(0, s.trig.film, (u, view) => …)` or `s.onTrigger(fn)`. They ink out at `s.exitT` / `s.onExit(fn)`.
- `s.deathCrack(t, {at, dur:1.6, tilt, keep}) -> {t, film}` is the death-realm signature; the KIT-WORLD crossing follows right after it. `s.setArena(key)` / `s.setArenaAt(t, key)` switch arenas.

## ARRIVALS API POSTED (KIT-WORLD, 21:35): `58k_arrive.js` header. Being verified now; the coordinator pings when it's confirmed working. Then every builder switches their own ink fallbacks to it, for one shared look.
- `s.inkIn(target, o)`: with no time it runs during the kill-cam trigger, on film time; or `s.inkIn(t, dur, target, o)`. target = a layer fn (registered layers are swapped in place), a prop with .draw, a Body, 'bg'|'mid'|'top', or an array. Look: a gold nib traces the outline and inner lines with wet blots, then the colour bleeds in from the line (gold first, then real colours) and a shine sweeps across.
- `s.inkOut(target, o)`: with no time it runs at s.exitT. The reverse.
- `s.pullOut(b, t, 'knife'|'cleaver'|'machete'|'scissors'|'cape'|'blindfold'|'sight'|'grenade'|'lighter'|'rose'|'bottle'|'coin'|'card'|'hook'|'syringe'|'rope'|{weapon}|fn, {hand, from:'back'|'belt'|'coat'|'boot'|'air'}) -> H`
  - H has drop / throw / stow / snip / flick / pin / wear / mount / flare, plus tip() and pos().
- Guard calls with `if (s.inkIn)` until it's in K58.SHARED.

## STOP AFTER SMG (the user, 23 Oct ~21:45). THIS REPLACES "NONSTOP".
"stop after smg, then u take my feedback then we can decide how to go next."
- NO work on any other weapon page until the user has reviewed the SMG page and decided. If you already started your next weapon, save it in a working state and stop it now.
- Finish only the SMG items assigned to you, report, then wait.

## NO FUN WORLDS, HORROR REALMS ONLY (the user, 21:45)
"the fun maps in kill cam is so bad, it destroys the value of fear in death kill animations ... remove such funny map, instead put some death realm, very fearing and frustrating, horror."
- DANCE FLOOR (disco) and SHOOTING GALLERY (funfair) are REMOVED, even in their re-staged form.
- KILLPAGES-E replaces them with TWO DEATH-REALM HORROR KILLS (same rarities: 1 LEGENDARY, 1 EPIC). Each gets its own unique realm, built through s.deathCrack + a unique crossing + a unique return.
- What realms must feel like: dread, helplessness, frustration. Darkness, wrongness, things that shouldn't move moving, nowhere to run. Not funny.

## PLAYER BUG (the user): "reset every animation to starting when played"
Any PLAY on a card or the hero stage must restart the film from 0. KILLPAGES-A fixes this in the shell.

## EVERY INK-IN HAS A CASTER (the user, 21:50)
"the in-gameplay element coming in golden touch, it should either be cast by the killer (show that casting animation) or cast by the opponent (if it's something like a defensive thing)."
- A gold ink-in set piece never appears on its own. A FIGHTER CASTS IT, with a visible casting animation:
  - **The KILLER casts** offensive / staging pieces (the gong, the sign, the billboard, a bar, a greenhouse…). A gesture (a hand sweep, a finger tracing in the air, a gun-muzzle flourish, a snap) shoots a gold line from his hand to the spot, and the piece inks in from that line.
  - **The OPPONENT casts** defensive pieces (brick cover, an overturned table, a riot shield, a barricade). The victim throws up the cover with his own cast: a frantic hand thrust, gold lines from his palms. Then the kill answers it.
- Timing is the builder's call. Two good options:
  - during the kill-cam trigger freeze, where only the caster moves (time-stop magic, on film time);
  - as the kill's first beat right after the trigger, for the victim's defensive cast.
- KIT-WORLD adds a shared caster helper (`s.castInk(caster, t, target, {style, hand})`: the casting pose + the gold line from the hand + the ink-in, for the killer or the victim). Builders switch every s.inkIn to it.
- Hand props pulled out in-story (s.pullOut) are unchanged; they're already motivated.
- **Only the fun kills are redone** (the user: "not every kill need to be restarted, jst this funny ones only like the dance, etc, others are good"). DANCE FLOOR and SHOOTING GALLERY are replaced by horror realm kills. Everything else stays and only gets the caster added.

## APPROVED BY THE USER (22:20): THE 3 REPLACEMENT REALM KILLS + CASTING
The user: "ok i approve that, u build it, also dont forget that gold casting elements instead of randomly coming".
REMOVED: DANCE FLOOR, SHOOTING GALLERY (E), THE LAST TRAIN TO HELL (D). PINATA stays.
All three open the same way: gameplay → the killing hit → s.deathCrack (freeze, B&W except blood + the gold name, the black-red crack). Then each has its own crossing, realm and return.

**1 · BELOW**, MYTHIC, built by KILLPAGES-E (from its BLACK RIVER draft). Realm: the river of the dead. Arena: rooftops.
- Crossing: the roof under the victim turns to black water and he sinks like it's tar. Faris calmly walks down into it after him.
- Realm: an endless black river under a starless sky, a silent hooded FERRYMAN poling a boat, thousands of pale hands just under the surface.
- Kill: he surfaces gasping and tries to climb into the boat; the ferryman's pole pushes him back under. Faris stands in the boat and empties the SMG into him slowly, burst by burst, while the hands grab his legs and pull the pieces under; the water reddens. The last burst takes the head; the hands drag the body down.
- Return: the ferryman holds out his palm; Faris drops ONE SPENT CASING in it (the toll). Back on the real roof, the body is spat up out of a puddle, grey and soaked.

**2 · NAME ON THE STONE**, LEGENDARY, built by KILLPAGES-D (in the LAST TRAIN's slot). Realm: the reaper's graveyard. Arena: saloon.
- Crossing: the saloon floorboards rot into grave dirt and the victim drops into a fresh open grave; a moonlit graveyard rises around them (a blood moon, crows).
- The horror: the HEADSTONE ALREADY CARRIES HIS NAME and "DIED TONIGHT".
- Kill: he claws at the grave wall but the dirt keeps sliding in. Faris stands at the edge and fires down; each burst throws up dirt and pieces of him. The coffin lid under him creaks open and dead hands inside pull him down into it. A final long burst NAILS THE LID SHUT. A crow lands on the stone.
- Return: back in the saloon, his body lies in a perfect grave-shaped rectangle of dirt on the floorboards; the dirt fades away.

**3 · NOWHERE**, EPIC, built by KILLPAGES-E (from its HIS OWN SHADOW draft). Realm: the void. Arena: backyard.
- Crossing: every light dies except one cold spotlight; the backyard falls away into endless grey with falling ash.
- The horror: he runs, but THE VOID LOOPS. He runs off one edge and comes back in from the other, again and again; there's nowhere to go, and every pass costs him a limb to Faris's bursts.
- Kill: his OWN SHADOW peels off the floor, stands up behind him and holds him still while Faris walks in firing. The shadow drags the body down into the floor.
- Return: the light snaps back to the backyard; the body drops face down, and IT HAS NO SHADOW ANYMORE.

**CASTING, for everyone, now:** every gold ink-in goes through `s.castInk(caster, [t], target, o)` (58k_arrive.js; read its header):
- the killer casts offensive / staging pieces ('sweep' / 'trace' / 'snap' / 'muzzle' / 'slam');
- the victim casts defensive cover ('thrust');
- exits use s.castInkOut;
- no bare s.inkIn anywhere;
- hand props through s.pullOut.

## GOLD INK COMES FROM THE HAND (the user, 22:50): "gold ink should come from hand, instead of gun"
- No casts from the gun. The coordinator patched 58k_arrive.js so style 'muzzle' now casts as a hand 'snap'.
- Builders: pick hand styles ('sweep' / 'trace' / 'snap' / 'slam', and 'thrust' for victims) and remove 'muzzle' from your calls.
- KIT-WORLD: retire the muzzle gesture properly (keep the alias to 'snap').

## GO: BUILD EVERY WEAPON PAGE (the user, 23:00). REPLACES "STOP AFTER SMG".
"all are looking good, u now create all kill pages well crafted, highly detailed and custom made, and after all created start building it in code, it should be the exact animations in code, dont compromise in code, in code u have either implement it exactly like that or even better in addition to it."
- The SMG page is APPROVED as the standard. Every builder now builds ALL its weapon pages, NONSTOP, one page at a time, in the order of "## NONSTOP" above:
  - A: pistol, revolver, hand cannon, golden; then the hub 58_kill_library.html.
  - B: ar (started), burst, sniper, bouncer.
  - C: pump (started), sawedoff, minigun, flamer.
  - D: fists (started), rpg, gl, cluster.
  - E: laser (started), beam, shrink, gravflip, ice, glue, portal.
  - F: sabre (started), knife, hammer, spear, pan, wing, then thunder, scythe, tk, tpdagger, watch.
- Every page meets the SMG standard and every rule in this brief:
  - the 3-part film (def.lead → trigger → kill → exit);
  - gold set pieces ONLY via s.castInk, from the HAND, by the killer or by the victim for defence;
  - hand props via s.pullOut;
  - realm kills = unique HORROR death realms through s.deathCrack + KIT-WORLD crossings / returns;
  - the MIX GUIDE frequencies;
  - every kill entirely different A-Z;
  - brutal gore;
  - the gold FARIS BASHA plate from the shell.
- Each weapon has 25 new kills (15 for energy / odd / melee / magic) + 7 skin kills (fists: 25, no skins), with rarity spreads 4·6·7·5·3 / 2·4·4·3·2.
- Use the kits: KIT-BODY organs and materials, KIT-REPLAY rewind / replay (MYTHIC / LEGENDARY), KIT-SOUND (auto sounds plus bespoke s.snd cues and realm beds), KIT-WORLD (destructibles, realms).
- Each kill goes playable the moment it's done. Report each finished page with its contact sheet. Run python3 _tools/58k_kits.py after adding files.
- THEN CODE: once every page exists, TF-KILLS ports every kill into the game EXACTLY as on its page, or better. Nothing simplified.

## ABSOLUTE UNIQUENESS ACROSS THE WHOLE LIBRARY (the user, 23:15). THIS OUTRANKS THE MIX GUIDE.
"make everything unique, even if we have world kit, each one modify it, or dont use that generic and use customized one ... i dont want anyone to look like 'ooh this the same movement but with different gun' ... never make any one of the kill across 750 or whatever the same."
- No two kills in the ENTIRE library (all ~930: 35 weapons + skins) may share their core idea, or their motion + camera + death combination. "The same movement with a different gun" is a duplicate.
- Kits are raw material. Customise every use (gesture, timing, staging, shape, palette, props), or build a custom version in your lane file. Never a stock look, never a stock realm.
- THE LEDGER: _tools/58k_LEDGER.md. Read it fully before designing any kill; append your kill's line when it goes playable. First add lines for your SMG kills. The coordinator rejects duplicates.
- DEATH REALMS TOO (the user, 23:18: "also dont forget death realm animations too"): every weapon page includes its death-realm kills (2-3 per 25-kill weapon, 1-2 per 15-kill weapon, mostly MYTHIC / LEGENDARY), and every one is UNIQUE across the whole library: its own realm (look + signature horror element), its own crossing, its own return. They go in the ledger with the REALM / CROSSING / RETURN fields. Horror and dread, never fun.

## EVERY KILL GETS A CONCEPT LIKE THE SMG REALMS (the user, 23:28: "death realm in smg is so cool ... implement unique concepts like this for all too")
What made BELOW / NAME ON THE STONE / NOWHERE land is the bar for EVERY kill, realm or not:
- **A HIGH CONCEPT you can say in one line**, with its own idea that no other kill has ("his name is already on the stone"; "the void loops, there's nowhere to run"; "the toll is one spent casing").
- **A HOOK** that makes it unforgettable: a twist, an irony, a rule of its own world, a cruel detail.
- **A STORY ARC**: setup → escalation → the payoff death → a final image that lingers ("the body has no shadow anymore").
- **ATMOSPHERE AND EMOTION**: dread, menace, cruelty, swagger. The kill makes you feel something, not just watch gore.
- **A SIGNATURE FINAL IMAGE**, unique to that kill.
Write each kill's concept line into the ledger CORE column. If a planned kill is only "Faris shoots, the body breaks", rethink it until it has a concept like these. Already-built kills on pages still in progress get the same treatment where they're thin.

## PROPER SOUND FOR EVERY ANIMATION (the user, 23:35: "also give proper sound effects etc, for animations")
Auto-sounds aren't enough. EVERY kill on EVERY page gets a designed soundtrack:
- **Builders:** add `s.snd(t, id, o)` cues for every key beat as you build (each impact, cut, bone, prop, cast, crossing, the final image) and a bed (`s.music`) where the kill has a mood (realms, tension, silence-then-slam). Silence is a tool too. Unique per kill: don't reuse another kill's cue pattern.
- **Weapon sound:** every weapon sounds like itself (laser zap / hum, flamethrower roar, minigun spin-up, rocket whoosh, glue squelch, ice crackle, portal hum, melee swish / clang, magic spells).
- **Per-weapon cue files** `58k_snd_<weapon>.js` hold the polish pass for each page; the engine stays in 58k_sound.js.
  - KIT-SOUND owns the engine + the A / B / C weapons' files;
  - SOUND-2 owns the D / E / F weapons' files.
  - They generate any missing weapon-specific sounds with ElevenLabs (gen.py, KEYNAME=ELEVENLABS_APIKEY8), ahead of each builder's page order, and mix-check every finished page (sync within a frame, levels, no clutter, uniqueness).
- **In the game:** TF-KILLS ports the sound with each kill, exactly as on the page or better.

## GAME-FEASIBLE, ESPECIALLY MELEE (the user, 23:45)
"when building animation, think is it technically possible in game too, i mean is it possible practically in game too, especially melee weapons are not like guns, so implement them carefully."
- Every kill must be practical to build in the real Unity game; TF-KILLS will port it exactly. The kill cam is a cutscene, so custom rendering, props, realms and slow-mo are all fine. But everything must be buildable on the game's own systems: the 2D verlet / capsule stick rig, the real arenas (or a realm scene), the real weapons and how they're held and used.
  - Only effects that can be built as 2D sprites / meshes / particles / shaders.
  - Body cuts and organs drawn on the real rig.
  - No 3D tricks.
  - Nothing that depends on page-only HTML hacks.
- **The kill starts from what the weapon really does in a match.** The gameplay lead-in and the killing hit must use the weapon's REAL move set: read the game code before designing.
  - Melee and abilities: Fighter/Fighter.cs, Fighter/Abilities.cs, Fighter/FighterDashIn.cs (the speed sabre's dash, the blink knife's teleport, the wing blade, the spring staff…), Core/World.cs (blade hit kinds).
  - Magic: Weapons/Magic.cs + MagicWorld.cs. Portals: Weapons/Portals.cs. Projectiles: Weapons/Projectiles.cs.
  - Guns: 40_wdefs.js / Weapons.
- **Melee kills are NOT gun kills.** They follow the blade's or blunt weapon's real reach, swing arcs, weight, the follow-through, how it's held (one / two hands), the sheath / draw, a parry (the pan). Each melee weapon's kills must feel like THAT weapon in the game.
- If a page idea can't be built in the game as drawn, change the idea, not the port. When unsure, ask TF-KILLS (agent adc5a7c8610d6bef9) or the coordinator.

## MORE SOUND KEYS (the user, 23:45): "i saw lack of sound effects in speed sabre ... not only for this but also for all weapon"
- ElevenLabs keys now in the dev repo .env: ELEVENLABS_APIKEY8 and ELEVENLABS_APIKEY9 (plus 6 / 7). Rotate KEYNAME when one runs out of credits. Never print keys.
- The SPEED SABRE page gets a full sound pass FIRST (SOUND-2), then every page, every weapon.

## REALM TOOLKIT + CASTING KNOBS POSTED (KIT-WORLD, 00:30). Read the headers of 58k_worlds.js and 58k_arrive.js.
- castInk: 11 hand styles (sweep, trace, snap, point, beckon, claw, spin, fist, rip, slam, thrust) and many knobs (speed, size, height, hold, line arc / straight / zigzag / spiral / wave / drip, land point, glyph seed). Combine them so no two kills cast alike. Note it in your ledger KITS column.
- Realms: s.realm(key, {sky, ground, parts, light, grade}), s.cross(... sink / rot / lightsout / burn / rise / swallow), s.ret(... snap / spit / fade / crumble), s.dropCorpse, s.groundMark.
- TAKEN by the SMG page, never reuse their signature looks: the black river + ferryman + hands (BELOW), the graveyard + named stone + coffin (NAME ON THE STONE), the looping ash void + peeling shadow (NOWHERE). The crossings sink (tar), rot (floorboards to grave) and lightsout (void), and the returns spit (puddle), grave-mark and no-shadow, are also used.
- Every future realm builds its own identity from parts plus your own drawing: a new sky / ground / signature horror element, a new crossing and a new return, checked against the ledger.
- (00:58) The 11 REALM LAB compositions on 58k_kit_world.html (butcher hell, bone throne, frozen ninth circle, hourglass library, gallows forest, drowned cathedral, mirror limbo, field of crosses, spider abyss, eye of the abyss, pit of hands) are PARTS DEMOS. Don't copy one as it is into a kill: compose your own realm (sky layers + ground + parts + your own drawing + your own crossing / return), and log it in the ledger. The ~40 seeded parts, 13 crossings and 15 grounds give endless combinations; use them so every realm is one of a kind.

## THE BODY KIT IS A HIT + EXTRA KILLS ALLOWED (the user, 01:20)
"make use of that body kit etc, very well, its very nice. u can even add more animation in each gun if u want, no problem."
- **USE THE BODY KIT GENEROUSLY** (58k_anatomy.js + 58k_matter.js; demos on 58k_kit_body.html): open chests, hearts in the fist, lungs, brains, guts ropes, spine pulls, the anatomy peel, and the 7 death materials with all their variants. This RAISES the MIX GUIDE caps for organ moments and materials: use them wherever they make a kill more brutal or memorable. Every use must still be customised (variant options, seed, staging, timing) and logged in the ledger KITS column, so no two uses look alike.
- **EXTRA KILLS ARE WELCOME**: 25 / 15 per weapon is the MINIMUM, not a cap. If you have more great, unique concepts for a weapon, add them as bonus kills, spread across rarities (lean EPIC / LEGENDARY / MYTHIC), each at full SMG quality, each with its ledger line. Never pad with weaker ideas: a bonus kill must be as strong as the best on its page.

## REPLAY KIT POSTED (KIT-REPLAY, 01:25): 58k_replay.js header; demos on 58k_kit_replay.html
- `s.rewind(t, {to:'start'|<0, style, speed, cam})`: 8 looks (vhs, film, digital, cctv, manga, crt, negative, holo); it can rewind back into the gameplay lead-in ("how it happened").
- `s.replay(t, {angles:[...]})`: 18 cams, 10 wipes, 7 telestrator kinds, 6 bug styles, 11 filters, speed ramps, freeze endings. A rewind and a replay at the same t chain into one segment. `s.pipReplay(t, {...})` over the live action.
- The MIX GUIDE has 1-2 per 25-kill weapon (mostly MYTHIC / LEGENDARY). Stage each replay uniquely: cam / wipe / look / bug combinations never repeat, and log them in the ledger KITS column.

## BODY KIT ADDITIONS (KIT-BODY, 02:00): 58k_anatomy.js header; 47 demos on 58k_kit_body.html
- s.eyePop (the eye on its optic nerve), s.jawOff (jaw + teeth fly; the tongue dangles), s.teethOut, s.ribOut -> a rib as a bone blade in the killer's hand, s.gutsNoose (his own guts round his neck), s.artery (carotid / femoral / brachial / wrist / aorta jets per heartbeat), s.skeletonWalk, s.peel(b, t, 'scalp'), openChest {style:'claws'}, peel style 'strip', shatter kind 'obsidian' (realms), cube 'ball' / 'slab'.
- Need a body tool that isn't there? SendMessage KIT-BODY (a38d1cba93f1f8a49) one line and it gets added.
- (24 Oct, KIT-BODY) **TWELVE NEW DEATHS** in `58k_bodyx.js` (window.K58X; loads with 58k_matter.js automatically; demos in section 04 of 58k_kit_body.html, 12 + 18 re-cuts). The ledger count showed impale 30, slice 29, holes 27, x-ray 26, skull 21, guts 17, eyePop 11 used; these had 0-1 uses, so use them instead. All (b, t, o), seeded, scrub-exact, 60 fps at 4x throttle, sound-hooked; fronts spread along the skeleton (o.from: 'feet' | 'hands' | 'ends' | 'head' | 'chest' | a joint | [x,y]) so they port to the Unity rig 1:1. Customise every use (options + seed) and log it in the KITS column.
  - `s.electrocute(b, t, {from: 'sky'|'ground'|[x,y]|fn, col: blue|white|purple|green|red|gold, hz, arcs, cook, skel: 0..1 (x-ray strobe), hair, sockets, lift, end: plank|crumple|kneel})`
  - `s.petrify(b, t, {stone: granite|marble|sandstone|basalt|jade, from, creep, endT, end: crumble (head rolls)|topple|sand (dune)|stay, moss, cracks})`
  - `s.char(b, t, {from, flame: fire|blue|green|hell, burn, curl (boxer pose), endT, end: heap (skull on embers)|stand (blown away)|crack (coals)})`
  - `s.frostbite(b, t, {style: ice|gangrene, from: 'ends', creep, order: [cuts], gap, snap: shatter|whole, icicles, breath})`
  - `s.liquefy(b, t, {style: burst|drain|boil, liquid: blood|water|bile|mercury|ink|acid, at (puncture), endT, drain})`
  - `s.shrinkWrap(b, t, {film: clear|black|pink|blue, style: vacuum|heat, end: mummy|pack, label})`
  - `s.tendonRip(b, t, part, {by: killer (holds the wrist), dir, dist, dur, n, kinds, throw})`, part: armF|armB|foreF|foreB|legF|legB|shinF|shinB|head
  - `s.hollow(b, t, {how: siphon (to: point|fn)|pores|wound, drain, end: crack (empty inside)|crumble|blow})`
  - `s.wax(b, t, {wax: white|red|black|bees|blue, wick: head|hands|both, burn, left, end: out|stub})`
  - `s.stuffing(b, t, {kind: feathers|straw|cotton|beans|sawdust, burstT, at, dir})`
  - `s.corrode(b, t, {kind: acid|toxic|venom|lava|bile, how: rain|splash (at), n, cuts, dur})`: layered holes (skin, muscle, bone, see-through); limbs drop at the joints
  - `s.crystallize(b, t, {gem: amethyst|emerald|ruby|ice|citrine|void, from, grow, n, end: shatter|stay|tower})`
  - (11:40) MORE: `s.decay(b, t, {dur, end: bones|dust, stand, grass})` a time-lapse rot · `s.jigsaw(b, t, {inside: meat|hollow, order: top|random|hit, at})` he is a puzzle, pieces pop out · `s.implode(b, t, {to, dur, spin, col})` pulled into a singularity · s.petrify stone 'salt' · s.crystallize end 'geode' (rock shell cracked open, crystal-lined) and `points: [[x,y]...]` (clusters erupt from exact hit points).
  - Sound ids (KIT-SOUND scores them): matter.electro.* · matter.stone.* · matter.char.* · matter.frost.* · matter.liquid.* · matter.wrap.* · body.tendon.* + body.limb.free · body.hollow.* · matter.wax.* · matter.stuff.* · matter.corrode.* · matter.crystal.* (timings in the file header).
- (02:05, SOUND-2) s.hush(t, amt) holds until another hush, so ALWAYS lift it (a later s.hush(t2, 1)). An unlifted hush silenced ONE PUNCH. Builder s.snd / sndNow calls are fine: the sound layers upgrade and dedupe them.
- (02:10) SHARED FILES MUST NEVER BREAK MID-EDIT. Every 58k page loads the shared kits, so a half-written 58k_destruct.js broke ALL pages for a while. Owners of shared files (58k_cine.js, 58k_page.js, 58k_slice.js, 58k_arrive.js, 58k_worlds.js, 58k_destruct.js, 58k_anatomy.js, 58k_matter.js, 58k_replay.js, 58k_sound.js, 58k_snd_*.js) do multi-step changes in a working copy (e.g. _scratch/<file>.next.js), syntax-check it (node --check), then swap it in with one write. Lane files follow the same rule where possible.

## DETERMINISM + RESILIENCE (02:20)
- KIT-REPLAY is DONE (58k_replay.js; 58k_kit_replay.html). It now runs QA-DETERMINISM + PERF over every page; table in _tools/58k_QA.md. Expect messages about nondeterministic or slow kills and fix them first.
- Keep all drawable state on objects (bodies, particles, scene fields), never in closure variables. Seeded s.rng only (no Math.random / Date.now in build or draw). Draw textures directly rather than through canvas patterns where frames must be exact. A frame must render identically by scrub, by play, and on a fresh load, or it can't rewind and can't be ported exactly.
- The shell now survives a broken kit file (it's logged once and its kills skipped) and catches a build or step that throws (logged once per kill). Still keep shared files parseable at every save.

## DISK DISCIPLINE (02:30): the internal disk dipped to 2.3 GB free
- Run headless Chrome ONE instance at a time per agent. Delete your temp Chrome profile and scratch renders as soon as a check is done (only your own; never others').
- Save review frames as JPG, not PNG; keep contact sheets, delete the intermediate frames.
- Big outputs (WAV renders, frame dumps) are kept only while needed, then removed (your own files only).
- If you see free space under ~3 GB (df -h /), pause heavy checks and tell the coordinator.

## LANES UPDATED (03:50): two more builders
- A: pistol, revolver, hand cannon, golden, then the hub
- B: ar, burst, sniper, bouncer
- C: pump, sawedoff, minigun, flamer
- D: fists, rpg, gl, cluster
- E: laser, beam, shrink, gravflip
- F: sabre (done), knife, hammer, spear, pan, wing
- **G** (the former PAGE56 builder): thammer, scythe, tkglove, tpdagger, timewatch (magic)
- **H** (new): ice, glue, portalgun (odd)

## SKIN TRAPS + NEW RECURRING TRAPS (coordinator, 24 Oct 06:05) — read before writing any skin kill
Each skin type now has 3 kills (smg, speedsabre, pistol). Families already used per skin, so a NEW skin kill of that type must NOT use them:
- TAPED: the tape used on the victim in any way (wrap, gag, bind, mummify; the sabre owns it); taped double mags (the smg owns it). Find another property of a taped gun: the wear, the repair, the grip, the DIY.
- CAMO: hiding in a bush / hedge / foliage (both the smg and the sabre used one); a hunter's trap + trophy photo (pistol). Think beyond plants: disguise, mimicry, blending into the set, misdirection.
- NEON: any video-game / HUD / digital-interface conceit (lag, a rhythm game, a targeting computer: three already). Neon must be something else: light, signage, club, glow-in-the-dark, sodium night, tubes.
- CARTOON: walking off thin air (smg), card fans (sabre), a living bullet with a face (pistol).
- ICE: carving a frozen man (smg), curling (sabre), a falling icicle impale (pistol); frozen-and-shattered is too generic on its own.
- GOLD: flesh turned to gold by a bribe (smg), a weighing-of-the-heart tomb (sabre), kintsugi porcelain (pistol).
- CLASSIC: a handshake trap (smg), the cap landing back on the stump (sabre), a countdown that fires early (pistol).
New recurring traps (add to the list in the cron):
- THE RULE OF THREE: a trick repeated until the victim stops reacting (folds arms / rolls eyes), and the real kill comes then. knife.behind-you owns it.
- Countdown / count-chip gags: pistol.skin-classic (ON THREE) and laser.ten-count own counting. No more count-based hooks.
- Eye-on-its-nerve: already in knife.blink, knife.pickpocket and laser.scarecrow. Do not use it again unless it IS the whole concept.
- Layer-by-layer strip to the skeleton: laser.headwind (blasted) and knife.flayed (anatomy plate) own it.
- Throat + carotid pumping through the fingers as the whole death: used several times; customise or pick another death.
- POST-FX ON THE KILL FRAME: chroma split / motion smear must never hide the killing blow or the gore. Keep the poster frame crisp and readable; use chroma for 2-4 frames at most.
- TITLE STAMPS must never cover the corpse / the final image (place the stamp in empty space, away from the bodies and the gold plate).
- (06:40) More skin families now taken by the knife: TAPED = a taped box or any tape containing the body or its pieces (sabre owns tape-holds-the-cuts); a DIY tape silencer (pistol THUP). CAMO = the wielder blending into the set (knife CHAMELEON). NEON = a UV / blacklight reveal (knife BLACKLIGHT). ICE = blood freezing into spikes (knife RED ICE). CARTOON = a flip book (knife FLIP BOOK). GOLD = an auction realm (knife THE AUCTION). CLASSIC = a head that keeps turning (knife DOUBLE TAKE).
- TITLE CARDS must also stay out of the top HUD band (the Faris Basha / opponent name chips): never cover a name.
- (06:45) More skin families now taken by the laser: CLASSIC = launched to a twinkle in the sky (laser STAR KO). CAMO = the victim turned invisible and revealed by his own blood. CARTOON = pleated like an accordion. NEON = a body snapped and glowing like a glow stick. GOLD = melted down and minted into a coin. Every skin type is filling fast: before writing a skin kill, grep the ledger for ALL kills of that skin type ("skin-<type>") and be different from every one.

## REALM REGISTRY (KIT-WORLD; kept current from the ledger). Read before designing any death realm.
The user: death realms must be unique, horror (dread, never fun). No realm look, signature element, crossing or return in this table may be reused or re-skinned. The kit crossings / returns in 58k_worlds.js are raw material; see the TAKEN column of the kit list below.

| Realm | Kill | Crossing (how they get there) | Return (how it ends in the real arena) | Core dread |
|---|---|---|---|---|
| BELOW: black river, ferryman, hands under the surface | smg.below | the roof turns to tar-black water, he sinks | ferryman takes the casing; body spat up from a black puddle | the toll of the river of the dead |
| NOWHERE: grey ash void, one cold spotlight | smg.nowhere | every light dies but his spotlight; the yard falls away | lights snap on; body face down with no shadow | a loop that costs a limb a lap |
| THE REAPER'S GRAVEYARD: blood moon, crows, his own headstone | smg.name-on-the-stone | floorboards rot to grave dirt, he drops into the grave | a grave-shaped rectangle of dirt on the boards fades | his grave already dug, his name already cut |
| THE HALL OF REFLECTIONS: black mirrors, Faris in none | fists.the-mirror | his reflection pulls him down into a rain puddle | his whole reflection pounds under the puddle, sinks | his reflection dies a beat before him |
| COCYTUS: frozen ninth-circle lake, three-faced colossus | fists.ninth-circle | boots freeze; frost climbs to the throat; he stands in the lake | a melting ice block; the headless body slumps out | frozen to the neck over everyone Faris killed |
| THE SLAUGHTER LINE: skinned carcasses of him on hooks | fists.hook-hall | a meat hook drops from the sky and hauls him up | his legs fall from the sky; an empty hook comes down, is hauled up | hell's killing floor, every carcass is him |
| THE DEAD MAN'S GALLERY: rotting circus tent, tin targets | pump.shooting-gallery | 'c.curtain': moth-eaten velvet curtain drops and rises | 'c.flap': a tent flap pushed aside | the newest tin target |
| THE DOLLHOUSE: cutaway dollhouse in a giant dark bedroom | pump.dollhouse | 'c.shrink': he shrinks, the world swells past frame | 'c.box': four cardboard flaps fold in, THIS WAY UP | every doll wears his face |
| NO MAN'S LAND: trench hell under a hanging red flare | ar.no-mans-land | 'b.flare': a red circle of flare light grows into the realm | 'b.flareout': the dying flare's circle shrinks back | the dead go over the top forever |
| THE MAGAZINE: oily steel shaft, the dead as cartridges | ar.magazine | 'b.boltclose': a steel bolt face slides across | 'b.eject': the realm frame ejected like a spent case | loaded as the next round |
| THE COLD ROOM: morgue, named drawers, sheeted dead | pistol.toe-tag | 'a.flicker': a failing fluorescent tube, stutter frames | 'a.lightning': tubes die, one lightning flash, wet sheet | only the living breathe fog |
| THE GALLERY of the dead: oil portraits whose eyes follow | pistol.hung-on-the-wall | 'a.gild': the frame gilds, the saloon thickens to oil | 'a.tear': the canvas rips down the middle | the newest portrait |
| THE LAST RING: floating stone ring over a breathing fanged throat | laser.the-last-ring | two cut lines; everything outside the floor disc falls away | hard cut; a long beat; the half-digested corpse falls from the sky | a ring-out is swallowed |
| THE MINT: black foundry, molten gold, a coin press | laser.skin-gold | the saloon melts like wax in gold drips into the foundry | the coin drops out of the air and rolls to Faris's boot | struck into a coin with his face |
| THE OLD CUTS: dead field, red sun, rows of grey dead with hairlines | speedsabre.the-old-cuts | the dash line tears open into a red slit that swallows him | Faris cuts the air; the halves drop out; the slit heals to a scar | every old cut opens again |
| THE GILDED TOMB: gold-seamed vault, gold-masked dead, the balance | speedsabre.skin-gold | gold leaf spreads from the wound, curls and peels away | gold tarnishes and crumbles; corroded mask beside his heart | his heart weighed against a feather |
| THE INTERVAL: violet nothing between two frames of a blink | knife.the-interval | Faris blinks them both; the world smears violet and stops | Faris arrives alone; a beat later half of him arrives | stuck between frames, left behind |
| THE AUCTION: gilded rotten auction hall, skull auctioneer | knife.skin-gold | a red velvet theatre curtain drops and rises (**CLASH: too close to pump's 'c.curtain'**) | the curtain falls, rises on the castle, pieces tagged SOLD | sold off piece by piece |
| THE TOWN AT NOON: dead main street under a black sun | revolver.high-noon | 'a.bleach': over-exposes to white, the town develops | 'a.sundown': blood-red sunset in one breath, lamps come up | the bell only lets you draw on twelve |
| THE TRAIN OF THE DEAD: black freight through red hell | revolver.dead-mans-train | 'a.depart': the rooftops pull away like a platform | 'a.tunnelout': black tunnel, the exit grows from a pinpoint | one stop, the tunnel arch |
| THE ANATOMY THEATRE: steep wooden tiers of the long-dead in wigs, a dissection table, an oculus | thammer.galvanised | 'g.arcs': electric arcs branch out of his body; the theatre is where they pass | 'g.unarc': the arcs crawl back into his remains; the audience's eyes stay in the saloon dark, blinking out pair by pair | his corpse made to perform with lightning |
| THE STRUCK GROVE: lightning-split black trees under a violet storm, a charred person fused in every trunk | thammer.struck-grove | 'g.thicket': black lightning-shaped branches grow over the frame, then split like a struck trunk | 'g.fall': the split trees fall onto the lens one by one | planted and split like a struck oak |
| THE STILL CITY: a night street where time stopped, snow hanging in the air, the ice's dead frozen mid-step (in code, not yet in the ledger) | ice.the-still-city | 'h.breath': into the cloud of his frozen last breath, which swells over the frame and thins into the hanging snow | 'h.drop': one drop of real rain falls into the still city; reality returns in its ring | time stopped; he slows into one of them |

TAKEN SIGNATURE ELEMENTS (never again as a centrepiece): ferryman / river of hands; a spotlight in a void; one's own headstone / open grave; mirrors / reflections; a frozen lake of the damned; meat hooks / carcasses; carnival / circus tent / tin targets; dolls / dollhouse; trenches / flare; cartridges / a gun's insides; morgue drawers / toe tags; oil portraits; a floating ring over a throat; gold foundry / coin press / minting; a field of the old dead with wounds; gold masks / heart-weighing balance; between-frames limbo; auction / lots; a dead western town at noon; a train of the dead; an anatomy theatre / a dead audience applauding; a grove of split trees with the dead fused in them; a frozen city where time stopped. RECURRING (avoid a 4th): 'everyone Faris / the weapon already killed' gathered in the realm (Cocytus, the gallery, the still city).
TAKEN CROSSING / RETURN IDEAS: tar water; rot to grave dirt; lights out; puddle reflection; frost climb; a hook from the sky; curtains (velvet, theatre); tent flap; shrink; cardboard box; flare circle; bolt / eject; fluorescent flicker; lightning; gild / oil / canvas tear; cut-away floor disc + corpse from the sky; wax melt into gold; a slit in the air + healing scar; gold leaf peel + tarnish crumble; violet blink smear; over-exposure + sundown; departing platform + tunnel exit; arcs / branches spreading out of the body (thammer); a black branch thicket over the frame that splits (thammer); trees falling onto the lens; a frozen breath swelling over the frame; a single raindrop's ring.
KIT LIBRARY STATUS (58k_worlds.js): taken by the SMG page as finished looks: sink (tar), rot, lightsout, and the spit / grave-mark / no-shadow returns. The new crossings and returns (KIT-WORLD, 24 Oct) are raw material: compose, recolour and re-time them, and add your own element so no two read alike. Too close to taken looks, so never use these kit ways as they are: 'veins' (thammer's arcs out of the body) and 'thorns' (thammer's thicket); rework them heavily or pick another. Log every realm line in the ledger; this registry follows the ledger (and the lane files, for realms in code before they are logged).

## DISK: USE THE SSD FOR SCRATCH (coordinator, 24 Oct 07:05; the user OK'd it)
The internal disk keeps filling up. From now on every agent writes its big temporary output to the SSD, not /tmp or the home folder: renders, frames, contact-sheet sources, WAV renders, Chrome profiles, QA captures. Use /Volumes/Workspace/Scratch/<your-lane>/ (mkdir -p it). Small final deliverables (contact sheets you report, the pages themselves) stay where they are. Still delete Chrome profiles after each run. If /Volumes/Workspace is missing (the SSD unplugged), fall back to /tmp and tell the coordinator.
- (08:30) Counting is owned by pump.countdown (finger count + held-up hand) and laser.ten-count (the referee). pistol ON THREE is being reworked. No new count hooks. Human shields (friendly fire through a held body) are owned by ar.human-shield; pump MEAT SHIELD and ice.human-shield are being reworked.
- Ledger order is NOT chronology (it's sectioned per builder). When two kills clash, the one that was BUILT / scored first keeps it; the coordinator decides.

## DEATH USAGE (KIT-BODY keeps this current; re-counted from the ledger about every 30 min)
Last count 24 Oct 11:35: 254 kills. A kill counts once per family it uses (its DEATH text or a kit tool in KITS). **RESTING** (≥15 uses): no new uses unless that death IS the kill's whole concept, and then it must look unlike every earlier use. **PREFERRED** (≤3 uses): reach for these first. KIT-BODY reviews every new ledger line and messages the builder with a concrete swap from the kit when a kill leans on a RESTING family or repeats an earlier death image.

| family | uses | status |
|---|---:|---|
| SKULL / BRAIN | 42 | RESTING |
| SLICE / HALVE / SEVER | 40 | RESTING |
| LIMBS OFF | 40 | RESTING |
| SHATTER / GLASS / ICE STATUE | 35 | RESTING |
| BULLET HOLES / RIDDLED | 27 | RESTING |
| DECAPITATION / HEAD OFF | 27 | RESTING |
| BURN / FIRE / CHAR | 27 | RESTING |
| X-RAY / SKELETON | 25 | RESTING |
| OPEN CHEST / RIBS | 24 | RESTING |
| GUTS / ENTRAILS | 20 | RESTING |
| HEART | 20 | RESTING |
| IMPALE / SKEWER / PINNED | 19 | RESTING |
| JAW / TEETH | 19 | RESTING |
| EXPLODE / GIBS / RED MIST | 16 | RESTING |
| KNEES / LEGS SNAP THE WRONG WAY | 15 | RESTING |
| PEEL / FLAY / SCALP | 14 | OPEN |
| ARTERY / FOUNTAIN | 13 | OPEN |
| EYE POP / SOCKETS | 12 | OPEN |
| SPINE | 12 | OPEN |
| CRUSH / FLATTEN / CUBE | 11 | OPEN |
| ELECTROCUTION | 9 | OPEN (new kit tool) |
| DUST / ASH / DISINTEGRATE | 7 | OPEN |
| DROWN / SINK / BURIED | 6 | OPEN |
| INFLATE / POP | 5 | OPEN |
| PAPER / PAINT | 5 | OPEN |
| HANG / NOOSE / STRANGLE | 4 | OPEN |
| MELT / ACID / DISSOLVE | 4 | OPEN |
| GOLD / COINS | 3 | PREFERRED |
| CRYSTALS | 3 | PREFERRED (new kit tool) |
| LIQUEFY / WATER BAG | 2 | PREFERRED (new kit tool) |
| TENDONS STRETCH | 2 | PREFERRED (new kit tool) |
| HOLLOW HUSK / DRAINED | 2 | PREFERRED (new kit tool) |
| WAX / CANDLE | 2 | PREFERRED (new kit tool) |
| GLITCH / PIXELS | 1 | PREFERRED |
| FROSTBITE / LIMBS SNAP | 1 | PREFERRED (new kit tool) |
| STUFFING / PLUSH | 1 | PREFERRED (new kit tool) |
| PETRIFY / STONE | 0 | PREFERRED (new kit tool) |
| SHRINK-WRAP / VACUUM | 0 | PREFERRED (new kit tool) |
| CORRODE / ACID HOLES | 0 | PREFERRED (new kit tool) |

**RESTING:** IMPALE / SKEWER / PINNED, SLICE / HALVE / SEVER, BULLET HOLES / RIDDLED, X-RAY / SKELETON, SKULL / BRAIN, DECAPITATION / HEAD OFF, LIMBS OFF, GUTS / ENTRAILS, HEART, OPEN CHEST / RIBS, SHATTER / GLASS / ICE STATUE, EXPLODE / GIBS / RED MIST, BURN / FIRE / CHAR, JAW / TEETH, KNEES / LEGS SNAP THE WRONG WAY.
**PREFERRED:** GOLD / COINS, GLITCH / PIXELS, PETRIFY / STONE, FROSTBITE / LIMBS SNAP, LIQUEFY / WATER BAG, SHRINK-WRAP / VACUUM, TENDONS STRETCH, HOLLOW HUSK / DRAINED, WAX / CANDLE, STUFFING / PLUSH, CORRODE / ACID HOLES, CRYSTALS. The twelve 58k_bodyx.js deaths (electrocute, petrify, char, frostbite, liquefy, shrinkWrap, tendonRip, hollow, wax, stuffing, corrode, crystallize) are all here: see 58k_kit_body.html section 04.
