square_float_to_axial_hex_grid = {
const SQRT3 = Math.sqrt(3),
ratio = [Math.sqrt(4/3), Math.sqrt(Math.sqrt(4/3)), 1][hexsize];
if (pointy_top) return (x, y) => {
x = ratio * 0.5 * (SQRT3*x - y), y *= ratio;
return axial_round(x, y);
}
else return (x, y) => {
y = ratio * 0.5 * (SQRT3*y - x), x *= ratio;
return axial_round(x, y);
}
}