import { writeFileSync } from 'node:fs'; import { SUMMIT_TRAILS } from '../src/constants/summitTrails.ts'; import { SUMMIT_TERRAIN } from '../src/constants/summitTerrain.ts'; import { STRUCTURES } from '../src/constants/structures.ts'; import { GISAMUN_HARBOUR } from '../src/constants/harbour.ts'; // Publish the geographic inputs separately; never regenerate the terrain here. const data = { attribution: '© OpenStreetMap contributors', sourceUrl: 'https://www.openstreetmap.org/copyright', license: 'ODbL-1.0', licenseUrl: 'https://opendatacommons.org/licenses/odbl/1-0/', scope: 'Geographic input collection below, including our estimated additions. Not a relicensing of Copernicus elevation grids, VWorld buildings, photographs, or model artwork.', processing: 'OSM route selection and facility positions; estimated widths, footprints, dimensions and terrain control elevations. These are not surveyed values.', summit: { routes: SUMMIT_TRAILS.routes, structures: STRUCTURES, terrainControls: SUMMIT_TERRAIN.controls, rockBoundary: SUMMIT_TRAILS.rockPolygon, rockOutcrops: SUMMIT_TRAILS.rockOutcrops, }, gisamunHarbour: { source: 'OSM way/583161999; inland closure and dimensions estimated', coordinateSystem: 'Local east X, south Z, metres; origin 38.00555 N, 128.73195 E', parameters: GISAMUN_HARBOUR, }, }; writeFileSync(new URL('../public/osm-derived.json', import.meta.url), JSON.stringify(data, null, 2) + '\n'); console.log('OSM geographic inputs and licence notice exported; terrain unchanged.');