instant | Bootstrap includes all instances; data available from first render | Small, always-needed models (users, teams, labels) | Adds to bootstrap payload size |
lazy | Not included in bootstrap; fetched on first access via hooks or relationship traversal | Models needed only on some pages (attachments, activity feeds) | First access has network latency; only accessed instances available offline |
partial | Loads a relevant subset at bootstrap; fetches remaining instances on demand | High-volume models where only a slice matters (comments, notifications) | Requires partial index tracking in IndexedDB |
explicitlyRequested | Never auto-loaded; fetched only via client.get() or client.query() | Large or sensitive models loaded on specific pages (audit logs, analytics) | No data present until you request it |
local | Never synced; stored only in IndexedDB and the in-memory identity map | Client-only state (drafts, UI preferences, unsent messages) | No server backup or cross-device access |