# W-CREATURES: rigged creature library

**Blocked on you:** nothing for this asset delivery. Connecting it to games is a separate, unperformed task.

**What changed:** prepared 24 catalog-ready creatures, including a realistic wolf, plus five separately held-back flyers, without changing any live game or service.

**Status at 17 Oct 2026 20:03 CET:** files and runtime-loading checks complete; this is an asset handoff, not a deployed game update.

## Delivered

[Whole library](contact_sheet.png) | [Matched wolf comparison](wolf-comparison.png) | [Wolf head close-ups](wolf-head.png)

- Canonical folder: `gex44:/opt/creature-lib-20261017/`.
- `catalog_entries.json`: 24 exact-shape entries, 23 toon and one realistic; every entry has idle, walk, run, attack, hit and die.
- `glb/`: 29 final GLBs. Main catalog entries name 24 of them. Five flyers are excluded from the main catalog rather than given invented speeds.
- `held_back_flyers.json`: explicit incomplete candidates, not a catalog to import unchanged.
- `renders/`: one three-quarter hero and five-row clip strip per final model, all made by reloading the final GLB in Three.js.
- `contact_sheet.png`: all 29 models, including the five marked held-back in this report.
- Wolf proof: `renders/wolf-comparison-side-by-side.png`, `renders/wolf-head-side-by-side.png`, `renders/enemy-wolf-realistic-walk.png`, and moving-ground walk videos for both wolves.
- Scripts: committed under `tools/creatures/` in the worker worktree. The README gives the reproduction order.

## Evidence and limits

| Check | Actual result |
|---|---|
| Independent Node GLTFLoader + AnimationMixer | 29 files, 169 clips, 61 poses per clip, zero errors; embedded images decoded too |
| Browser Three.js load and rendering | 29 files, all clips, zero errors; software WebGL, not a GPU performance test |
| Independent GLB geometry audit | 29 files, zero findings, no external image links, one skin each, no duplicate primitives |
| File budget | Largest 1.222 MB, below 1.5 MB |
| Triangle budget | 3,200 to 15,912 triangles |
| Skin weights | At most four per vertex, normalized |
| Frame and scale | glTF Y-up, metres, forward +Z; idle ground bounds checked; final height measured |
| Gait speeds | Measured from final foot-contact travel and stance time, not guessed from height |
| Contact correction | Authored clips retained; stance positions corrected, leg joints solved and baked |
| Contact marker line-fit error | At most 0.000000 m across measured full-contact markers |
| Remaining sampled toe/skin ground crossing | Worst 1.63 cm; not a claim of mathematically perfect every-vertex foot lock |
| Visual review | Every final hero and all eight final clip sheets opened and judged; both wolf heads and side walk also inspected full size |

Use each speed at animation playback speed 1. If the game moves faster, scale animation playback by `actual_speed / catalog_speed`. Uniform model scaling must scale movement speeds too. Flat-ground contact correction does not replace slope-aware foot placement in a game.

Some Quaternius animal meshes started below 3,000 triangles. SIMPLE subdivision brought them inside the requested range without changing their silhouette. This adds triangles, not new sculpted detail. Unused clubs, carrot and hammer geometry were removed. The stag's rigid antlers were preserved and verified in motion.

## Creature table

Speeds are walk / run in metres per second. GOOD means it looked coherent in the inspected renders for its stated style, not that it is suitable for every art direction. OK means a stated quality or completeness limit remains.

