import { writeFileSync } from 'fs'
import { rgbaToThumbHash } from './thumbhash.js'
const COUNT = 300
const mix = (n) => {
n = Math.imul(n ^ (n >>> 16), 2246822507) >>> 0
n = Math.imul(n ^ (n >>> 13), 3266489909) >>> 0
return (n ^ (n >>> 16)) >>> 0
}
const out = []
for (let i = 0; i < COUNT; i++) {
const w = 1 + (mix(i * 3 + 1) % 100)
const h = 1 + (mix(i * 3 + 2) % 100)
const rgba = new Uint8Array(w * h * 4)
for (let k = 0; k < rgba.length; k++) rgba[k] = mix(i * 1000003 + k) & 255
if (i % 2 === 0) for (let k = 3; k < rgba.length; k += 4) rgba[k] = 255
out.push({ w, h, hash: Buffer.from(rgbaToThumbHash(w, h, rgba)).toString('base64') })
}
writeFileSync(new URL('.', import.meta.url).pathname + 'generated.json', JSON.stringify(out) + '\n')
console.log(`${out.length} vectors; first ${out[0].w}x${out[0].h} ${out[0].hash}`)