# Additional sidearm models

| Runtime file | Original work and author | License |
| --- | --- | --- |
| `desert-eagle.glb` | [Rigged Desert Eagle — PuKkBuMXDD](https://poly.pizza/m/e9k4dwOzCX) | [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/) |
| `glock.glb` | [Rigged Glock — J-Toastie](https://poly.pizza/m/FpMvDqjZFr) | [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/) |

The original publishers' public model metadata identifies `CC-BY 3.0` for each work. Downloads and original metadata were obtained on 2026-09-10 and retained under `work/sidearm-assets/`. The source files are separate models, not recolors of DD's existing service pistol.

DD uses the first model as Desert Eagle. The Glock source is named `Glock19`; DD uses its geometry for a Glock 18 gameplay variant. It is not claimed to be an exact Glock 18 model.

## Changes in DD

`work/sidearm-assets/prepare-runtime.mjs` preserves the source geometry/material colors, samples the rest pose, and bakes the models into independently movable rigid groups for the body, slide, trigger and barrel. It centers the models, uses +Y up and -Z for the muzzle, normalizes the overall lengths to 0.27 m / 0.21 m and recalculates normals. The game can adjust scale further and supplies its own weapon actions.

The Glock conversion repairs six source slide vertices whose skin weights were nonfinite, assigning them to the existing Slide bone. It removes 486 triangles of permanently modeled cartridges, preserving 4,080 weapon triangles. The source magazine is kept as its own movable group so visible ammunition can follow the game's actual count. The Desert Eagle retains 9,362 triangles and its separate slide, hammer, trigger and barrel. Its source does not supply a separate magazine mesh. DD adds its own detachable magazine casing/floorplate at runtime, aligned with the measured grip; this is a project addition, not an imported source part. DD also adjusts the Desert Eagle base_metal response to a silver base factor of 0.72, metalness 0.8 and roughness 0.3 at runtime. Source animation clips are not copied into the runtime files.

Both runtime GLBs use material colors without bitmap textures. Byte counts and SHA-256 hashes are in the parent `manifest.json`. Keep the author, original source, CC BY 3.0 link and this modification notice when redistributing. No endorsement by either artist is implied.
