# Photo mockups — credits & method

The realistic garment mockups in this folder are built from **blank-apparel base
photos from [Unsplash](https://unsplash.com)**, each then **recolored and composited** with the
NLT merch designs from [`../designs/`](../designs/) (via [`build_mockups.py`](./build_mockups.py)).

## License

All base photos are under the **[Unsplash License](https://unsplash.com/license)** —
free to use for commercial and non-commercial purposes, **no permission or attribution
required**, no copyright. Attribution below is courtesy, not obligation. (Unsplash does not
provide model/property releases; these are plain garment product shots with no recognizable people.)

## Base photos (`base/`)

| File | Garment | Source (Unsplash CDN) |
|---|---|---|
| `base/tee-base.jpg` | White t-shirt, hung on a dark wall | `images.unsplash.com/photo-1581655353564-df123a1eb820` |
| `base/sweat-base.jpg` | White crewneck sweatshirt, flat lay | `images.unsplash.com/photo-1620799140408-edc6dcb6d633` |
| `base/cap-front-base.jpg` | White cap, straight-on front view (structured) | [ozdzzeBu4Go](https://unsplash.com/photos/a-white-baseball-cap-on-a-gray-background-ozdzzeBu4Go) · `photo-1691256676359-20e5c6d4bc92` |
| `base/cap-dad-base.jpg` | Unstructured dad cap, low-profile soft crown | [BIr8rxlnD1s](https://unsplash.com/photos/black-and-white-baseball-cap-BIr8rxlnD1s) · `photo-1606483956061-46a898dce538` |
| `base/cap-base.jpg` | *(legacy)* curved-brim cap, 3/4 angle — superseded by `cap-front-base.jpg` | `images.unsplash.com/photo-1645266729222-17cd32e06fd0` |

| `base/hoodie-back-base.jpg` | Gray hoodie, back view | `photo-1556821840-3a63f95609a7` |
| `base/tee-back-base.jpg` | T-shirt back / flat lay | `photo-1583743814966-8936f5b7be1a` |
| `base/sweat-back-base.jpg` | White tee/sweat back flat | `photo-1576566588028-4147f3842f27` |

## How the mockups are made

`build_mockups.py` (numpy + scipy + Pillow):

1. **Mask** the garment — brightness threshold for the tee (bright garment on dark wall),
   largest-bright-component for the sweatshirt, bright-crown threshold for the straight-on cap.
2. **Recolor** tees and sweatshirts to the target colorway by scaling the original luminance
   (so folds, shadows and sheen are preserved). Caps stay white (logo-only) — the cap base
   has uneven left-panel shadow that breaks full-garment recolor.
3. **Print** the design into industry-standard zones:
   - **Cap front:** centered on front panel (~4.5″ × 2.25″ equiv.)
   - **Left chest:** wearer's left, ~3.5″ wide (professional / tonal marks)
   - **Center chest:** large front graphic (8–12″ equiv.)
   - **Sleeve:** outer left sleeve on hung tee
   - **Back center / yoke / back neck:** large back graphic or yoke trail on back-view bases
4. **Crop** to the garment with padding and export at up to 1280 px.

Regenerate after changing a design, placement, or colorway:

```bash
.venv-3d/bin/python assets/merch-ideas/mockups-photos/build_mockups.py
```

> These are concept mockups for visualization — not the production logo pack
> (`../../logo-pack/`). Garment colors are illustrative; confirm blanks, ink and stitch
> with the shop per `docs/LOGO-PRINT-AND-SWAG.md`.
