import { mkdir, writeFile } from 'node:fs/promises'; import topHudData from '../src/assets/controller/top-hud.js'; import helmData from '../src/assets/controller/helm-action.js'; import cannonBase64 from '../src/assets/controller/cannon-roundel.js'; const outDir = new URL('../public/assets/controller/', import.meta.url); await mkdir(outDir, { recursive: true }); const writeDataUrl = async (name, dataUrl) => { const match = /^data:[^;]+;base64,(.+)$/.exec(dataUrl); if (!match) throw new Error(`Invalid data URL for ${name}`); await writeFile(new URL(name, outDir), Buffer.from(match[1], 'base64')); }; await writeDataUrl('top-hud.webp', topHudData); await writeDataUrl('helm-sheet.webp', helmData); await writeFile(new URL('cannon-roundel.jpg', outDir), Buffer.from(cannonBase64, 'base64')); console.log('Materialized controller assets');