Reverie: one book across several views
Reviewed September 6, 2026.
Reverie’s Book model gives a book a stable app-level UUID. The library, shelves, review pages and logs can refer to the same record rather than each holding an unrelated copy.
Structure and handwriting
SwiftData with CloudKit mirroring supplies the structured records. PencilKit supplies the freeform layer. These have different jobs: records connect views; ink preserves freeform input.
Model evolution
The inspected source explains its defaults, optional fields and optional relationships in relation to CloudKit. Later-added composite storage remains optional for compatibility with older saved records. A complete migration account would need fixtures and cross-device testing; those were not run for this site.
Attribution
Reverie Reading adapts the Reverie Ink Designs Digital Reading Journal. The original journal artwork is not reproduced here and should not be presented as original Labs artwork.
Sources
Sources/ReverieReading/Models/Book.swift, GitHub HEAD 9a22d50- Reverie Reading repository
- Project
- Article