# Realistic animal pipeline: three usable animals, repair limits remain

Written 17 October 2026, 21:57 CET. Task deadline: 17 October 2026, 22:35 CET.

**Blocked on you: nothing.** No live game or service was changed.

Installed `forge-realistic-animal` on gex44 and released a new wolf v2, fox and bull for game-distance use. **This is a partial result:** the original wolf could not be surgically repaired cleanly, and the horse was withheld.

## Results

| Animal | My visual verdict | Delivery | Measured command time |
| --- | --- | --- | --- |
| Wolf v2 | **OK** | New pose-matched mesh, free tail; not a clean repair of v1 | 3 min 57 s generation run, then 25 s corrected replay |
| Red fox | **OK** | Clean full conversion, free bushy tail | 9 min 47 s, including queue wait |
| Horse | **BAD / withheld** | Tail surgery failed the closed-surface check | 8 min 32 s failed full run; last repair attempt 12 s |
| Bull | **OK** | Correct facing, horns stay on head, no torn back | 6 min 34 s initial run, then 27 s corrected replay |

Times are per command, include queue waits, and exclude investigation and other failed trials. The clean, from-render-to-final-mesh full run was the fox. Wolf and bull final assets use cached meshes from earlier full generation runs. A fresh wolf rerun later failed from GPU memory exhaustion; no service was restarted.

All accepted animals are **OK at game distance**, not GOOD close-up hero models. Faces and eyes are soft; the fox has squinty eyes. These are source clips, not newly authored animal behaviour.

## Files

On gex44:

```text
/usr/local/bin/forge-realistic-animal
/opt/forge-realistic-animal/
/opt/creature-lib-20261017/pipeline/releases/
  enemy-wolf-realistic-v2.glb
  enemy-fox-realistic.glb
  enemy-bull-realistic.glb
  catalog_entries_pipeline.json
  manifest.json
```

Full per-animal evidence and `catalog_entry.json`: `pipeline/wolf-clean/`, `pipeline/fox-e2e/`, `pipeline/bull-final/`. Horse failure: `pipeline/horse-repaired/`. Trial files outside `releases/` are not approved assets.

Source: `tools/realistic/` on branch `task/1792264457-f938bb`, code commit `a5229f0`. The two requested earlier branches were merged in `c4af1ff`. The command README documents installation, stages, timings and limitations.

## Proof from the final files

| Asset | File size | Triangles | Clips | Tail/leg cross-weight | Worst sole error | Worst stance slip |
| --- | ---: | ---: | ---: | ---: | ---: | ---: |
| wolf | 1.144 MB | 13,724 | 6 | 0 / 0 | 0.37 mm | 4.20 mm |
| fox | 1.103 MB | 13,890 | 6 | 0 / 0 | 5.88 mm | 4.85 mm |
| bull | 1.160 MB | 13,693 | 6 | 0 / 0 | 0.06 mm | 14.43 mm |

- Eighteen clips loaded and played in browser Three.js with zero browser errors.
- Same source skeleton names and all clip names/durations retained; output height within 5%.
- Skin weights checked independently against exported geometric tail labels.
- Geometry audits found no zero-area triangles or nonfinite attributes in accepted files.
- Worst sampled floor crossings: wolf 15.9 mm, fox 19.0 mm, bull 0.4 mm. The gate is 20 mm.
- Bull: 1,538 marked horn/head vertices; maximum non-head weight is 0.
- Twelve offline policy tests pass locally and on gex44, including 12 corrupt-input subcases, BAD withholding, file-size limits, missing evidence, changed-file refusal and immutable release.
- All 29 pre-existing library GLBs match their earlier manifest hashes. V1 was not overwritten.
- Preview servers were disposable loopback-only processes and are stopped. No FPS or live-game claim.

## Wolf before and after

**Left: original v1. Right: regenerated v2.** This comparison is not presented as a successful surgical edit of the same mesh.

![Original wolf versus regenerated wolf v2](W-REALISTIC-EVIDENCE/wolf-before-after.jpg)

The new tail moves independently in walk, run, attack and death.

![Wolf side and back motion strips](W-REALISTIC-EVIDENCE/wolf-clips.jpg)

## Fox

![Stylised versus realistic fox](W-REALISTIC-EVIDENCE/fox-comparison.jpg)

![Fox side and back motion strips](W-REALISTIC-EVIDENCE/fox-clips.jpg)

## Bull

![Stylised versus realistic bull](W-REALISTIC-EVIDENCE/bull-comparison.jpg)

![Bull side and back motion strips](W-REALISTIC-EVIDENCE/bull-clips.jpg)

## What failed, and what is not finished

1. **Clean surgery on the old wolf is not solved.** Early cuts passed zero-weight and closed-hole checks but left ugly flat surfaces, scars or a split-looking tail. They are BAD and were not released. The general cut step exists, but successful repair of this fused source was not proven.
2. **Horse is not delivered.** Its generated still looked like a horse, but hanging-tail surgery failed the closed-surface check. A still is not evidence of good motion.
3. The first bull faced backwards and its height-only horn mask also moved its back. The fitter now compares both body directions against the donor surface and limits bull horn selection to the head. The corrected model was re-rendered and reviewed.
4. A curved wolf tail tip escaped the original fixed-width region and became a moving spike. The width cutoff was removed, the cached mesh was rebuilt, and the final tail strips were inspected.
5. A later paid wolf job failed with CUDA out-of-memory. Its job record is retained under `pipeline/wolf-final/`; nothing was restarted or killed.
6. The command builds a candidate in one invocation. Visual release is a separate `--review` invocation: GOOD/OK plus numerical passes creates the final GLB and catalog entry. It is not a no-review autopublisher.
7. Head and tail tip are not independently landmark-warped. Eyes are generated anatomy, visually checked, not repaired by a dedicated socket-fitting algorithm. Arbitrary skeletons are unsupported.
8. No Factory, Engine, live catalog, game, combat, slope, mouth-opening or performance testing. No deployment.

## Use the command

```sh
forge-realistic-animal \
  --in /opt/creature-lib-20261017/glb/enemy-fox.glb \
  --animal "red fox" --id enemy-fox-realistic \
  --out /opt/creature-lib-20261017/pipeline/new-fox \
  --seed 47019
```

Use a new output directory every time. `--ref` supplies a reference. `--mesh` explicitly reuses a paid mesh in a new run. The tool refuses to overwrite GLBs. Read `report.md`, `verdict.json` and the renders before recording `--review OK` or `--review BAD`.

## Risk and rollback

A mistaken visual approval could put poor anatomy or deformation into a future game. These assets have not been integrated anywhere. Keep using the untouched v1/catalog to avoid the new assets; the converter is an isolated PATH wrapper, not a running service.

Local disk had about 7 GB free at the final check. Only this task's temporary local image copies were cleaned; other sessions' files were left alone.
