forked from 1b-agent/opencadstudio-upstream
TRIM ignored circles: the target dispatch handled Line/Arc/Ellipse/ Spline/Ray/XLine/LwPolyline but had no Circle arm, so clicking a circle fell through to a no-op. Add `trim_circle()` — a full circle needs ≥2 boundary crossings; the arc segment under the click is removed and the circle becomes a single Arc (center/radius/thickness/normal preserved). Wire it into both the pick (apply) and hover-preview paths. Also fix `arc_pts`, which emitted points as [x, y, cy+r·sin] — the XZ plane — so arc and circle previews drew in the wrong plane (obvious on a full circle). Match the XY convention used by line_pts and fillet's arc_pts: [cx+r·cos, cy+r·sin, z]; callers now pass center.z. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>