import assert from 'node:assert/strict' import {roofRasterSize,sharpenRoofRgba} from './roof-raster-quality.mjs' assert.deepEqual(roofRasterSize([54,53],{maxDimension:64}),[64,63]) assert.deepEqual(roofRasterSize([54,53],{maxDimension:512,metresPerPixel:.263}),[206,203]) assert.deepEqual(roofRasterSize([224,209],{maxDimension:512,metresPerPixel:.263}),[512,478]) assert.throws(()=>roofRasterSize([54,53],{maxDimension:1024})) assert.throws(()=>roofRasterSize([0,3]));assert.throws(()=>roofRasterSize([54,53],{metresPerPixel:0})) const uniform=Buffer.alloc(5*5*4,130) assert.deepEqual(sharpenRoofRgba(uniform,5,5),uniform) const edge=Buffer.from(uniform);edge[48]=255;edge[49]=0;edge[50]=250 const before=Buffer.from(edge),out=sharpenRoofRgba(edge,5,5,.5) assert.deepEqual(edge,before,'never mutate source image') for(let i=0;isharpenRoofRgba(edge,5,5,.6)) console.log(JSON.stringify({passed:true,sizingCap:true,alphaPreserved:true,maxChannelDelta:8,neutralFieldUnchanged:true}))