# Unit model sourcing and credits

Checked 2026-09-30 for Tidal Dominion.

## Sketchfab additions (2026-10-02)

- **Type-055 Destroyer** by **SB-129** (`@hrd4588`), Sketchfab, [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/): https://sketchfab.com/3d-models/type-055-destroyer-f0a96b2475da407eb6ea2b430ba9ea85. The authenticated download dialog states free, attribution required, and commercial use allowed. Bundled as `models/sketchfab-type055-destroyer-sb129-optimized.glb`; source is about 77.4k triangles and has no animation. Blender preparation merged 1,068 source mesh nodes into one mesh object while preserving material slots and the embedded small texture. Used as a lazy-loaded close-view model for China's Type-055 unit; the existing mesh remains the fallback. The source is a creator-uploaded model, not an official manufacturer model.
- **USS Nimitz class aircraft carrier** by **Larcenie Grant** (creator also requests credit as **k26_k29**), Sketchfab, [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/): https://sketchfab.com/3d-models/uss-nimitz-class-aircraft-carrier-e9f23bab3bd14f34ba9e54ccd082f46d. The authenticated download dialog states free, attribution required, and commercial use allowed. Bundled as `models/sketchfab-nimitz-carrier-larcenie-grant-optimized.glb`; about 98.2k triangles, 17 source mesh nodes joined to one mesh object, embedded 1k maps, and no animation. Used as a lazy-loaded U.S. carrier close-view model, with the existing mesh as fallback. The creator notes the deck markings are geometry and may pixelate at high zoom; inspect this asset in-game before treating it as final close-up quality.
- Both models were obtained through Sketchfab's signed-in model-page download controls. The site supplied GLB files, not editable `.blend` source projects. Blender 5.2 was used only to reduce image size if needed and combine static meshes for fewer scene nodes; these assets remain static meshes.

## Runtime model optimization (2026-10-02)

- Added separately generated LOD copies of the already licensed Arleigh Burke, Type-055, Nimitz, and rigged infantry assets under `models/lod/`. `../../tools/build-runtime-lods.py` performs conservative mesh decimation, texture downscaling, and GLB export without modifying the credited source files. Result sizes: Burke 25,511 triangles / 17.1 MB; Type-055 27,087 / 1.7 MB; Nimitz 34,378 / 5.3 MB; rigged soldier 13,612 / 9.7 MB. Texture targets are 256 px for these LOD files; mesh count and compressed embedded image size dominate some files, so further size reductions need material/atlas work.
- In-game, these optimized models begin replacing the simplified mesh at medium zoom (ships at 1.2×, infantry at 2.6×); the original higher-detail asset is loaded only for close inspection at 6×. Zooming back out selects the LOD again. The F-35 is only 7.7k triangles / ~592 KB, so its textured original is used directly at medium zoom. Material maps stay in the GLB and are rendered by the Three.js PBR path. Animation remains runtime: infantry uses its preserved rig/walk clip; ships inherit underway motion; aircraft bank/turn with their movement. These downloaded ship meshes are static and do not include animated turrets or crew.
- This pass covers only the U.S. F-35, destroyer, carrier, infantry and tank/heli/drone assets, plus China's Type-055 destroyer. It does **not** replace every faction's tank, IFV, artillery, helicopter, aircraft, submarine, transport, or building yet; those still use the authored game meshes until matching rights-verified source models are integrated.

## Added Sketchfab close-view assets (2026-10-01)

