RhythmCal MVP: Energy-Aware AI Scheduler Chrome extension

This commit is contained in:
Bun Bun
2026-06-15 18:31:50 +00:00
commit aecb5face5
26 changed files with 2635 additions and 0 deletions
+26
View File
@@ -0,0 +1,26 @@
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(', '));