The first slice - a traced alphabet, three practice screens, and a scorer that tells the truth #1

Open
opened 2026-10-18 13:14:22 +00:00 by jimmy · 0 comments
Owner

Destination

The first slice of ductus runs on Jimmy's iPad. The 26 lowercase Latin print letters are traced from a textbook chart into glyph files. Each letter can be watched, traced and copied with the Apple Pencil. After the pen lifts, the app shows the overlay, the generic faults and a score, and the attempt is stored. The slice proves two things: the glyph model stores how a letter is made, and the scorer says something true about a real stroke.

Notes

The design is docs/design.md in this repo, from the grilling interview of 2026-09-15. It holds fifteen rulings, and this map does not repeat them. In short: a glyph is a list of ordered strokes, and each stroke is a path of cubic Bezier segments with a direction, in em-space on named guide lines. PencilKit captures the ink. The scorer resamples both paths by arc length, measures the distance with dynamic time warping inside one tolerance tube scaled to the x-height, and fails a stroke outright for the wrong count, the wrong order or the wrong direction.

The main risk is the scorer. If its verdict on a real stroke does not match what a person sees, the overlay and the faults teach nothing. The scorer prototype answers this early, on synthetic strokes, before the authoring mode exists.

The authoring mode is day-one work, because the exemplars are traced through it. It blocks the 26 letters, and the letters block a real test of the practice screens.

The app signs with Jimmy's own Apple team, L9G66SYUL8, and not with Volente LLC. It is personal and unshipped, and it runs from Xcode until TestFlight is worth it.

Skills every session consults: house-style for every word, write-swift before any Swift, and grilling for a decision ticket.

Decisions so far

Not yet specified

  • The tolerance value, which starts near 8 percent of the x-height and is tuned on real strokes, and the multiplier for each difficulty level.
  • The code layout: an engine package beside the app target, or one app target with folders.
  • The uppercase set, which follows the lowercase set.
  • When TestFlight replaces the Xcode build.

Out of scope

  • Consistency scoring, the second exemplar from Jimmy's own hand, and recall with a spaced repetition scheduler.
  • Tolerance for each segment, KanjiVG and hanzi import, cursive with joins, and calligraphy with nib angle and pressure. The schema keeps the join anchors from the first version, but nothing uses them yet.
  • Printable practice worksheets. The tracing chart that authoring needs is in scope.
  • Vision recognition, a learned quality model and personalization. The first slice is geometry only.
  • PDFBuilderKit on iOS, and the App Store.
## Destination The first slice of ductus runs on Jimmy's iPad. The 26 lowercase Latin print letters are traced from a textbook chart into glyph files. Each letter can be watched, traced and copied with the Apple Pencil. After the pen lifts, the app shows the overlay, the generic faults and a score, and the attempt is stored. The slice proves two things: the glyph model stores how a letter is made, and the scorer says something true about a real stroke. ## Notes The design is `docs/design.md` in this repo, from the grilling interview of 2026-09-15. It holds fifteen rulings, and this map does not repeat them. In short: a glyph is a list of ordered strokes, and each stroke is a path of cubic Bezier segments with a direction, in em-space on named guide lines. PencilKit captures the ink. The scorer resamples both paths by arc length, measures the distance with dynamic time warping inside one tolerance tube scaled to the x-height, and fails a stroke outright for the wrong count, the wrong order or the wrong direction. The main risk is the scorer. If its verdict on a real stroke does not match what a person sees, the overlay and the faults teach nothing. The scorer prototype answers this early, on synthetic strokes, before the authoring mode exists. The authoring mode is day-one work, because the exemplars are traced through it. It blocks the 26 letters, and the letters block a real test of the practice screens. The app signs with Jimmy's own Apple team, L9G66SYUL8, and not with Volente LLC. It is personal and unshipped, and it runs from Xcode until TestFlight is worth it. Skills every session consults: `house-style` for every word, `write-swift` before any Swift, and `grilling` for a decision ticket. ## Decisions so far <!-- one line per closed ticket: the title as a link, then the gist --> ## Not yet specified - The tolerance value, which starts near 8 percent of the x-height and is tuned on real strokes, and the multiplier for each difficulty level. - The code layout: an engine package beside the app target, or one app target with folders. - The uppercase set, which follows the lowercase set. - When TestFlight replaces the Xcode build. ## Out of scope - Consistency scoring, the second exemplar from Jimmy's own hand, and recall with a spaced repetition scheduler. - Tolerance for each segment, KanjiVG and hanzi import, cursive with joins, and calligraphy with nib angle and pressure. The schema keeps the join anchors from the first version, but nothing uses them yet. - Printable practice worksheets. The tracing chart that authoring needs is in scope. - Vision recognition, a learned quality model and personalization. The first slice is geometry only. - `PDFBuilderKit` on iOS, and the App Store.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
jimmy/ductus#1
No description provided.