| ID | Source / author | Licence | Style | Clip roles present | Height m | Speeds m/s | Visual verdict |
|---|---|---|---|---|---:|---|---|
| enemy-alien | Quaternius Monsters | CC0-1.0 | toon | idle, run, attack, die, hit, walk | 2.000 | 1.320 / 3.400 | **GOOD** |
| enemy-alpaca | Quaternius Animals | CC0-1.0 | toon | idle, run, attack, die, hit, walk | 1.700 | 0.705 / 2.990 | **GOOD** |
| enemy-bird-brute | Quaternius Monsters | CC0-1.0 | toon | idle, run, attack, die, hit, walk | 1.300 | 0.927 / 2.376 | **GOOD** |
| enemy-blue-demon | Quaternius Monsters | CC0-1.0 | toon | idle, run, attack, die, hit, walk | 2.400 | 2.008 / 5.172 | **GOOD** |
| enemy-bull | Quaternius Animals | CC0-1.0 | toon | idle, run, attack, die, hit, walk | 1.700 | 1.018 / 3.828 | **GOOD** |
| enemy-cactus-monster | Quaternius Monsters | CC0-1.0 | toon | idle, run, attack, die, hit, walk | 1.800 | 1.065 / 2.729 | **GOOD** |
| enemy-cow | Quaternius Animals | CC0-1.0 | toon | idle, run, attack, die, hit, walk | 1.600 | 0.958 / 3.603 | **GOOD** |
| enemy-deer | Quaternius Animals | CC0-1.0 | toon | idle, run, attack, die, hit, walk | 1.400 | 0.913 / 3.920 | **GOOD** |
| enemy-dinosaur | Quaternius Monsters | CC0-1.0 | toon | idle, run, attack, die, hit, walk | 2.600 | 1.900 / 4.894 | **GOOD** |
| enemy-dog | Quaternius Animals | CC0-1.0 | toon | idle, run, attack, die, hit, walk | 0.850 | 0.727 / 1.847 | **GOOD** |
| enemy-donkey | Quaternius Animals | CC0-1.0 | toon | idle, run, attack, die, hit, walk | 1.650 | 1.164 / 4.995 | **GOOD** |
| enemy-dragon | Quaternius Monsters | CC0-1.0 | toon | idle, run, attack, die, hit | 3.000 | not measured / not measured | **OK** |
| enemy-fish-raider | Quaternius Monsters | CC0-1.0 | toon | idle, run, attack, die, hit, walk | 1.500 | 0.940 / 2.407 | **GOOD** |
| enemy-flying-bird | Quaternius Monsters | CC0-1.0 | toon | idle, run, attack, die, hit | 0.350 | not measured / not measured | **OK** |
| enemy-flying-goblin | Quaternius Monsters | CC0-1.0 | toon | idle, run, attack, die, hit | 2.200 | not measured / not measured | **OK** |
| enemy-fox | Quaternius Animals | CC0-1.0 | toon | idle, run, attack, die, hit, walk | 0.650 | 0.666 / 1.930 | **GOOD** |
| enemy-frog-brute | Quaternius Monsters | CC0-1.0 | toon | idle, run, attack, die, hit, walk | 1.300 | 1.150 / 2.961 | **GOOD** |
| enemy-giant-bee | Quaternius Monsters | CC0-1.0 | toon | idle, run, attack, die, hit | 1.000 | not measured / not measured | **OK** |
| enemy-horse | Quaternius Animals | CC0-1.0 | toon | idle, run, attack, die, hit, walk | 2.000 | 1.139 / 4.282 | **GOOD** |
| enemy-monkroose | Quaternius Monsters | CC0-1.0 | toon | idle, run, attack, die, hit, walk | 1.700 | 1.349 / 3.476 | **GOOD** |
| enemy-mushroom-king | Quaternius Monsters | CC0-1.0 | toon | idle, run, attack, die, hit, walk | 2.200 | 1.428 / 3.678 | **GOOD** |
| enemy-orc | Quaternius Monsters | CC0-1.0 | toon | idle, run, attack, die, hit, walk | 2.000 | 1.468 / 3.783 | **GOOD** |
| enemy-rabbit-brute | Quaternius Monsters | CC0-1.0 | toon | idle, run, attack, die, hit, walk | 1.400 | 0.906 / 2.323 | **GOOD** |
| enemy-stag | Quaternius Animals | CC0-1.0 | toon | idle, run, attack, die, hit, walk | 2.100 | 1.089 / 4.673 | **GOOD** |
| enemy-tribal-monster | Quaternius Monsters | CC0-1.0 | toon | idle, run, attack, die, hit, walk | 1.800 | 1.072 / 2.748 | **GOOD** |
| enemy-winged-imp | Quaternius Monsters | CC0-1.0 | toon | idle, run, attack, die, hit | 1.800 | not measured / not measured | **OK** |
| enemy-wolf | Quaternius Animals | CC0-1.0 | toon | idle, run, attack, die, hit, walk | 0.950 | 0.967 / 2.813 | **GOOD** |
| enemy-wolf-realistic | Forge generated mesh + Quaternius wolf rig | CC0-1.0 | realistic | idle, run, attack, die, hit, walk | 0.950 | 0.967 / 2.813 | **OK** |
| enemy-yeti | Quaternius Monsters | CC0-1.0 | toon | idle, run, attack, die, hit, walk | 2.500 | 2.099 / 5.406 | **GOOD** |

