# 3D garment models — credits & licenses

All `.glb` files in this folder were produced by `site/tools/build_models.py` from MakeHuman community /
system clothing assets (downloaded from the official asset-pack mirror
`https://files.makehumancommunity.org/asset_packs/`). The script extracts the garment mesh, subdivides and relaxes it,
bakes a neutral detail/normal map from the original textures, and exports a compressed glTF (meshopt + WebP).
Original print/brand colours are removed (the site recolours every garment), so the models are **modified works**.

| Site model | Source asset (MakeHuman) | Author | Asset pack | License | Real / derived |
|---|---|---|---|---|---|
| `tee.glb` | cl_male_sport_suit (top part) | culturalibre | suits04 | CC BY 4.0 | real |
| `tee_over.glb` | cl_male_sport_suit (boxy + enlarged) | culturalibre | suits04 | CC BY 4.0 | derived |
| `vneck.glb` | cl_male_sport_suit (V-neck cut) | culturalibre | suits04 | CC BY 4.0 | derived |
| `longsleeve.glb` | Knitted_Sweater_02 | Mindfront | shirts02 | CC BY 4.0 | real |
| `polo.glb` | Polo t-shirt | namuhekam | shirts01 | CC0 | real |
| `tank.glb` | Tank_Top_01 | Mindfront | shirts03 | CC BY 4.0 | real |
| `zip_hoodie.glb` | ladieshoodiedown1 (hooded sweat jacket) | Elvaerwyn | shirts02 | CC BY 4.0 | real (ladies cut) |
| `hoodie.glb` | same, zip removed from the detail map | Elvaerwyn | shirts02 | CC BY 4.0 | derived |
| `crewneck.glb` | Sweater_Fisherman | MargaretToigo | shirts01 | CC0 | real |
| `jacket.glb` | rescueteam-jacket-male (EMT uniform jacket) | Elvaerwyn | suits03 | CC BY 4.0 | real |
| `vest.glb` | same, sleeves removed | Elvaerwyn | suits03 | CC BY 4.0 | derived |
| `bomber.glb` | male_casualsuit05 (jacket part, front closed) | MakeHuman team | system assets | CC0 | derived (reads as a field / utility jacket) |
| `joggers.glb` | Pants_Harem | MargaretToigo | pants01 | CC0 | real |
| `chinos.glb` | M_Trousers_01 | Mindfront | pants02 | CC BY 4.0 | real |
| `jeans.glb` | male-classic-jeans | punkduck | pants02 | CC BY 4.0 | real |
| `cargo.glb` | cargo_pants | Cortu | pants01 | CC0 | real |
| `shorts.glb` | mens_trouser_short (short part) | Elvaerwyn | pants03 | CC BY 4.0 | real |
| `leggings.glb` | female_sportsuit01 (legging part) | MakeHuman team | system assets | CC0 | real |
| `overalls.glb` | male_worksuit01 (bib overall part) | MakeHuman team | system assets | CC0 | real |

### 2026-09 additions — adult (same pipeline)

| Site model | Source asset (MakeHuman) | Author | Asset pack | License | Real / derived |
|---|---|---|---|---|---|
| `shirt.glb` | mens_shirt_untuck (button-down, untucked) | Elvaerwyn | shirts02 | CC BY 4.0 | real |
| `croptop.glb` | SleevelessCropTop | punkduck | shirts03 | CC BY 4.0 | real |
| `sportbra.glb` | sport-bra01 | punkduck | underwear02 | CC BY 4.0 | real |
| `trench.glb` | coat (belted winter coat) | punkduck | dress03 | CC BY 4.0 | real |
| `puffer_vest.glb` | male_casualsuit05 jacket, sleeves removed + quilted baffles displaced in the generator | MakeHuman team | system assets | CC0 | derived |
| `skirt.glb` | pleated_skirtelv1 (pleated mini skirt) | Elvaerwyn | skirts02 | CC BY 4.0 | real |
| `dress.glb` | Dress_Shift | MargaretToigo | dress01 | CC0 | real |
| `tennisdress.glb` | Tennisdress | punkduck | suits03 | CC BY 4.0 | real |
| `coverall.glb` | elvs_male_mechanics_coverall1a | Elvaerwyn | suits03 | CC BY 4.0 | real |
| `apron.glb` | elvs_lady_apron1 (lowest ruffle trimmed) | Elvaerwyn | dress02 | CC BY 4.0 | real |
| `beanie.glb` | Knitted_Hat_01 | Mindfront | hats03 | CC BY 4.0 | real |

### 2026-09 additions — kidswear (pattern re-fitted to a child / toddler body)

`tools/mh_fit.py` re-evaluates each asset's `.mhclo` proxy on the MakeHuman base mesh morphed with the CC0 macro age
targets (baby / child / young, averaged ethnic sets, 50/50 gender; github.com/makehumancommunity/makehuman `data/`,
released CC0 in 2020) and applies the adult→child difference to the original garment mesh — so proportions (shorter
torso and sleeves, rounder belly) come from a real child body, not a uniform scale.

| Site model | Source asset | Author | License | Body |
|---|---|---|---|---|
| `kid_tee.glb` | cl_male_sport_suit (top) | culturalibre | CC BY 4.0 | age 8 |
| `kid_polo.glb` | Polo t-shirt | namuhekam | CC0 | age 10 |
| `kid_hoodie.glb` | ladieshoodiedown1 (zip removed from detail map) | Elvaerwyn | CC BY 4.0 | age 8 |
| `kid_jacket.glb` | rescueteam-jacket-male | Elvaerwyn | CC BY 4.0 | age 8 |
| `kid_joggers.glb` | Pants_Harem | MargaretToigo | CC0 | age 8 |
| `kid_skirt.glb` | pleated_skirtelv1 | Elvaerwyn | CC BY 4.0 | age 9 |
| `kid_dress.glb` | Tennisdress | punkduck | CC BY 4.0 | age 8 |
| `baby_romper.glb` | elvs_male_mechanics_coverall1a, cut to short sleeves / legs | Elvaerwyn | CC BY 4.0 | age 2 (derived) |

### 2026-09 additions — pets (procedural, NOVAFAB original)

`pet_form.glb` (neutral dog mannequin) and `pet_tee`, `pet_sweater`, `pet_hoodie`, `pet_raincoat`, `pet_harness`,
`pet_bandana` are generated from scratch by `site/tools/build_pet_models.py` (signed-distance dog body → eased cloth
shell clipped by pattern lines, hem binding tubes, xatlas UVs, baked stitch/seam detail maps). No third-party meshes,
textures or data — owned by NOVAFAB, no attribution needed.

**CC BY 4.0 attribution** (required wherever the models are shown — the customize page links here from the
3D note): “3D garment models by culturalibre, Mindfront, Elvaerwyn and punkduck (MakeHuman community assets,
CC BY 4.0, https://creativecommons.org/licenses/by/4.0/), modified by NOVAFAB.” CC0 assets need no attribution
but are listed for provenance.

## Runtime libraries used by the 3D viewer

| File | Project | License |
|---|---|---|
| `assets/vendor/three.min.js` | three.js r149 | MIT |
| `assets/vendor/GLTFLoader.min.js` | three.js r147 `examples/js/loaders/GLTFLoader.js` (minified, header kept) | MIT |
| `assets/vendor/meshopt_decoder.js` | meshoptimizer 1.3.0 decoder (Arseny Kapoulkine) | MIT |

Build-time tools (not shipped): numpy/Pillow, scipy (BSD), scikit-image (BSD), xatlas / python-xatlas (MIT), `@gltf-transform/cli` (MIT), meshoptimizer (MIT).
