Repository navigation
Bopa 0.7.0
Groundwork for daily notes. There is nothing new to see in the app — this release exists so that the format is on both devices before either starts writing it.
The plan is one vertically infinite canvas per calendar day, on which you lasso a region and link it to a notebook; the notebook then shows those linked day-regions beside its own pages. This is the first of four changes toward that, and it is entirely below the waterline.
- Identifiers both devices compute rather than mint. A journal notebook, a day's page and the folder they live in take ids derived from the year and the date, the same hashing the page split has used since sheets existed. Two tablets that open the same Tuesday with no network write to one page and merge it, instead of making two that nothing can reconcile.
- A page may declare that it does not end at its sheet. A day is not a sheet of paper that ran out, so a page marked
layout: "scroll"is exempt from the division that otherwise cuts a tall page into one page per sheet. Such a page still writes a height covering its ink, which is what stops an older build carving a day into pieces. - A block may point at a notebook. The
linkkind carries the strokes a region was lassoed from, a cached rectangle and the notebook (optionally the page) it points at. The region follows the ink if it is moved; erasing the ink hides the link rather than deleting it; nothing is ever written into the target, so "what links here" stays a local scan.
Validation: GitHub Actions on the release commit — NotableKit, the App unit tests on an iPad simulator including the XCUITest suite, the Mac Catalyst build, and the notable merge-vector check. All green; nothing was built locally, which on this side is not a preference but a constraint — NotableKit needs CryptoKit. Fifteen new conformance vectors went in with the change, and each new merge vector was additionally checked against an independent transcription of the merge for all four required properties; that transcription also reproduces all 47 pre-existing page and notebook vectors.
Compatibility: three additions to the sync protocol (§1.3 derived identifiers, §3.3.3 layout, §3.3.1a the link block) and no new document types. Pages sync with Notable 0.53.0, which gains the same three. An older peer is the reason the rollout is staged this way: it carries an unknown block kind through untouched, but it erases an unknown field the next time it writes the document back, so layout has to reach both devices before anything writes it.
This is a GitHub source release. It does not distribute an App Store or TestFlight build.