# Three.js 0.160.1 · v61 runtime

Vendored on 2026-11-13 from the official npm package [three-0.160.1.tgz](https://registry.npmjs.org/three/-/three-0.160.1.tgz). The included upstream code is covered by the [MIT license](LICENSE).

| File | Purpose and local changes |
| --- | --- |
| `three.module.js` | Runtime engine; unchanged upstream file. |
| `loaders/GLTFLoader.js` | Loads the current KayKit character and equipment GLBs. The bare `from 'three'` import is changed to `from '../three.module.js'`; all other upstream code is unchanged. |
| `utils/BufferGeometryUtils.js` | GLTFLoader dependency. The bare `from 'three'` import is changed to `from '../three.module.js'`; all other upstream code is unchanged. |
| `exporters/GLTFExporter.js`, `utils/TextureUtils.js` | Unchanged upstream export utility and dependency, retained for historical model export work; not loaded by gameplay. |
| `LICENSE` | Original MIT license. |
| `package.json` | Local module and package self-reference metadata for this included subset. |

The runtime uses these local files and makes no CDN request. Serve the project over HTTP so the browser can load ES modules and GLBs. No import map, package installation, or external decoder is required for the bundled assets.

[`src/rendering/kaykit-models.js`](../../src/rendering/kaykit-models.js) loads eight character GLBs and ten equipment GLBs from `assets/characters/kaykit-v61/`, attaches equipment to the original hand bones, and samples the retained skeletal clips from gameplay state. [`boss-models.js`](../../src/rendering/boss-models.js) shares one transparent WebGL renderer per page and keeps a frame cache for each Boss before compositing into Canvas2D.

The KayKit assets have their own CC0 license and provenance; see the [v61 asset documentation](../../docs/kaykit-assets-v61.md). The engine's MIT license and the model assets' CC0 license are separate.

The former procedural `boss-model-factory.js`, v59 GLB outputs, and `export-boss-models-v59.mjs` are preserved under [archive/model-iterations-v61](../../archive/model-iterations-v61/) with their original directory structure. They are historical references, not the current model-loading workflow.