The five flying rows have idle/flying, fast-flying, attack, hit and die. Their `run` mapping points to `Fast_Flying`, not a fabricated running clip. **Walk is missing and movement speed is unmeasured, so they are not among the 24 main catalog entries.**

## Realistic wolf verdict: OK, usable at game distance

- It reads as a grey wolf rather than a procedural monster or cartoon dog.
- Eyes are part of the textured head and sit in the sockets. No separate floating eye spheres were added.
- The generated mesh was aligned by its body axis, then fitted to the proven wolf skeleton using measured paw positions. The initial unfitted bind was rejected.
- Cleaned four-weight skinning, isolated tail influence from hind-leg influence, and corrected ground contacts. Final walk and gallop were inspected from the side.
- 15,912 triangles, one armature, below 1.5 MB. Six real source clips are preserved.
- **Remaining limits:** soft detail around the far eye, a small forehead blemish, and a coarse tail tip at close range. The jaw is not independently articulated. Attack is a closed-mouth head-first lunge, not an open-jaw bite. This is not a polished close-up hero wolf.
- The stylised wolf remains the cleaner choice for low-poly games. Matched-camera comparisons show the two at the same 0.95 m height.

## Per-model visual notes

- **alien:** Distinct antennae and purple body; limbs remain attached through punch and collapse.
- **alpaca:** Long neck and hooves read clearly; gallop stays compact, with no stretching in the strip.
- **bird-brute:** Clearly a fantasy upright bird, not a natural flying bird; wing punch and fall read cleanly.
- **blue-demon:** Club removed cleanly; hands remain complete and the punch now matches the unarmed model.
- **bull:** Heavy black bovine silhouette, horns and headbutt are clear.
- **cactus-monster:** Green spiny creature and broad hat remain coherent during the gait and fall.
- **cow:** Brown and white cattle, not the initially assumed black-and-white coat; readable headbutt and collapse.
- **deer:** Slender legs and deer silhouette; clean headbutt and folded collapse.
- **dinosaur:** Red and yellow cartoon dinosaur, not a natural quadruped dinosaur; upright punch is intentional.
- **dog:** Reads as a husky; ears, muzzle, paws and curled tail stay attached.
- **donkey:** Long ears and narrow muzzle distinguish it from the horse; legs are angular but coherent.
- **dragon:** Clear orange winged dragon; flight and drop look coherent, but no walk or measured flight speed.
- **fish-raider:** Turquoise fish-person with fins and legs; deliberately cartoon, with clean punch and collapse.
- **flying-bird:** Purple round fantasy bird, not a realistic pigeon or eagle; wingbeats and drop are readable.
- **flying-goblin:** Green crowned goblin head with bat wings. Not a stone golem despite the source filename.
- **fox:** Orange coat, pale underside, pointed muzzle and bushy tail read as a fox.
- **frog-brute:** Yellow and black poison-frog look; upright limbs and attacks are deliberately stylised.
- **giant-bee:** Striped bee body and wings read clearly; oversized cute eyes suit cartoon games only.
- **horse:** Horse proportions, mane and hooves are clear; gallop and head strike remain coherent.
- **monkroose:** Beaked, round-eared green chimera, not a real monkey; clear hands and upright movement.
- **mushroom-king:** Blue cap and pale body read cleanly. Handheld mushroom hammer removed without hand holes.
- **orc:** Green tusked orc with readable punch and fall; no loose weapon remains.
- **rabbit-brute:** White ears and pink chest read as a rabbit creature; carrot removed cleanly, hands intact.
- **stag:** Antlers restored and move with the head through walking, headbutt and collapse.
- **tribal-monster:** Red masked forest creature with a feather crest; mask stays attached through every clip.
- **winged-imp:** Pink horned imp with bat wings, not a squid despite the source name; coherent flying attack and drop.
- **wolf:** Clear wolf muzzle, ears and tail, far better animal silhouette than the rejected procedural creature; deliberately faceted.
- **wolf-realistic:** Reads as a real grey wolf at game distance; eyes are in the head and limbs no longer stretch. Close-up has a small forehead blemish and a soft far eye. Tail tip remains coarse. Jaw is closed: attack is a head-first lunge, not an articulated bite.
- **yeti:** Broad white-furred body and blue face read as a cartoon yeti; hands and feet stay attached through running and collapse.

## Licences and exact sources

