Implement tiled multiplayer city simulation and scaling stages

This commit is contained in:
mrleo1nid committed 2026-10-30 22:06:56 +03:00
1 parent 3d4b29fedf
commit 3b1fcd996a
53 files changed
+7354 -13

No files matched your search

+15
View File
@@ -0,0 +1,15 @@
import { readFile,access } from 'node:fs/promises';
import { resolve } from 'node:path';
import { generateWorldSync } from '../src/gen/generate';
import { exportCity } from './export/index';
const output=resolve(process.argv[2] || 'public/cities/balzers-demo');
let ready=false;
try {await access(resolve(output,'manifest.json'));ready=true;} catch(error) {if ((error as NodeJS.ErrnoException).code!=='ENOENT') throw error;}
if (ready) console.log(`Prepared city already exists: ${output}`);
else {
const data=JSON.parse(await readFile('samples/balzers-2013.json','utf8'));
const world=generateWorldSync(data.elements,[47.058,9.492,47.074,9.518],'Бальцерс',1);
world.id='balzers-0-2-0';
const manifest=await exportCity(world,output);
console.log(`${manifest.city.name}: ${manifest.counts.buildings} buildings, ${manifest.tiles.length} tiles → ${output}`);
}