Learn / Foldkit Plus

Choose who owns the state

What you are addingAuthoritative ownerExtension
Local UI state or a reusable widgetParent Model and its update/child updateBundle, Primitives
Facts loaded from a serverServer; the client cache is disposableRemote
Offline edits that must convergeClient-authored operations in an authoritative journal orderSync + Durable
Offline edits to rows a server ownsThe journal; the table is its read modelSync (/entity, /journal) + Remote
An interactive grid over the application's rowsThe grid's Bundle for focus, selection and columns; the rows stay the application'sData grid
A URL or remembered preferenceLocal Model; the external value is a representationMirror
Agent access or a customizable viewExisting state and transitionsAgent, Surface, Mixins

A Surface can observe several owners. Observing a field does not grant a second package permission to change it outside its owning transition.

intent → Message → update → Model → Projection / Surface → consumer
                      |
                      └→ Command → result Message → update