- Quaternius, Ultimate Animated Animals: https://quaternius.com/packs/ultimateanimatedanimals.html . The author page and pack licence declare CC0.
- Quaternius, Ultimate Monsters: https://quaternius.com/packs/ultimatemonsters.html . The author page declares CC0; the archived pack licence and download records were retained.
- **Every imported model's exact download URL, author, licence and input hash are in `evidence/sources.json`; each catalog entry also carries its exact source URL in `credit`.** Animal files came from a pinned-commit public mirror after the author's Drive files returned quota errors. They remain Quaternius assets, not original work by the mirror owner.
- The realistic mesh and reference were generated for Forge for this library, with the generated asset offered under CC0 here. The underlying skeleton and motion clips remain Quaternius CC0. Model weights/software are not bundled. `sources/generated-wolf/provenance.json`, the reference request and `evidence/wolf-image-job-final.json` identify the generation route and exact resulting mesh URL.
- No non-commercial, editorial, unclear or share-alike-only animal model was included. No Mixamo file was redistributed.

## Failures, rejected work and omissions

- Google Drive returned quota HTML instead of animal files. Recovered through a public, licence-preserving mirror with pinned URLs and hashes.
- Both text-to-3D wolf jobs failed with GPU out-of-memory errors. Stopped that route. A separate image-upload job succeeded through the service's existing lower-memory C++ fallback. No service configuration was changed or process restarted.
- The downloaded NewDLC CC0 wolf was rejected for the realistic lane: it looked like a cartoon dog. It is not a delivered catalog entry.
- The first generated-mesh bind had poor paw alignment and tail/leg cross-weights. It was replaced, not called good.
- A browser executable path and a missing Node image decoder caused initial test setup failures. Both were fixed inside the disposable work folder; final consumer checks passed.
- The initial contact-sheet summary hit stale experiment filenames after renaming assets. It was fixed to enumerate only final GLBs.
- The initial stag import dropped rigid antlers. The final import retains and animates them.
- Initial source gaits had foot sinking. Baked contact correction reduced it substantially; the remaining sampled maximum is reported above rather than hidden.
- No claim that every requested priority animal was found. Bear, boar, big cat, crocodile/lizard, snake, crab, raven/eagle, troll/ogre, ghoul and a true stone golem are **not delivered as ready entries**. Boar and crab sources were inspected but lacked the needed motion set; no clips were fabricated.
- The 19-motion Mixamo route was checked in memory. It used an operator-authorised authenticated browser. It was unnecessary for these already-rigged sources and was not used.
- Existing rat, spider, bat, ghost, slime, skeleton, robot, zombie, demon boss, shark and the liked procedural scorpion were not edited or removed.
- No Factory/Engine catalog edit, game integration, deployment, live-app test, collision tuning, attack damage-window authoring, slope handling or GPU frame-rate benchmark was performed.
- No independent model reviewer or nested agent was started. The visual verdicts are the author's direct inspection, as requested.

## If this is wrong, and how to undo it

A consumer that ignores scale or playback speeds can reintroduce sliding. A wrong clip mapping could make an enemy attack or die incorrectly. Keep the existing catalog unchanged until the asset handoff is accepted; remove the new entry or restore its previous GLB to undo an import. Nothing live needs rolling back now.

## Files that prove the checks

- `evidence/node-validation.json`: exact final hashes, every played clip, sampled skinned vertices and errors.
- `evidence/independent-glb-audit.json`: geometry, packed textures, skin count and file sizes.
- `evidence/delivery-checks.json`: final contract counts and measured limits.
- `evidence/enemy-*-runtime.json`: browser clip playback, measured heights, speeds and contact data.
- `evidence/enemy-*-footplant-method.json`: source-measured speed, exact stance frames and correction method.
- `evidence/enemy-*-normalization.json`: source, scale, removed objects and missing clips.
- `MANIFEST.json`: final delivery file hashes.

Local disk was below the operator's 15 GB reserve: about 7.7 GB free during the final checks. Task-owned temporary local review copies were removed; delivered files remain.


# W-REALISTIC: realistic animals, 17 Oct 2026 20:48 CET

**Blocked on you:** nothing for this asset handoff. No live integration was requested or performed.

**Changed:** added three usable realistic animals with all six source clip roles. Two generated animals failed visual review and are not delivered as final models.

[Delivered animals](realistic-contact-sheet.png)

## Delivered files

