# Source provenance

The native XR platform was adapted from the local sibling `AvP-Jaguar-XR` checkout
at commit `249983300d1c1c5fd8860aed36686b10f8983669`:

- `src/xr.cpp`, `include/xr.hpp`: OpenXR lifecycle, GL swapchains, action sampling,
  pose validity, interaction profiles and frame submission. This project changes
  the application name and adds explicit primary/secondary face-button channels
  per hand for independent shoulder and hip mounts.
- `include/math.hpp`, `include/hud_pose.hpp`, `include/openxr_gl_platform.hpp`:
  matrix/pose/projection utilities and SDL OpenGL/EGL session bindings.

The local adaptations preserve the `avp` namespace in these platform helpers to
make their origin clear. The new simulation and renderer use `iron`. The platform
copy is self-contained; later upstream fixes need explicit review and porting.
The graphics include uses Linux GL extension prototypes rather than GLEW.

The local portable test-build work also adapts the Android SDL activity,
asset extraction and permission lifecycle from the same AvP checkout. Windows
uses GLEW for OpenGL entry points; Android uses GLES 3.2 and shared shaders
with explicit affine interpolation compensation. Portable build scripts record
checksum-pinned dependency sources and include their original license notices.
Locally imported cartridge data and packaged test clients remain Git-ignored.

The range geometry is authored code. Both dynamic text and static cockpit legends
use the decoded original HUD font; dynamic text is textured geometry and static
legends are mesh pixels. Original panels, thumbnails, horizon and atlas pixels are
loaded from the ignored retail directory. The cockpit structure
is authored in Blender, with adapted Tripo monitor housings. No original game source code or cartridge content is embedded in source.
The original game and its data remain the property of their respective owners.
Do not treat these notices as a redistribution license for retail assets or for
upstream code; preserve and review applicable upstream terms before distribution.

The art decoder also reuses `tools/cry_palette.json` from the sibling AvP project:
the Jaguar hardware CRY color planes, with the corrected red-plane entry 115.
`tools/decode_art.py` implements the compression and raster layouts traced from
the user's local Iron Soldier dump. The local GPU/68000 research and all extracted
art remain in the ignored retail directory. Primary hardware references and
research tooling are listed in `ART_FORMATS.md`.

The one approved Tripo text-to-model task was
`20e6a646-4324-48ce-ba8e-c5f207fa87b6`, model `tripo-p1`
(`P1-20260311`), billed **30 credits total**. It generated one untextured housing,
reused for both upper monitors. No other paid Tripo tasks were run. The original
generation and response are retained under `assets/retail/cockpit/`.

`tools/decode_models.py` implements the polygon/segment records traced in local
module 4. Original weapon and arm geometry remains in ignored retail outputs.
`tools/scan_remaining.py` exports unclassified geometry candidates separately.
The native arm IK, tracking transforms and desktop controls are authored code;
original animation behavior is not claimed. See `MODELS_AND_ARMS.md`.
