svg-geometry
SVG layout check: clipping, overlaps and empty shapes from supplied geometry — Checks up to 200 SVG shapes you describe (rect, circle, ellipse, line, polygon, polyline, text, or a path's bounding box) against the viewBox and viewport the way an SVG renderer would: finds shapes clipped or entirely outside the drawn region, shapes that render nothing (zero or negative size, unstroked line), partial overlaps between shapes, and a zero, negative or malformed viewBox, for agents
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"shapes": "<shapes>"
},
"name": "svg-geometry"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| width | No | Viewport width in px (the svg width attribute). | |
| checks | No | Subset of clip, empty, overlap; default all. Overlap reports partial overlaps only; a shape fully inside another (a label on a card) is listed as nested and never fails. | |
| height | No | Viewport height in px. | |
| shapes | Yes | Shapes in user coordinates (no transform). rect: x,y,width,height. circle: cx,cy,r. ellipse: cx,cy,rx,ry. line: x1,y1,x2,y2,strokeWidth. polygon/polyline: points. text: x,y,text,fontSize,textAnchor. bbox: bbox [minX,minY,maxX,maxY] for a path you measured yourself. | |
| viewBox | No | The viewBox attribute value, e.g. "0 0 800 600". | |
| preserveAspectRatio | No | Default xMidYMid meet. |