- **F-35 Lightning II** by **SIpriv**, Sketchfab, [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/), source: https://sketchfab.com/3d-models/low-poly-f-35-lightning-ii-561b5c56fbf94636a465f998e9af1224. Bundled as `models/sketchfab-f35-lightning-ii-sipriv-optimized.glb`. The source is explicitly low-poly (about 7.7k triangles, 512px textures); it is a lightweight textured F-35 mesh, not a high-detail photoreal model. Its landing-gear/throttle animation clips are retained but not played by the game.
- **Arleigh Burke Destroyer** by **waelXcm**, Sketchfab, [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/), source: https://sketchfab.com/3d-models/alreigh-burke-destroyer-52a04129e8f64134ae26d365c4e82ce7. Bundled as `models/sketchfab-arleigh-burke-destroyer-waelxcm-optimized.glb`; about 79.7k triangles and embedded PBR maps. The model page is also marked **NoAI**; use this only in the game, do not use it for AI training or related AI uses. The game does not simulate the source creator's claimed functional weapon assemblies.
- **Soldier fully rigged character** by **Bad boy for life**, Sketchfab, [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/), source: https://sketchfab.com/3d-models/soldier-fully-rigged-character-d5ee1b51099741d2b5e4010f4f781263. Bundled as `models/sketchfab-rigged-soldier-bad-boy-for-life-optimized.glb`; 26,020 triangles, embedded textures, a 66-bone rig, and one Mixamo animation clip. Ten rigged characters use that walk clip for close-view U.S. infantry; the clip pauses when the squad is stationary. The source is a generic soldier and not a faction-authenticated or photogrammetric model.
- These U.S.-specific models load on demand based on camera zoom and whether the unit is visible, not on selection. Source GLBs remain for close inspection, while the generated LODs serve mid-zoom. Other factions and unfilled classes still use the project-authored meshes.

## External pilot asset

- **Abrams M1A2 SEPv3** by **dannzjs** (Sketchfab), supplied locally as `abrams-m1a2-sepv3.usdz`. The creator's model page lists **CC Attribution 4.0 International (CC BY 4.0)**: https://sketchfab.com/3d-models/abrams-m1a2-sepv3-eb6f5560198740269507e9948376414c. Credit the creator and link this source whenever the asset is distributed. The file is used only as a focused, optional visual pilot; it is loaded on demand. Source pack contains 29 mesh pieces and PBR texture maps but no skeleton/animation tracks.
- **Apache-style attack helicopter** by **vibeassets.io**, supplied as `models/cc0-apache-style-attack-helicopter.glb`, CC0 1.0, source: https://vibeassets.io/a/jg6bj1ninj. This 436 KB model has an olive 1024px texture and approximately 8k triangles; it is static, so the game animates supplementary rotors. It is used only for the U.S. faction's detailed close-view helicopter. The source describes it as Apache-style, not an authenticated manufacturer model.
- **Fixed-wing surveillance drone** by **3DAssets.dev**, supplied as `models/cc0-fixed-wing-surveillance-drone.glb`, CC0 1.0, source: https://3dassets.dev/assets/aircraft-fleet-and-airfield-surveillance-drone-79504ea8. The self-contained model is about 604 KB with 15.7k triangles and includes an animated propeller clip. It is assigned only to the U.S. drone roster slot. The source asset is a generic surveillance aircraft, not a manufacturer-authenticated MQ-9 replica.
- **Barracks** by **Quaternius**, supplied as `models/cc0-quaternius-barracks.glb`, CC0 1.0, source: https://graysoft.dev/3d/b/barracks-a1C1L8gJTX.html. This 137,960-byte, 2,632-triangle GLB is used for close inspection of barracks only (not the map-scale facility view); it is a generic game barracks, not a photoreal or country-specific military installation.
- **Three.js 0.186.1** by the three.js authors, MIT License, bundled locally under `../vendor/three/build/` to render the USDZ pilot with PBR material support. **fflate** by Arjun Barrett, MIT License, bundled under `../vendor/three/addons/libs/` as a USDZ ZIP decoder. The corresponding license texts are included next to each vendored runtime.
- **Kitbash MBT assembly** (`kitbash-mbt.glb`) uses selected road-wheel and 120 mm gun geometry from **Military Landvehicle Kit 1.2** by **britdawgmasterfunk**, Sketchfab, [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/), source: https://sketchfab.com/3d-models/military-landvehicle-kit-12-cc0-91f495435f624d8b97a768f692aa6ce9. The Sketchfab page's description says CC0 but explicitly notes that the upload is classified as CC BY; the GLB metadata also says CC BY 4.0, so attribution is retained. This project adds an original hull, turret, track assembly, equipment arrangement, UVs, and a generated camouflage base-color texture around selected kit geometry. The resulting local preview asset is about 10.67 MiB and 59,272 triangles. It is a separate model preview and has not replaced the in-game roster models; internal parts are still static and have no skeletal animation.

