# Operator A350-900 aircraft geometry

The exterior model is a derivative of **A350XWB**, by **Sbyx, Jormappapa and other FlightGear contributors**, distributed by FGMEMBERS, converted for the web by **Flightradar24**.

- Original project: https://github.com/FGMEMBERS/A350XWB
- Original project README: https://github.com/FGMEMBERS/A350XWB/blob/master/README.md (states GPL2+)
- Distributed source: https://github.com/Flightradar24/fr24-3d-models/tree/master/source/a350
- Distributed GLB: https://github.com/Flightradar24/fr24-3d-models/blob/master/models/a359.glb
- License: **GNU General Public License, version 2 or any later version**. See [COPYING.txt](COPYING.txt).
- Acquisition: 2026-09-09, official repository files served via jsDelivr GitHub CDN.

## Changes made for Operator

Lossless conversion of the original glTF 1 binary asset to glTF 2; source vertex positions, topology, UVs, normals, and transforms retained in the converted asset. Runtime normalization to a 66.80 m length and 64.75 m span. Angle-weighted runtime normals are smoothed across legacy UV seams and matched hull/radome and wing segment boundaries, preserving sharp control-surface edges. All source surface positions and triangles remain unchanged; no nonlinear subdivision or displacement is applied. Original materials are replaced by satin Operator navy and champagne gold paint, glass and restrained bare-metal details. The original Operator icon is centered across the lateral skins of the vertical fin and rudder, preserving the hinge seam and excluding leading edges and caps; fuselage lettering retains the source logo proportions. Flight pose retained; leftover internal gear struts and registration decal hidden. Source fan geometry contains 22 modeled blades per engine; fan diameter normalized to the Rolls-Royce 118-inch (2.9972 m) specification. Continuous gold livery is applied by a shader and does not change the underlying fuselage geometry.

The editable original Blender source is [a350-source.blend](a350-source.blend). The conversion script is [convert-source.py](convert-source.py); its input is the original a359.glb from the URL above. Run `python3 convert-source.py a359.glb --output a350-900-flightgear.glb` in a scratch directory; it also extracts the original embedded textures and writes a geometry report. The procedural livery/material and normalization code is served at [a350-model.js](../../../a350-model.js).

This is a carefully detailed community aircraft model, not Airbus engineering CAD or an Airbus-certified digital twin. The older model uses the original A350-900 winglet style; it should not be described as the revised extended-winglet variant introduced in 2018.