- `glb/enemy-stag-realistic.glb`
- `glb/enemy-deer-realistic.glb`
- `glb/enemy-dog-realistic.glb`
- `catalog_entries_realistic.json`: three entries, identical key shape to the existing catalog, style `realistic`, animal-word aliases only.
- `renders/enemy-<animal>-realistic-hero.png`, `-clips.png`, `-head.png`, `-comparison.png` for each delivered animal.
- Extra evidence: `-side.png`, `-rear.png`, `-walk-side.png`, `-run-side.png`, plus `-walk.mp4` and `-run.mp4` on a marked moving ground.
- `realistic/`: generated references, source meshes, provenance, selected candidates, tests, rejected-candidate evidence and reproduction scripts.

No prior GLB was overwritten. All 29 original hashes still match. The old catalog was not edited.

| Final model | MB | Triangles | Height m | Walk / run m/s | Worst sampled gait ground crossing | Verdict |
|---|---:|---:|---:|---|---:|---|
| enemy-stag-realistic | 1.014 | 13,884 | 2.100 | 1.089 / 4.673 | 1.03 cm | **OK** |
| enemy-deer-realistic | 0.976 | 13,386 | 1.400 | 0.913 / 3.920 | 0.77 cm | **OK** |
| enemy-dog-realistic | 1.042 | 13,204 | 0.852 | 0.727 / 1.847 | 0.59 cm | **OK** |

Speeds are measured from each final GLB's foot-contact marker travel divided by its stance time at playback speed 1. They are not estimated from animal height. The corrected source stance samples are retained in `realistic/<animal>/footplant-method.json`, with final measurements in `runtime-final.json`. Scale playback by actual game speed divided by catalog speed. Uniform model scaling must scale the speed too.

## Honest visual verdicts, in requested order

### Stag: OK, DELIVERED

Recognisable red-deer shape, branched rigid antlers and coherent gait. Small eyes sit in the textured sockets. Soft face, faceted antler tips and coarse cheek/neck fur remain visible close up. Not a close-up hero animal.

[Head close-up](renders/enemy-stag-realistic-head.png) | [All six clips](renders/enemy-stag-realistic-clips.png) | [Same-camera stylised comparison](renders/enemy-stag-realistic-comparison.png) | [Side run](renders/enemy-stag-realistic-run-side.png)

### Deer: OK, DELIVERED

Antlerless hind, pale rump and separate slender legs. Eyes are part of the head surface, not floating objects. Soft muzzle/eye detail, a tiny shoulder texture speck and rounded knee bends in the gallop remain. Hit reaction is exaggerated, inherited from the source rig.

[Head close-up](renders/enemy-deer-realistic-head.png) | [All six clips](renders/enemy-deer-realistic-clips.png) | [Same-camera stylised comparison](renders/enemy-deer-realistic-comparison.png) | [Side run](renders/enemy-deer-realistic-run-side.png)

### Fox: BAD, HELD BACK

Head, ears and coat read well, but side gallop reveals a stretched fan between the bushy tail and hindquarters. A second anatomical weight isolation reduced but did not remove it. No final GLB or catalog entry.

[Rejected side run](realistic/fox/v8-run-side.png)

### Dog: OK, DELIVERED

Large dark brindled hound with floppy ears, not a husky. Clean visible walk/run silhouette and a narrow hanging tail. Face and mottled coat are soft close up; some shoulder creasing remains. Attack is a closed-mouth lunge, not an open-jaw bite.

[Head close-up](renders/enemy-dog-realistic-head.png) | [All six clips](renders/enemy-dog-realistic-clips.png) | [Same-camera stylised comparison](renders/enemy-dog-realistic-comparison.png) | [Side run](renders/enemy-dog-realistic-run-side.png)

### Horse: BAD, HELD BACK

Side gallop shows severe tail-to-hind-leg stretching and spikes. Generation also copied the white image background onto forelock/mane. Two texture repair attempts did not produce an acceptable forelock; the second stained nearby face polygons. No final GLB or catalog entry.

[Rejected side run](realistic/horse/v8-run-side.png) | [Rejected face repair](realistic/horse/v8-head.png)

### Boar: NOT ATTEMPTED, SKIPPED

The inspected Quaternius animal pack contains Alpaca, Bull, Cow, Deer, Donkey, Fox, Horse, Horse_White, Husky, ShibaInu, Stag and Wolf, but no pig/boar rig. Did not substitute a bull rig or use the unrelated static boar source.

