# Vehicle artwork credits

The Rookie uses adapted third-party vehicle artwork under Creative Commons Attribution 4.0. The in-game names, specifications, ownership costs and driving characteristics are fictional; these models do not imply vehicle-manufacturer sponsorship or endorsement.

## Runtime impact adaptation · v0.8.3

Instances of the adapted models support reversible local panel dishing, restrained creases and end-panel buckling. Cached surface refinement subdivides long source triangles on their original surface while retaining authored positions, seams, UVs and normals. Conformal impact patches use original deterministic colour, roughness, metalness and normal textures for localized paint abrasion, primer, dull metal and matte bumper-plastic exposure, and nearby lens/window fractures. Original asset files remain unchanged; paid body repairs restore the clean prepared instance attributes. The impact and rendering helpers are original project code. Existing artwork licences and attribution remain as recorded below.

## Source artwork

### Aster 160
- Original adaptation: [Honda Civic Type R -98 (Free Asset)](https://sketchfab.com/3d-models/honda-civic-type-r-98-free-asset-b9604dd71c6546ec842702682019492a)
- Creator: [tiedtke](https://sketchfab.com/tiedtke), who credits **Louweee___** for the original Widebody Honda Civic Type R model.
- Licence: [Creative Commons Attribution 4.0 International](https://creativecommons.org/licenses/by/4.0/)
- Original public metadata and licence: https://api.sketchfab.com/v3/models/b9604dd71c6546ec842702682019492a
- Distribution source: https://github.com/pedrosoandre/carros/blob/0a56de377f02f2574d781f6920fed08d6423ec2f/assets/honda-civic-type.glb
- Source SHA-256: `04192e7e92e7c66e55ba05f03734ce6aa3f94e9954e32af504e9c66dff3bec8b`

### Legacy Aster body (v0.5 and earlier; retained in the original mesh archive)
- Original work: [Ford Fiesta Mk5](https://sketchfab.com/3d-models/ford-fiesta-mk5-f3a9d5d1fc9142d297f8d3c4d9b91431)
- Creator: [シRuletăシ](https://sketchfab.com/romanian_guy_0069)
- Licence: [Creative Commons Attribution 4.0 International](https://creativecommons.org/licenses/by/4.0/)
- Original public metadata and licence: https://api.sketchfab.com/v3/models/f3a9d5d1fc9142d297f8d3c4d9b91431
- Distribution source: https://github.com/pedrosoandre/carros/blob/main/assets/ford-fiesta.glb

### Rook S
- Original work: [[FREE] BMW M3 E30](https://sketchfab.com/3d-models/free-bmw-m3-e30-ac3c7013434e403e8faff87948caf422)
- Creator: [Martin Trafas](https://sketchfab.com/TinoD2)
- Licence: [Creative Commons Attribution 4.0 International](https://creativecommons.org/licenses/by/4.0/)
- Original public metadata and licence: https://api.sketchfab.com/v3/models/ac3c7013434e403e8faff87948caf422
- Distribution source: [original Blender file and texture archive linked by the creator](https://drive.google.com/file/d/1Q90hgp1deq4El61YaqiDfI7eSyEpCtjE/view)
- Original archive SHA-256: `5d21fb238d02fb6c9a10f53e9b790f6a9924616071c3eab90c3027505d1f0828`
- Blender source SHA-256: `1136c4f04bb423eaa6e707c643f9d6c2a03a8ded4a3f7c4d5d8ff0381f21edc8`
- Reproducible conversion: `scripts/prepare-rook-asset.py`; full source digests and output measurements are in `docs/rook-asset-conversion.json`.

### Legacy Rook body (v0.6.1 and earlier; retained in the original mesh archive)
- Original work: [BMW E36 M3](https://sketchfab.com/3d-models/bmw-e36-m3-762b90efd3dc413cb61c3e3c8097b8ac)
- Creator: [Martin Trafas](https://sketchfab.com/TinoD2)
- Licence: [Creative Commons Attribution 4.0 International](https://creativecommons.org/licenses/by/4.0/)
- Original public metadata and licence: https://api.sketchfab.com/v3/models/762b90efd3dc413cb61c3e3c8097b8ac
- Distribution source: https://github.com/pedrosoandre/carros/blob/main/assets/bmw-e36-m3.glb

### Brant GT
- Original work: [02_Chevrolet Astra](https://sketchfab.com/3d-models/02-chevrolet-astra-4dbf081570584f6d911fa6e009d35234)
- Creator: [foxcgi](https://sketchfab.com/foxcgi)
- Licence: [Creative Commons Attribution 4.0 International](https://creativecommons.org/licenses/by/4.0/)
- Original public metadata and licence: https://api.sketchfab.com/v3/models/4dbf081570584f6d911fa6e009d35234
- Distribution source: https://github.com/pedrosoandre/carros/blob/main/assets/chevrolet-astra.glb

## Adaptations for this game

The legacy source GLBs, current Aster and current Brant were already simplified and compressed by the carros project. The Rookie further converts the artwork into local indexed mesh data, removes source staging and manufacturer badge/registration overlays, normalises scale and the coordinate system, adjusts the coupe wheelbase, separates wheel animation groups, reduces interior and wheel fastener geometry, rebuilds the saloon paint normals from its mesh, recalibrates paint/glass/metal/lamp materials, adds fictional race numbers, a roll cage and club-racing details, and colours each vehicle to match its fictional game identity. Changes are by The Rookie project.

The v0.5 adaptation further repairs hatchback/coupe panel normals without moving their body vertices, replaces source wheels with original modelled motorsport tyres, rims, fasteners, brake rotors and fixed calipers, replaces front-seat upholstery with original bucket seats and harnesses, and adds body-fitted bonnet pins, tow eyes, sill accents and fictional windscreen lettering. These additions are implemented in `dist/car-detail.js`; the credited source body and texture authors remain unchanged. The project modification record and geometry budgets are documented in `docs/vehicle-art.md`.

The v0.6 Aster uses the separately credited three-door body by tiedtke and Louweee___ above. The Rookie converts the mesh to its local metre-scale format, fits its visual wheelbase to the existing fictional simulation, replaces source registration and badge details with fictional clubsport markings, separates optical materials, and fits original motorsport wheels and race preparation. The source coachwork, cabin and optical geometry retain their original authorship. This is an artwork change to the fictional Aster, not a claim to simulate or license the source manufacturer's real vehicle.

The v0.6.1 Brant correction repairs shading normals across compatible coincident mesh seams and filters the broad paint tangent field without moving body vertices or changing its indices. It also recalibrates the paint, glazing, reflector bowls and optical covers. The credited foxcgi body, its panel geometry and original authorship are retained; no new third-party vehicle asset is introduced.

The v0.7 Rook replaces the simplified E36 source with Martin Trafas's original E30 Blender asset and accompanying texture maps. The Rookie preserves authored coachwork, wheel and optical detail, resets the source front-wheel steering pose, converts scale and axes, separates window panes and optical roles, removes separate maker badge planes, and attaches the source rotating wheels and fixed calipers to the game's animation pivots. Texture maps are resized for browser delivery; separate AO, roughness and metallic maps are packed into RGB channels without changing their roles. Headlamp and brake-only emission maps remain separate. Fictional colour, race numbers, cage and club-racing preparation are game adaptations. The original cabin is a simple silhouette interior, not a newly authored detailed cockpit.

The v0.7 shared automotive finish and Studio inspection rig are original project code. They refine the clearcoat, glazing, surface roughness and restrained lower-panel road film without replacing the credited source colour, optical, normal or wheel PBR artwork. Studio lighting is rendered around the actual game mesh.

The v0.7.1 Brant adaptation supplies a precomputed geometry-derived paint normal field with guarded hard returns; it retains the exact credited body positions and triangle order. The reproducible normal module is in `brant-panel-normals.js`, with derivation and provenance in `scripts/prepare-brant-panel-normals.mjs` and `docs/brant-panel-normal-repair.json`. It also separates the six existing window islands for transparency sorting and corrects mismatched local normal frames on the two rear side windows and two clear lamp-cover primitives. Source optical positions, triangle surfaces and the other four authored window normal fields are preserved. Shared clear-cover and glazing compositing refinements, contact shading and the Studio floor shadow filter are original project rendering code. The Rook's original optical normal maps remain credited source artwork.

Source authors retain credit for the original mesh and texture artwork. No claim is made that this artwork is an original model of the fictional game manufacturers.

## Distribution

Mesh data: `models.js`, `aster.js` and `rook.js` (32-bit floating point metre positions, normal quantisation 1/32767). `aster.js` contains the v0.6 Aster replacement; `rook.js` contains the v0.7 Rook replacement. The original archive retains the legacy Aster/Rook bodies and current Brant mesh. Texture files are extracted or converted from the credited source artwork. These files and the modifications to them remain available under CC BY 4.0; the rest of the application has its own licensing.

The preprocessing used meshoptimizer by Arseny Kapoulkine under the MIT licence; no meshoptimizer runtime is shipped.
