Implemented my shared world canvas and multitouch-handler library, so now we have canvas pan, individual piece rotation, and (after a lot of effort) cutting of rotated pieces!

The world canvas and multitouch handler were ripped out of #LetterSet into their own libraries, but I had only used their canonical version in #RandomForms, so this was a nice further use. Bonus: all testing for this has been done via my insane iOS-simulator-multitouch-mcp setup!

#swiftui #BuildInPublic

In the #LetterSet app, I have a library called paper-construction, which is used for creating construction and lined paper. I’m currently working on on on the opposite, paper-destruction, and it is lovely!

#swiftui #BuildInPublic

@Tinrocket @amyworrall if you’re up for it I’d read a folder of pdfs too. Full disclosure though: I do eventually want to make a drawing app based on the rulers I made for #LetterSet, so I understand if this is too close to home.

@stroughtonsmith I have been working on a “WorldCanvas” library for just this, but it’s taken so much work:
- a multi-gesture handler (for optionally simultaneous pan, zoom, rotate)
- a reusable world, that can translate gestures and position from non-world objects to world objects
- a testing framework for reliably testing both of the above, together

These are all done separately and in use in #RandomForms, but I won’t be confident in their reusability until I upgrade #LetterSet to use them.

Jesse James the #cat reminds us to always take time and smell the flowers! 🌼

#Caturday #LetterSet #typography #flowers

Test harnesses beget test harnesses.

This recording shows a new playground I’ve made to test a new “World Canvas” library. The demo encapsulates all of the common UX patterns from #LetterSet and #wishyouwerehere:
- multitouch-handler for simultaneous pan, rotate, zoom
- shape-elasticity for metal effects
- world-canvas for document-based pan / zoom / state
- protocol-based sheets with optional metal rendering.

#RandomForms #BuildInPublic #swiftui

#LetterSet #typography

Garamond has entered the chat in version 1.2.0, just for fun. Entertaining on an iPhone, quasi-useful on an iPad with pencil.

This new version is now live in the App Store, and the font is part of the free version.

https://letterset.app

LetterSet 1.2.0 is live with all of the good stuff:
- New rulers
- New font (Garamond)
- Higher quality authoring
- More weird interactions (like the very subtle sheet deformations on touch)
- Even a new iPad / macOS gesture for moving a sheet without rotation

And of course, the same arduous design experience... except much faster!

https://apps.apple.com/us/app/letter-set-typography/id6468196570

#LetterSet #BuildInPublic

In other news, the upcoming 1.2.0 version of #LetterSet fixes a long-standing, hard-to-track bug regarding complex documents becoming fuzzy over time? I thought maybe it was a scale mismatch or compression issue, but it turns out it was just because I wasn’t explicitly snapping to a pixel grid for each operation! That tiny <0.5px inadvertent rounding step eventually makes the oldest characters look badly compressed. See attached for old/new.

Fixed, finally!

#BuildInPublic #swiftui

Given all of the recent discussions, I decided to add Garamond into the latest builds of #LetterSet, and it looks good! Cc @gruber et al.

Related: I never get tired of looking at the clear protractor.