# KeyFeel — Attribution

## Softbox (scene / lighting pattern)

- **Project:** [LEMing/softbox](https://github.com/LEMing/softbox)
- **License:** MIT © 2024–2026 LEMing
- **Use:** Adapted `outdoor_concrete` and `studio_soft` scene intent (concrete product stage, soft studio wrap, contact grounding, Poly Haven default maps/HDRI URLs documented in Softbox `scenes.ts`). Vanilla three.js reimplementation for static Worker deploy — not a redistribution of the Softbox React package.
- Softbox MIT license text is also under `_vendor/softbox/LICENSE`.

## Poly Haven (CC0)

| Asset | URL | License |
| --- | --- | --- |
| `concrete_floor_02` diff/nor/rough 1k | https://polyhaven.com/a/concrete_floor_02 | CC0 |
| `kloofendal_48d_partly_cloudy_puresky` 2k HDRI | https://polyhaven.com/a/kloofendal_48d_partly_cloudy_puresky | CC0 |

Files vendored under `assets/textures/` and `assets/hdri/`. Credit: Poly Haven (assets themselves are CC0).

## Keyboard meshes

- **No third-party GLB shipped.** Sketchfab “IBM Model M Keyboard” by timblewee (CC-BY 4.0, commercial OK with credit) and Poly Pizza / Kenney keyboard (CC0) were researched; downloads required login or were blocked by bot protection from this environment.
- **Shipped:** stylized procedural boards in `keyboards.js` (Technology 83 / KeyFeel). Flagged in UI Assumptions — not photoreal OEM geometry.

## Runtime libraries (CDN)

- three.js r160 — MIT — https://github.com/mrdoob/three.js
- OrbitControls, RGBELoader (three.js examples) — MIT

## Fonts

- DM Sans, IBM Plex Mono — via Google Fonts (SIL OFL)
