export function is_in_range (number, min, max) { return number >= min && number <= max; } export function clamp (number, min, max) { return number < min ? min : number > max ? max : number; } export function range (start, end) { const result = []; for (let n = start; n <= end; n++) { result.push(n); } return result; } export function iter_2d (range_1d, callback) { for (const y in range_1d) { for (const x in range_1d) { callback(x, y); } } }