S-76 corresponding source and models — GTLA, 2026-09-10

Source: FlightGear UK Sikorsky S-76C++.
Authors: Melchior Franz, Maik Justus, Horacio Contreras, FlightGear / FGUK contributors.
GPL v2, as declared in the included original s76c-set.xml. See COPYING.
GTLA geometry, artwork and animation adaptations are distributed under GPL v2.
No warranty. Trademarks identify depicted aircraft and imply no endorsement.
Reference photographs and proprietary font files are not redistributed.

The original editable AC3D meshes and all their directly referenced textures
are included, plus our modified texture atlases and all conversion/build code.
Unused simulator systems are not needed or included in this geometry conversion.

Rebuild from this directory (Blender 5.2, Python 3 with Pillow, Node 22):
  npm install
  blender -b -t 4 --python outputs/S76-free-trial/convert.py
  blender -b -t 4 --python outputs/S76-family/build.py
  node outputs/S76-family/finalize.mjs

This uses the provided editable texture atlases. To regenerate those too,
run python3 outputs/S76-family/artwork.py before build.py. That optional step
uses macOS Arial Bold, Arial Bold Italic and Times New Roman Bold; substitute
your own installed fonts in artwork.py if unavailable. It does not affect the
provided original final texture atlases. CHLA logo source SVG/PNG is included.

Blender generates the .blend intermediates locally; no binary master is needed.
Geometry, UVs, rotor rig, exhausts and animation modifications live in the scripts.
The per-aircraft exports directory is created by build.py. HD is shipped for
N141MH and N152AE only (their build writes standard, HD and mobile tiers).
The finalizer verifies the included FAA evidence hash before exporting.
Distributed GLBs also contain a JSON-only GTLA attribution/provenance stamp;
that metadata changes neither editable geometry nor the animation output.

Owner addresses removed, 2026-09-26. Each FAA registry record in
outputs/S76-family/aircraft/*/references/ still names the registered owner,
but GTLA replaced the street, city/state and county/ZIP lines under that name
with one bracketed line. Every other line is exactly as saved. The full
record, address included, is public at the FAA registry URL at the top of
each file. The packed config.json files record the SHA-256 of these redacted
copies (faaSha256 and evidenceSHA256.faa), so the finalizer's FAA evidence
check passes on them. The distributed GLBs were built before the redaction,
so their asset.extras.faaSHA256 is the hash of the full record as saved; a
rebuild from this archive writes the redacted copy's hash instead.

Added 2026-09-30: N141MH (S-76B) and N152AE (S-76C), built on the same
converted FGUK source by outputs/S76-LongRanger-catchup-2026-09-27. Rebuild them
after convert.py above:
  blender -b -t 4 --python outputs/S76-LongRanger-catchup-2026-09-27/build-s76.py -- N141MH N152AE
  node outputs/S76-LongRanger-catchup-2026-09-27/finalize-s76.mjs N141MH N152AE
The provided texture atlases are the ones used. paint.py regenerates them
(macOS Arial Bold); its last block paints a Bell 206 that is not part of this
archive, so it stops with a file-not-found error after the S-76 atlases are
written, which is expected. Their FAA files are short registry extracts with no
owner name or address, packed unchanged. As with the four above, the distributed
GLBs carry a JSON-only GTLA stamp, and their extras.publicDeploymentApproved was
set to true in the JSON chunk only; neither changes geometry or animation.
