import { $ } from "bun"; let path = process.argv[2]; await $`mkdir -p /tmp/nguhmap` for (let zoomlevel = 4; zoomlevel <= 4; ++zoomlevel) { let size = 1024 << zoomlevel console.log(`Resizing image for zoomlevel ${zoomlevel}: ${size}x${size}`) await $`magick ${path} -resize ${size}x${size} /tmp/nguhmap/${zoomlevel}.png` let file = `/tmp/nguhmap/${zoomlevel}` console.log(`Cutting tiles for zoomlevel ${zoomlevel}`) await $`mkdir -p public/tiles/${zoomlevel}` for (let rx = 0; rx < 1 << (zoomlevel + 1); rx++) { for (let ry = 0; ry < 1 << (zoomlevel + 1) ; ry++) { console.log(`region: ${rx - (1 << zoomlevel)}/${ry - (1 << zoomlevel)}`) await $`magick ${file}.png -crop 512x512+${rx*512}+${ry*512} public/tiles/${zoomlevel}/${rx - (1 << zoomlevel)}_${ry - (1 << zoomlevel)}.png` } } } await $`rm -rf /tmp/nguhmap`