Files
gig-line/Docs/toolchain.md
T
zwitschi eceaff1397 chore: scaffold repository and record 0.1.0 setup state
Create Game/, Art/, Geo/, Tools/, Docs/ with LFS and ignore rules, record the
workstation audit, toolchain pins, setup checklist, release checks, and
licensing policy. ROADMAP 0.1.0 environment tasks marked to match verified state.
2026-11-06 21:20:57 +01:00

40 lines
3.4 KiB
Markdown

# Toolchain
Pinned versions for this project. Record the exact build string a tool reports, not just the version family, and re-record it after every upgrade. The most common cause of scale, material, and import mismatches is silently mixing two versions of the same tool.
Audited 2026-11-06 on the development workstation.
## Pins
| Component | Pinned | Source | Status |
| --- | --- | --- | --- |
| Bazzite | `44.20261026` (Kinoite, `bazzite-dx-nvidia`) | `ujust update` / `rpm-ostree upgrade` | Running. `45.20261105` staged, reboot pending. |
| NVIDIA driver | `615.78.08`, open kernel module | Bazzite image | Loaded as kernel module. Desktop-session `nvidia-smi` / Vulkan check still pending, see [environment.md](environment.md). |
| Unreal Engine | `5.8.x` — pin one exact build | Epic (license required) | Not installed. |
| Unreal Linux toolchain | engine-bundled clang | Engine source tree | Not installed. Do not substitute the system compiler. |
| Blender | `5.2` LTS (upstream patch `5.2.3`) | Flatpak `org.blender.Blender` | Installed. |
| MPFB | `2.0.18` (extension `mpfb`, declares Blender >= 4.2) | Blender extensions platform | Installed. Load-and-export check on 5.2 still pending. |
| Blosm | latest release at install time | blosm.com / Gumroad | Not installed. Version must be recorded before first use. |
| QGIS | `3.44.15` LTR | qgis.org | Not installed. |
| Git | `2.56.0` | Bazzite image | Installed. |
| Git LFS | `3.x` | `rpm-ostree` layer | Not installed. **Required** before committing any file matched by `.gitattributes`. |
| distrobox | `1.8.2.5` | Bazzite image | Installed. |
| Python (tooling) | `3.14.8` system | Bazzite image | Installed. Use a venv for geo/tool scripts. |
| ffmpeg | `8.1.3` | Bazzite image | Installed. |
Unreal Engine 5.9 is in preview and Unreal Engine 6 has been announced as of November 2026. Neither is a pin candidate for `0.x`. One engine family per milestone; a family change is a breaking change and belongs in `CHANGELOG.md`.
## Pin rules
- One engine build per release. Record the launcher or source build, the patch version, and the build date in this file and in the release entry.
- Blender stays on an LTS family (`5.2`). Every add-on version used for a shipped asset is recorded here.
- Upgrading a pinned tool mid-milestone requires re-running the scale test and the Blender→Unreal import check before further asset work.
- Never install a tool from an unverified source. Record the download origin next to the version.
## Open compatibility risks
1. **Blosm on Blender 5.2.** Blosm versions historically lag Blender releases. Verify Blosm against the installed Blender 5.2 before the blockout step. If it fails, add a side-by-side Blender 4.5 LTS Flatpak and convert that step's output only; do not mix Blender versions within one asset.
2. **MPFB 2.0.18 on Blender 5.2.** The extension declares Blender >= 4.2 but predates 5.x. The acceptance test is the `0.1.0` requirement to export one MPFB character with baked materials and a deform skeleton and import it into Unreal.
3. **QGIS LTR transition.** QGIS 4.4.0 entered LTR on 2026-10-30 but LTR binaries were still `3.44.15` at audit time. Do not pin `4.4.0` until its installers exist; switching LTR later is a documented migration.
4. **Driver and Vulkan validation on Bazzite.** Not an officially supported Unreal distribution. Validate before asset production, as `ROADMAP.md` requires.