Adds aetheria.bake_from_source: bakes the Source meshes onto the selected render meshes as '<ship id>.albedo' (sRGB) and '<ship id>.normal' (Non-Color), packed, wired into every material (a shared '<ship id>.hull' material for a mesh with none). One routine serves both maps and every target. The Source's Metallic and Transmission Weight are neutralised for the bake (the glTF importer sets Metallic 1.0, which bakes black); engine, samples, device, selection and Source are restored in a finally, and a failure removes everything made and puts every changed link back. Three bake preferences, a panel button, the tripo-hull.glb LFS fixture and smoke_bake.py (4 passes). _refuse_loose_meshes now shares the select-offenders refusal with the bake. All commits build; no C# touched. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1.7 MiB (Stored with Git LFS)
1.7 MiB (Stored with Git LFS)