// PROCITY citygen — canonical Lane A public entry point (barrel). // // Consumers import the whole CityGen API from here (not from plan.js directly), e.g. Lane B's shell: // const citygen = await import('./js/citygen/index.js'); citygen.generatePlan(seed) → CityPlan // Keep this the stable import surface for the lane; internals may move between files behind it. // // (Originated as a Lane F integration shim because the shell imports ./js/citygen/index.js while the // generator ships as plan.js; adopted here as the real Lane A entry point, per the shim's own note.) export { generatePlan, chunkIndex, chunkKey, CHUNK, lotCorners, obbOverlap } from './plan.js'; export { shopName, townName } from './names.js'; export { generatePlanOSM } from './plan_osm.js'; // planSource selector (round 6). Default 'synthetic' → the byte-identical golden-hash generator; // 'osm' → the real-data fixture importer. Lane F wires ?plansrc=osm to the `source` arg here so the // shell bootstrap picks the producer without B–F caring which one ran. Unknown source → synthetic. import { generatePlan as _synth } from './plan.js'; import { generatePlanOSM as _osm } from './plan_osm.js'; export function generatePlanFor(seed, source = 'synthetic') { return source === 'osm' ? _osm(seed) : _synth(seed); } // Convenience default so `citygen.default` also resolves to the (synthetic) generator. export { generatePlan as default } from './plan.js';