| 159 | `<line ${attrs({ x1: round(a.x), y1: round(a.y), x2: round(b.x), y2: round(b.y), stroke, "stroke-width": w, opacity: o, "stroke-linecap": "round" })}/>`; |
| 160 | |
| 161 | const circle = (p: Pt, r: number, fill: string) => |
| 162 | `<circle ${attrs({ cx: round(p.x), cy: round(p.y), r, fill })}/>`; |
| 163 | |
| 164 | const text = (p: Pt, s: string, fill: string, size = 15) => |
| 165 | `<text ${attrs({ x: round(p.x), y: round(p.y), fill, "font-family": "ui-monospace,monospace", "font-size": size, "font-weight": 600 })}>${escapeXml(s)}</text>`; |