Fork me on GitHub
#matrix
<
2024-05-23
>
chromalchemy12:05:32

More front-end concurrency crazyness, https://dev.to/nikolaysuslov/krestianstvo-electric-lazy-reflector-for-croquet-vm-4k93 . Sorry if not on topic, but high level reminds me of your talks on non-glitch fundamentals, , but maybe applied over network?

👀 1
chromalchemy13:05:02

time sharing and temporal recursion concept. Any object is tied to some concrete Island (isolate), which by itself is surrounded and floating in the sea of messages. The messages are holding the TeaTime (or Virtual Time), which essentially determines what object is with it’s history (the state in other words).> Objects communicate within each other by sending and receiving Future messages, that never go through the network. Thus, applications are local-first by default and all object’s data is located on the e/client. > > discrete timestamp generator (aka Reflector server). The Reflector should produces periodic ticks (~25-50 ms) and also timestamps all external messages coming from the views, then replicates these messages back to all connected peers of some concrete session (Island). If Reflector will not produce any messages, the VM will be suspended, waiting for any. In simple words, Reflector periodic ticks are needed for any animated in time simulation go forward. But, the high frequency Reflector becomes redundant for simulations with slow rates for example or in the applications with no time-animated simulations at all. > > The Lazy Reflector is ticking and time-stamping only on demand, staying the most time idle and laziness - not producing any work at all! However it guarantees, that all connected peers will get just the same ticks and time stamped messages, without missing a single one! As it is based on backpressured Electric continuous lazy server clock. > That perfectly fits Croquet architecture, as in general the most application work is done locally by the clients themselves. That includes involving Future messages with temporal recursion that producing no network traffic at all (future messages never going to the Reflector).

kennytilton20:05:46

Oooooh! I like the idea of a central interval tick generator! Esp. for Flutter and I guess mobile in general, which does a lot of animation. Never thought of that. Otherwise, yep, sounds like we are working in the same ballpark.