Less work between spells.
Finished ash stops updating, altars stop constructing unused flames, and mirror matches prepare each roster once. A current asset audit puts texture imports at the front of the next performance pass.

The first optimisation pass removes work we can demonstrate is unnecessary. It also checks the older architecture audit against the current multiplayer code. The longer loading stalls and crowded-combat slowdown remain open questions; this small cleanup does not claim to solve them.
Let finished effects rest.
Ash from a scorch finishes after three seconds, while its ground mark fades over thirty seconds. The old code kept moving those invisible particles throughout that longer lifetime. They now leave rendering and stop updating when their flight ends; the mark still fades, and an inspector rewind can bring the particles back.
At the existing sixteen-mark limit, this removes 288 particle terrain samples and transform updates from each physics tick once all ash has settled. That is a count of skipped work, not a measured frame-rate gain.
Prepare what the match needs.
When both players choose the same patron, the loading preparation now constructs that three-creature roster once. Mixed patrons still prepare both rosters. The friendly and hostile spell variants remain covered.
Only Vessara now constructs the original altar flames. Other patrons keep their own selected lights and effects, without creating flames they immediately discarded or left hidden.
Keep development files out of the game.
The preserved multiplayer resource pack included 37 development-output files. Explicit export exclusions now keep the build and output folders out of the test pack. The historical files remain available in the workspace.
The source checks passed 948 assertions, with another 28 across two local headless network peers. The exact test pack passed 637 resource checks and 44 cleanup checks. Test-log collisions and two picker timeout checks were repaired, with failed attempts retained. This is an isolated source change and test pack; the delivered app has not been replaced.
Textures come next.
The current resource pack contains about 621 MiB of textures in a 694 MiB total. Its four current character families have 75 texture imports in lossless mode. A carefully reviewed GPU-compression trial on one character is the next asset step, with matching appearance, memory and loading checks before any wider conversion.
Loading also needs measurements from the initial request through both players becoming ready. The existing preparation timer misses earlier scene and actor construction. The previously recorded 71-second guest preparation and slower active-crowd art samples remain unresolved. There is no new FPS, cold-cache, two-device or human-playtest claim here.