import {PNG} from 'pngjs' import fs from 'node:fs/promises' const png=new PNG({width:256,height:256}) for(let y=0;y<256;y++)for(let x=0;x<256;x++){ const i=(y*256+x)*4,dx=Math.max(38-x,0,x-217),dy=Math.max(38-y,0,y-217) let color=[22,133,118,dx*dx+dy*dy<=38*38?255:0] if(x>=64&&x<=192&&y>=39&&y<=216)color=[255,255,255,255] if(x>=163&&y<=68&&y<39+(x-163))color=[22,133,118,255] if((y>=89&&y<=95||y>=112&&y<=118||y>=135&&y<=141)&&x>=83&&x<=171)color=[144,199,185,255] const r=Math.hypot(x-158,y-183) if(r>=18&&r<=23)color=[22,133,118,255] for(let c=0;c<4;c++)png.data[i+c]=color[c] } const data=PNG.sync.write(png),head=Buffer.alloc(22) head.writeUInt16LE(1,2);head.writeUInt16LE(1,4);head[6]=0;head[7]=0;head.writeUInt16LE(1,10);head.writeUInt16LE(32,12);head.writeUInt32LE(data.length,14);head.writeUInt32LE(22,18) await fs.mkdir('build',{recursive:true});await fs.mkdir('dist',{recursive:true}) await fs.writeFile('build/icon.png',data);await fs.writeFile('build/icon.ico',Buffer.concat([head,data]));await fs.writeFile('dist/icon.png',data)