registerShape("pin", (x, y, width, height) => {
const w = (width * 2) / 3;
const h = Math.max(w, height);
const r = w / 2;
const cx = x;
const cy = r + y - h / 2;
const theta = Math.asin(r / ((h - r) * 0.85));
const dy = Math.sin(theta) * r;
const dx = Math.cos(theta) * r;
const x0 = cx - dx;
const y0 = cy + dy;
const cpX = x;
const cpY = cy + r / Math.sin(theta);
return [
["M", x0, y0],
["A", r, r, 0, 1, 1, x0 + dx * 2, y0],
["Q", cpX, cpY, x, y + h / 2],
["Q", cpX, cpY, x0, y0],
["Z"]
];
})