>Does this address the offline/online scenario?
In one way it does but I think offline will demand more work. All clients have what is currently called a sync-engine which is responsible for performing the diffs/sync stuff and also storing of data. How data is stored is then decided by the sync-client which in addition implements the networking that will be used. So, the current clients are all WebSocket based but we could provide others that use a native networking transport where available. At least that is the idea.
Not sure if that makes sense and you are right a diagram would help. Let me see what I can do.
>I assume the server-side database is also being updated?
Yep, but at the moment we are only we only providing an in-memory datastore. But we can provide different storage options similar to what we do for Simple Push at the moment.