const fs = require('fs'); const path = require('path'); // Minimal valid 1x1 PNG (gray pixel) for placeholders // Real icons would be proper assets, but these satisfy manifest requirements for MVP const minimalPng = Buffer.from([ 0x89, 0x50, 0x4E, 0x47, 0x0D, 0x0A, 0x1A, 0x0A, // PNG signature 0x00, 0x00, 0x00, 0x0D, 0x49, 0x48, 0x44, 0x52, // IHDR chunk length 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, // 1x1 0x08, 0x02, 0x00, 0x00, 0x00, 0x90, 0x77, 0x53, // 8-bit RGB, compression 0xDE, 0x00, 0x00, 0x00, 0x0C, 0x49, 0x44, 0x41, // IDAT chunk 0x54, 0x08, 0xD7, 0x63, 0xF8, 0xCF, 0xC0, 0x00, // compressed data (gray pixel) 0x00, 0x00, 0x03, 0x00, 0x01, 0x00, 0x05, 0xFE, // 0xD7, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4E, // IEND chunk 0x44, 0xAE, 0x42, 0x60, 0x82 ]); const iconDir = path.join(__dirname, 'src', 'icons'); fs.mkdirSync(iconDir, { recursive: true }); const sizes = [16, 48, 128]; for (const size of sizes) { fs.writeFileSync(path.join(iconDir, `icon${size}.png`), minimalPng); } console.log('Icons generated:', sizes.map(s => `icon${s}.png`).join(', '));