Why
Split from #762 (~900 lines): after #762 moves clusters.json out of the root into mesh pages read through a tree, the mesh pages must stay small and the region pages must name them, so the runtime (#751) fetches only what a region needs.
To do
Code context
#762's tree and readers, #781's region pager (generalised, never copied), docs/FORMAT.md.
Proof
Goldens updated with the format bump; every mesh page ≤ 128 KiB on the open world's cook; a region page lists exactly the mesh pages its cells use.
Links
Parent #483. Blocked by #762. Split from #762.
Why
Split from #762 (~900 lines): after #762 moves
clusters.jsonout of the root into mesh pages read through a tree, the mesh pages must stay small and the region pages must name them, so the runtime (#751) fetches only what a region needs.To do
Code context
#762's tree and readers, #781's region pager (generalised, never copied), docs/FORMAT.md.
Proof
Goldens updated with the format bump; every mesh page ≤ 128 KiB on the open world's cook; a region page lists exactly the mesh pages its cells use.
Links
Parent #483. Blocked by #762. Split from #762.