## What actually passed

| Check | Evidence |
|---|---|
| Final-path browser Three.js loading/rendering | 3 final GLBs, all 18 clips, 21 sampled poses per clip, zero page/console/validation errors; `realistic/<animal>/runtime-final.json` |
| Independent Node GLTFLoader + AnimationMixer | 3 models, 18 clips, 61 poses per clip, every skinned vertex checked for finite coordinates, zero failures; `realistic/node-validation.json` |
| Embedded texture decode | Node loaded actual packed images through the canvas image decoder, not a mock |
| Original clip roles and durations | Independent consumer compared all six names and durations with each Quaternius donor; all preserved |
| Geometry audit | Three strict audits, zero findings, zero zero-area triangles and no nonfinite attributes; `realistic/independent-glb-audit.json` |
| Skin weights | At most four per vertex; worst sum error below 0.00000005; `realistic/contracts.json` |
| Rigid stag antlers | 1,852 upper-antler vertices are fully Head-weighted; sampled pair-distance change across all clips is at most 0.00000152 m |
| Frame | Metres, Y-up, head faces +Z; idle minimum height is within 0.000001 m of the ground |
| Prior files preserved | All 29 old GLB hashes match; `realistic/original-glb-verification.txt` |
| Visual acceptance | Author opened hero, head, rear, all-six-clip strips and side walk/run strips. Fox and horse were rejected despite passing load tests |

The largest remaining sampled non-gait ground crossing among delivered models is the hound's attack paw, about 1.65 cm. These are flat-ground animation assets, not a claim of perfect every-vertex foot locking. Death poses were adjusted so the new head/antlers rest above the floor instead of being buried.

## Method and failures worth keeping

1. Generated five photographic-style side-view reference images of real animal types in neutral standing poses. These are generated reference pictures, not camera photographs or third-party wildlife photos.
2. Submitted one image-to-3D job at a time through the existing loopback service. All five primary PyTorch attempts hit GPU memory errors. The service's existing C++ fallback completed all five automatically, without a service restart or configuration change. Original requests, job IDs and errors remain in each `job-final.json`.
3. Aligned each mesh by its body axis, fitted the four paws to the matching Quaternius skeleton, transferred skin weights and kept all six named actions. The hound uses the pack's proven canine skeleton, not the donor's husky appearance.
4. Fixed a transfer bug caught during review: Blender's hidden bone-display Icosphere must never be used as donor anatomy. Only real skinned meshes and bone-parented antlers are used.
5. Removed incorrect generated metallic maps from fur. Fur is non-metallic and matte. This fixed the almost-black neck and belly on the deer.
6. Solved foot contacts and baked limited head/tail floor-clearance corrections into the existing actions. Source clip identities and lengths are preserved, but corrected transforms are not byte-identical to the donor animation.
7. Side-motion inspection exposed tail distortion missed by attractive three-quarter stills. Two unsuccessful repair attempts are retained for the rejected models; they are not promoted under a weaker label.

## Limits and rollback

- **Asset handoff only.** No Factory, Engine, live game, public app URL or service configuration was edited, tested, restarted or deployed.
- No independent second-model critic was used: this bounded worker was not allowed to start nested agents. Verdicts are from the author's direct image inspection.
- No GPU frame-rate benchmark, game combat collision, attack timing, slope handling, facial animation, open-jaw bite or close-up cinematic quality claim.
- Preview target was the disposable task folder on loopback `127.0.0.1:8771`, using software WebGL. It was not a live app.
- No final fox or horse GLB exists in `glb/`; boar was not generated. Rejected candidates under `realistic/` are diagnostics, not catalog assets.
- If a delivered animal fails in a consuming game, omit its new catalog entry and use the unchanged stylised version. No running game depends on these new files yet.
- Local disk was below the 15 GB free threshold before work began. Only task-owned review copies and obsolete scratch are cleaned; no shared caches are touched.

## Provenance

Generated reference and generated mesh: Forge, dedicated to this library under CC0-1.0. Source skeletons and animation: Quaternius, Ultimate Animated Animals, CC0-1.0, https://quaternius.com/packs/ultimateanimatedanimals.html . Exact donor source URLs and hashes remain in the previous library's `evidence/enemy-<animal>-normalization.json`. The new images had no third-party input picture. Full generated prompts and job records remain under `realistic/<animal>/`.
