# Compatible aircraft paints — 14 September 2026

Air India Express VT-ATD and Air India VT-TQR retaining Vistara paint are original A320-251N / LEAP-1A26 / sharklet liveries. They share the existing A320-251N mesh and its native material/UV layout.

- Source: [Devansh1007/FG-A320-Livery](https://github.com/Devansh1007/FG-A320-Livery/tree/e188a4ad96aa80dd333a2bee8d610f22112dd0b4), pinned e188a4ad96aa80dd333a2bee8d610f22112dd0b4. GPL 2 only. Original PNG, configuration XML, available editable XCF files, README and LICENSE retained under source/devansh/.
- SpiceJet 737-800: [Pilot2938/Pilot2938-FG-liveries](https://github.com/Pilot2938/Pilot2938-FG-liveries/tree/2edd25282b93a3a2d2d155864aecc2b781e75ad3), pinned 2edd25282b93a3a2d2d155864aecc2b781e75ad3. GPL 2 only. Original SEJ.png and SEJ.xml, README and LICENSE retained under source/pilot2938/. This paint is embedded in its compatible 737-800 exterior.

fleet-paints.js binds the two A320 paints to the original fuselage and engine materials. Geometry is shared between instances. Local texture orientation and colour-space settings adapt the source images for glTF; the retained original files are unchanged.

Registrations identify source artwork, not observed aircraft currently at IGI. Retained Vistara paint is labelled as an Air India aircraft. No live placement, airline endorsement or current fleet repaint status is claimed.

## 15 September 2026 additions (v43)

15 additional model/paint pairs reuse the existing source geometry:

- A330-343: SriLankan, Cathay Pacific, Thai. Native A333RR paint files from JMaverick16/Airbus_A330, pinned f016c7c0ad8c6c48b7d9eed7ed7dde49dc69059d; GPL2. Preserve the RR engine variant.
- A350-900: Finnair, Cathay Pacific. FGMEMBERS/A350XWB, pinned 04da937ab1ba0b07dabfd71d91aa33eb38316b90; GPL2-or-later.
- 787-8: Biman Bangladesh, Air Canada. IskenderWang/787-family, pinned 02626b5b659d89b9399943ee167bbb0b46f0c871; native GEnx fuselage and corresponding engine textures, GPL2. Trent liveries were not substituted.
- 777-300ER: British Airways and Singapore Airlines, from the compatible native 777-300 atlas in FGMEMBERS/777 at 371a354e5805c3c54afac926fea16bb19ea71fda. Retained 777 source licensing and AUTHORS apply.
- Authored SVG schemes: Air India Express and Akasa MAX; IndiGo and Alliance Air ATR; historical GoAir A320neo and Jet Airways 777. These are approximate schemes, not exact individual registrations. The ATR paints derive from the GPL3 ATR source. The GoAir and Jet paints retain GPL2 source texture details. All editable SVGs, generated PNGs and recipes are included.

Original downloads, configuration XML and available author/license files are retained in `source/v43/`, with URLs and byte hashes in its manifest. `scripts/fetch-airline-paints.py` restores those pinned files. `scripts/build-airline-paints.py` creates the editable SVGs (Python/Pillow); `scripts/rasterize-airline-paints.mjs` generates browser PNGs using Sharp (set IGI_SHARP_MODULE when Sharp is outside the local module search path). `scripts/build-web-assets.py` makes small previews and retains the original-resolution PNG bytes. Full source paints are promoted by the existing texture residency system.

Accuracy: these operators fly ATR72-600s. The retained ATR72-500 exterior is an explicitly labelled approximation; it is not promoted to an exact AT76 asset. The MAX source is 42.14m long / 36.17m wide and retains its existing approximate subtype proportions, so published small-stand limits can reject it. No model is resized merely to make a paint or stand fit.

`data/aircraft-livery-catalog.json` records compatible model/material bindings, operator identifiers, historical-only flags and approximation notes for future live-model selection. This pass does not change live tracking or infer a current aircraft identity from a paint.

## 19 September 2026 addition

- A321: IndiGo, TRANSFERRED from the artist-made IndiGo A320neo paint already retained here (legoboyvdlp/A320-family-liveries, VT-IVZ, GPL-2.0), not drawn from memory. A first hand-drawn attempt was rejected by the founder as not looking like IndiGo; it was wrong (solid blue fin with a dotted aircraft, small Arial titles, straight cheatline). Method, all in `scripts/build-a321-paints.py`:
  1. clean the artist's fuselage sheet of everything that is not paint (windows, 5 px door outlines, registration, stencils), because the A321's windows and doors come from its own template in different places;
  2. render the real IndiGo A320neo exactly side-on, unlit, orthographic, wings and engines cut away, both sides (`scripts/render-a320-indigo-side.py`, Blender);
  3. map that true side view onto the A321's side-view atlas. The A321 is the A320 plus a 4.27 m plug ahead of the wing and 2.67 m behind it, so nose, titles, tail cone and fin transfer 1:1 and only plain cabin is stretched. Paint goes only inside the template's paintable regions.
  Output `authored/a321-indigo.png` (2048 x 2048), bound to source material `AI` in `fleet-paints.js`. Checked with `scripts/render-aircraft-paint.py` (offline Blender render of the A321 with the paint: both sides, three-quarter views, fin).
- Known limits: the mesh is an A321-211 (CFM56, wingtip fences) and IndiGo flies the A321neo; the belly dotted-aircraft mark is on the underside, which this side-view atlas cannot carry; in an extreme close-up the light-blue band steps slightly where it crosses the fin-root fairing, because that old mesh maps the fairing to the atlas coarsely. Labelled an approximation in `fleet-paints.js`. IndiGo's name and marks belong to their owner; no endorsement is asserted.
- Browser cost: one small preview at start-up; the full image is requested only when an aircraft wearing it is close, through the existing texture residency system. No new geometry. Registered with `scripts/register-paints.py`.
