What's structurally distinctive

4 things AtCollection<T> does that the comparable Dart CRUD libraries (Firestore, Isar, Drift, Hive, Supabase) cannot:

  1. Per-record ownership, with item.owner enforced in Dart at the type boundary.
  2. Multi-destination sharing as a field on the record, with sharedWith: {@bob, @carol} diffed on every update.
  3. Read receipts built in: owner-side item.readBy : Future<Set<Atsign>>, populated from a reserved __rr sub-collection.
  4. Sub-collections with parent-scoped lifetime: cascade delete on the live path, plus cleanupOrphans() for the offline-recovery case.

End-to-end encryption is the architectural floor underneath all 4.