mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-10-24 09:46:59 -06:00
Round a closed path the editing data's text document writes the end of the type's range unwrapped, past the last segment (the start plus the run), or wrapped the other way. The importer clamped it to the path's end, so the type kept only the stretch from its start bracket to the path's end and overflowed. Both brackets are now wrapped onto the loop (non-finite values fall back to the start); an open path is clamped as before. The object's own path that then replaces the frame is written open, ending on its start: such a path is now closed where its ends meet, so the span is measured round the loop. Hand-written tests: an unwrapped, a reversed and a negative range on a closed circle, a range inside it, an exact full turn that fits a short line, an open path still clamped, and a path ending on its start closed.