five-on-it / apps/tools/src/level-json
apps/tools/src/level-json
The level files under packages/world/levels/: canonical JSON, so a re-export of an unchanged scene is byte for byte the same file and a change reads as one line in a diff. The meshes come first with their keys sorted, each mesh's vertices (three decimals) and indices on one line each and one group per line; then one placement per line with its keys in the order of PlacementDef, one road per line with its points as [x, y, z] triples, and the spawns (a role after the point when it has one), nail strips, dummies, doors, containers, cameras, NPCs, vehicle spawners, garages, shops, districts, ladders, lifts and escalators one per line (the last eleven only when the level has any; a district's areas on its line). Numbers have at most six decimals and are never -0.