## Assets shipped

`tidal-models.glb` is a self-contained pack of 19 original meshes authored for this project: tank, IFV, troop carrier, support vehicle, rocket launcher, fighter, drone, helicopter, destroyer, corvette, carrier, landing ship, submarine, infantry squad, command center, naval base, barracks, armor depot, and airbase. The reproducible source is `../../tools/generate-model-pack.js`. The `enhanceModels` feature branch adds a silhouette/detail pass (running gear, layered armor, sensors, deck and roof equipment, glazing, stores, and infantry kit) using optimized flat-shaded geometry and vertex colors. No third-party model files, game rips, or third-party art are included in the GLB, so no external model attribution is required.

The browser has a lightweight GLB 2.0 reader in `../mesh3d.js` for named meshes, triangle primitives, indexed or unindexed positions, normals, vertex colors, base material colors, interleaved attributes, and node translation/rotation/scale. It is purpose-built for small static models, not a full authoring engine: it does not load external texture files, skeletal rigs, blend shapes, GLB animation tracks, or inherited scene hierarchies. The renderer now layers compact per-unit motion details on the imported models: tank/IFV track shoes advance with vehicle speed and direction, wheel hubs rotate, helicopter main/tail rotors spin, drone pusher propellers turn, and infantry squads use an animated gait. Airframes bank/turn with movement and ships retain their underway roll. These are runtime renderer animations rather than baked/skeletal clips; the procedural renderer remains available as fallback if GLB loading fails.

These are original, game-scale meshes with added equipment detail, not photogrammetry or photoreal AAA assets. They provide a real file-based mesh pipeline that can accept more detailed, license-cleared GLBs as a future model-quality pass.

`kitbash-mbt.glb` is a separate, static close-up assembly preview built by `../../tools/build-kit-tank.js` from the user-supplied kit. It remains outside the match-start asset list until its quality, load time, faction fit, and mobile performance are accepted.

## Free-asset review

- [Quaternius FAQ](https://quaternius.com/faq.html) states its assets are CC0 and permits commercial use and modification. The pages located during this pass did not establish a coherent modern land/air/naval set with the detailed style and formats this browser renderer can currently load. No Quaternius models were downloaded or included.
- [Military Landvehicle Kit 1.2 on Sketchfab](https://sketchfab.com/3d-models/military-landvehicle-kit-12-cc0-91f495435f624d8b97a768f692aa6ce9) is a potentially useful modular land-vehicle source, but its page text says CC0 while the platform labels the upload CC BY. That license conflict must be resolved with the author before shipping; it was not used. Its page also reports 3.5 million triangles, unsuitable for direct use in a performance-sensitive world map without substantial optimization.
- **Rejected as mismatched:** 3DAssets.dev's nearby “destroyer” result is explicitly a sci-fi spaceship; its available “fighter” is a WWII propeller aircraft. Neither was substituted for a modern naval combatant or jet. No license-cleared modern warship, combat jet, or realistic modern infantry GLB was found and added during this pass, so those classes still use the existing project-authored meshes. The imported Quaternius barracks is a general-purpose low-poly game model rather than high-resolution photogrammetry.

## Next model-quality step

Replace or refine the original meshes one class at a time with optimized detailed GLB assets, verified licensing, level-of-detail variants, and rigged motion where appropriate. For any CC BY asset, keep its author, exact source/model URL, license version, and required credit in this file. Prefer CC0 or an explicit commercial-use license. Do not extract models from reference games.

## Production integration, 2026-10-16
The assembled `kitbash-mbt.glb` is now used for the shared in-game tank visual, with the attribution to britdawgmasterfunk and CC BY 4.0 above retained. It is a generic original game assembly, not an exact national equipment replica. The duplicate supplementary track rig is omitted from this assembled tank. Previously recorded preview-only statements describe earlier releases. Licensed detailed aircraft, ships and rigged infantry are now included in production, with simplified meshes retained where no matching detailed asset exists.
