# Model credits

Mary and Clark ship in public builds. `quaternius-male.glb` is a public-domain CC0 animation
reference retained for tooling and tests, outside the web bundle. The Retro FNaF models are
test assets for private development builds. They must not ship in any public build (D41).
jiggy's own art is original (D13); every
model here is a placeholder.

## mary-kline.glb (survivor)

- Source: [Mary Kline Ending](https://sketchfab.com/3d-models/mary-kline-ending-0300df0a9b8d4293b36262bc34806cb2),
  by [Doodlebag](https://steamcommunity.com/profiles/76561198978606502), uploaded by
  [Certified_funny_man](https://sketchfab.com/Fungi_55). The uploader credits Doodlebag in
  the description. Owner supplied `mary_kline_ending.zip` on 2026-10-12, SHA-256
  `14c8556b9c4880292c765630ed36cd9cfb67feacf0763f10e2406c5e2c245b88`.
- Licence: the Sketchfab listing and archive's `license.txt` specify
  [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/). Doodlebag's original Workshop
  page does not give explicit reuse terms. The owner instructed use with Doodlebag credited
  on 2026-10-12; this records the listed licence, not confirmation from the original author.
- Changes: `design/backrooms-assets/prepare-mary.py` converts the archive's glTF to embedded
  GLB in headless Blender. It grounds and reorients the character to -Z, raises the A-pose arms
  to a T-pose, and replaces the core joint hierarchy and axes with the CC0 Quaternius rig's.
  All 10,319 triangles, original skin weights, seven materials, five textures and the hair's
  alpha cutoff are retained. The imported rig's 124 joints include the 65 Quaternius core
  joints and the original auxiliary deformation and hair joints. No animation clips are baked.
- Runtime: fitted to the existing survivor capsule; uses the existing survivor gameplay and
  emote tracks. The original textured materials remain on every mesh. Source hash, mapping,
  output hash and converted bounds are in `design/backrooms-assets/mary-inspection.json`.

## quaternius-male.glb (animation reference)

- Source: "Universal Base Characters" [Standard], the free version, by Quaternius
  (https://quaternius.itch.io/universal-base-characters, https://quaternius.com), page
  "Updated 16 September 2026". Archive `Universal Base Characters[Standard].zip`, sha256
  `fdbf1804c90dfc1ea03e992bff7da2dfd1a79318e13270a660180f9308455f40`, downloaded 2026-10-09.
- Licence: CC0 1.0 Universal. The archive's `License_Standard.txt`: "License: CC0 1.0 Universal
  (CC0 1.0) Public Domain Dedication https://creativecommons.org/publicdomain/zero/1.0/".
  Credit is not required; it is given anyway ("Models by @Quaternius").
- Changes: `Base Characters/Godot - UE/Superhero_Male_FullBody.gltf` converted to glTF binary
  with `scripts/gltf-to-glb.py --drop Eyes --drop Eyebrows` (Blender 5.2.2, headless): eyes and
  eyebrows removed, turned to face -Z, grounded, textures and vertex colours dropped for one
  flat single-sided material, UV maps past the second dropped. The 65-joint skin is kept.

## captain-clark.glb (prepared killer asset)

- Source: [Captain Clark Rigged (Fixed)](https://sketchfab.com/3d-models/captain-clark-rigged-fixed-dfe9529c43d8479ea1c0b5adac7d3348)
  by [Sofrosx](https://sketchfab.com/sushi4055), provided by the owner on 2026-10-11 as
  `captain-clark-rigged-fixed.zip`, SHA-256
  `1de32314419efccbb8a1c72ccf57c9b221d4bdee32628bd24bd77fc95c66fc6e`.
- Licence: [Creative Commons Attribution 4.0](https://creativecommons.org/licenses/by/4.0/),
  as specified by the model's Sketchfab page and API. Credit Sofrosx and indicate changes.
- Changes: `design/backrooms-assets/prepare-clark.py` imports the nested source glTF with
  Blender 5.2.2, turns the complete rig to face -Z, grounds it and exports GLB with the
  original 4K texture embedded. It removes an inert normal input that referenced the color
  texture with strength zero. The textured PBR material, double-sided flag, 78 joints,
  skin weights and 52,767 triangles are preserved. No animation clips are supplied.
- Status: retained as an authoring source, outside the web bundle. The runtime bundle below
  supplies the killer; Mary is the survivor.

## captain-clark-quaternius.glb (remapped killer asset)

- Derived from the Captain Clark asset credited above. Clark remains CC BY 4.0 by Sofrosx.
  The reference Quaternius rig is CC0; changing the skeleton does not change Clark's licence.
- `design/backrooms-assets/remap-clark-quaternius.py` replaces the 78-joint Mixamo hierarchy
  with the existing Quaternius character's 65 joint names, parent relationships and bone axes.
  It preserves Clark's anatomical joint positions, weighted vertex groups, mesh, UVs and
  embedded texture, removes only unweighted extra end joints, and adds an unweighted root.
  Inverse bind matrices are regenerated for the new axes. The original Clark GLB is retained.
- The separate review GLB under `runs/clark-quaternius/` uses `Idle_Loop`, `Walk_Loop`,
  `Sprint_Loop` and `Punch_Cross` from the same CC0 Universal Animation Library and source
  hash credited in the emote section below. These clips are sampled at 30 fps onto Clark,
  preserving target limb lengths, scaling vertical hip motion and removing horizontal travel.
- Status: the runtime killer model, including public builds. The game preserves its textured
  double-sided material. Gameplay clips use the remapped Quaternius joint axes.

## retro-bonnie.glb (killer) and retro-freddy.glb (survivor)

- Source: "Retro Five Nights at Freddy's" by VibaPop
  (https://sketchfab.com/3d-models/retro-five-nights-at-freddys-86d0e5645f734a41971841ed5a3f6315,
  https://sketchfab.com/VibaPop), downloaded from the author's Google Drive link in that
  description ("Retro FNaF 1.rar"). Not downloadable on Sketchfab; no Sketchfab licence is set.
- Author's terms, verbatim from the description (read 2026-10-09): "Feel free to use, just please
  CREDIT ME!!!!"
- Characters: Freddy Fazbear and Bonnie are from Five Nights at Freddy's by Scott Cawthon.
  Five Nights at Freddy's is owned by Scott Cawthon. Used without a licence from Scott Cawthon or
  Scottgames, LLC. jiggy is not affiliated with or endorsed by Scott Cawthon, Scottgames, or
  VibaPop.
- Changes: converted from `Retro Bonnie.fbx` and `Retro Freddy Fazbear.fbx` to glTF binary with
  `scripts/fbx-to-glb.py` (Blender 5.2.2, headless): reoriented, grounded, textures embedded,
  unlit single-sided materials.

## Emote clips (`assets/visuals/emote_clips.ron`, D54)

- `dance`: `Dance_Loop` from "Universal Animation Library" [Standard], the free version, by
  Quaternius (https://quaternius.itch.io/universal-animation-library). Archive
  `Universal Animation Library[Standard].zip`, sha256
  `cc73fc4e495b82958207316596317a3f40b9fa38065bde1027937452da537724`, downloaded 2026-10-10;
  `Unreal-Godot/UAL1_Standard.glb` inside it, sha256
  `69591853d817488edaa8fd9bf8fc1d821eaeaf789f8627b3cd23b41c4ed67997`.
- Licence: CC0 1.0 Universal. The archive's `License.txt`: "License: CC0 1.0 Universal (CC0 1.0)
  Public Domain Dedication https://creativecommons.org/publicdomain/zero/1.0/". Credit is not
  required; it is given anyway ("Models by @Quaternius").
- Changes: `scripts/emote-clips.py` samples the clip's joint rotations at 30 Hz and its pelvis
  translation as an offset from the library's rest, scaled by the rest pelvis height; it keeps
  no mesh. The root's track is dropped.
- `point`, `come_here` and `wave` are jiggy's own, keyed by the same script on the
  `quaternius-male.glb` skeleton.

## Gameplay animation tracks

`assets/visuals/gameplay_clips.ron` is generated by `scripts/gameplay-clips.py` at 30 fps.
Quaternius's CC0 Universal Animation Library supplies `Idle_Loop`, `Walk_Loop`, `Sprint_Loop`,
`Punch_Cross`, `Hit_Head`, `Death01` and `Push_Loop`. The source archive hash is recorded above.

Adobe Mixamo supplies `injured idle`, `injured walk`, `injured run` and `Vault Over Box`,
downloaded by the owner’s signed-in account on 2026-10-11. Mixamo assets are licensed for use
in games under Adobe’s Mixamo terms, not CC0. Source FBXs and download hashes are recorded
in `design/backrooms-assets/mixamo-downloads.json`; the FBXs stay outside the public bundle.
The script retargets rotation axes to Quaternius, preserves target bone lengths, strips
horizontal motion, closes movement loops, and trims the vault's unrelated crouch ending.
Role-specific clip assignments live in `assets/visuals/animations.ron`.

## captain-clark-arms.glb and first_person_clips.ron

- Derived from `captain-clark-quaternius.glb`, Captain Clark by
  [Sofrosx](https://sketchfab.com/sushi4055), under
  [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/).
  [Original model](https://sketchfab.com/3d-models/captain-clark-rigged-fixed-dfe9529c43d8479ea1c0b5adac7d3348).
- Changes: `scripts/first-person-clark.py` retains vertices weighted to the arms, hands and
  fingers, removes the head, torso and legs, and closes the shoulder boundaries. The original
  texture and UV seams remain. First-person finger joints fit the visible fingertips, with
  blended weights across each knuckle. One subdivision pass rounds the contours and adds
  geometry for bending. The cut
  sleeve rings extend behind the eye and attach to the clavicles so a swing cannot expose
  them. The arm skeleton keeps its original parent hierarchy. The camera hides the shoulder closures behind its near plane or outside its view.
- Eleven original jiggy clips pose the bare hands for idle, movement, quick strike, lunge
  wind-up and swing, hit/miss/obstructed recovery, pallet break, vault and stun. The script
  exports Blender poses to glTF, then samples node-local rotations at 30 Hz into
  `assets/visuals/first_person_clips.ron`. These clips contain no root movement.
- The runtime bundle below and this attribution ship in public builds. The first-person assignments
  are separate from the killer and survivor third-person assignments in `animations.ron`.

## captain-clark-runtime.glb (shipped killer and first-person arms)

- `scripts/pack-clark.py` combines the remapped body and the authored first-person arms
  above into scene 0 (`Body`) and scene 1 (`Arms`). Both retain their exact geometry,
  skin weights, inverse bind matrices and local joint transforms. Sleeve closures remain.
- The identical embedded 4096 × 4096 colour PNGs become one shared 2048 × 2048 JPEG
  (Lanczos) at quality 95 with no chroma subsampling. Both scenes use the same texture and sampler. Duplicate
  geometry buffer views are merged without changing their bytes.
- This is the only Clark GLB shipped in web builds. The three authoring GLBs remain in
  this repository. Attribution and the CC BY 4.0 licence remain as recorded above.
