Summary
Add a reusable measurable-path abstraction for ellipse support and later path-following text.
Scope
- Add an internal measurable-path interface that can answer:
- total length
- point at distance
- tangent at distance
- normal at distance
- Provide a circle-backed implementation first.
- Add generic helpers for piecewise cubic paths.
- Reuse existing arc and cubic support in
pdf and svg where practical, while keeping ownership in the PDF/text geometry layer.
- Define an approximation tolerance and deterministic sampling strategy so tests stay stable.
Acceptance Criteria
- Add unit tests for path length and tangent/normal sampling.
- Ensure cubic approximation results are deterministic across runs.
- Confirm the existing circle implementation can switch to this abstraction without behavior regression.
Summary
Add a reusable measurable-path abstraction for ellipse support and later path-following text.
Scope
pdfandsvgwhere practical, while keeping ownership in the PDF/text geometry layer.Acceptance Criteria