Portable reproduction: detailed-carrier F-16 hero
================================================
This is offline Cycles artwork of the actual model geometry, not a browser gameplay screenshot. It preserves the authentic USAF 52FW 480FS SP 91-0352 livery and detailed FlightGear USS Harry S. Truman CVN-75 model. Final output is 2560x1600, 128 Cycles samples, denoised. Metal GPU is selected when available; --cpu forces a portable CPU render. Blender 5.2.2 was used and tested.

Prepare sibling directories:
  work/f16-source/      F-16 original assets, convert_f16.py, refine_canopy.py,
                       render_carrier_hero.py, source licenses and provenance
  work/carrier-source/ carrier Models, convert_carrier.py, ac3d_reader.py,
                       flightdeck-physics.json, source licenses and provenance
  work/carrier-source/deck-pbr/  CC0 asphalt_01 maps and license notice
  work/sky.hdr         the existing project photographic sky HDR

The Truman source archive extracts relative paths (Models/, LICENSE.md, etc.), so unpack it inside work/carrier-source. The PBR archive contains deck-pbr/ and should also be unpacked inside work/carrier-source. Keep all original source/license files supplied with the F-16 package.

From work/, with the Blender executable on PATH:

  blender --background --python f16-source/convert_f16.py -- --no-render
  blender --background --python f16-source/refine_canopy.py
  blender --background --python carrier-source/convert_carrier.py -- --no-render
  blender --background --python f16-source/render_carrier_hero.py -- --sky sky.hdr --out hero-truman.png

convert_f16.py writes f16-converted.blend. refine_canopy.py smooths only the two outside canopy meshes with two Catmull-Clark levels and writes f16-refined.blend / f16-refined.glb. All other mesh geometry, material names, node names, and landing gear hierarchy remain intact. Original image paths are normalized and textures packed; the refined GLB was checked against the original and all 21 embedded images retain exactly the same decoded pixels.

convert_carrier.py writes truman-converted.blend / truman.glb and uses the included source physics JSON to create actual arresting-wire geometry. It raises all four elevators to deck height, lowers their safety rails by 0.77 m, excludes parked aircraft, preserves crew/tugs, and keeps original UVs, textures and named hierarchy. The optional optimize_glb.py requires Python Pillow and losslessly recompresses its embedded PNGs; this is unnecessary for the offline render.

render_carrier_hero.py is standalone: it starts from those two conversion outputs, not a prepacked hero scene. It accepts --f16-dir, --carrier-dir and --pbr-dir if directories differ. Pass --preview for a 1280x800 24-sample check, --cpu for CPU rendering, or --save-blend to also save a packed editable scene. All paths are relative to the supplied folders or resolved script location; there are no user-specific absolute paths. A portable preview run was rendered and visually verified against the final composition.

The sky HDR is supplied as an explicit argument because it is maintained as a project asset with its own source attribution. This script adds no new sky-license assumptions. Poly Haven asphalt_01 normal/roughness maps add fine non-skid detail at 2.1 m scale while retaining the original carrier deck albedo and markings.

Source/license:
  F-16: https://github.com/NikolaiVChr/f16
  commit ef4f192f06243cf4061c2be794511db0576ac2f9
  GPL-2.0-or-later; original copyright.txt/authors.txt and source manifest included.
  Carrier: https://gitlab.com/flightgear/fgdata
  commit 64fed49ab42df81f45a0099cbb231c84112ac5d7
  GPL-2.0; see carrier-source/LICENSE.md, COPYRIGHT.txt, SOURCE-MANIFEST.json.
  PBR: https://polyhaven.com/a/asphalt_01, CC0
  Charlotte Baglioni (photography), Dario Barresi (processing).
