Diffing with the initial notebook state can be significantly bigger than diffing with the "previous" state, especially if there is a file input somewhere. In this proposal we would send both the current C and the previous P state values and caclulate the diff between P and C, then send this diff back to the client.
Given that state Pmust be already calculated by the same server, it could be memoized already somewhere in the server, to avoid duplicate calculations (given no rand(), of course)
Note that PlutoSliderServer currenty always diffs to the initial state of each notebook.
Diffing with the initial notebook state can be significantly bigger than diffing with the "previous" state, especially if there is a file input somewhere. In this proposal we would send both the current
C
and the previousP
state values and caclulate the diff betweenP
andC
, then send this diff back to the client.Given that state
P
must be already calculated by the same server, it could be memoized already somewhere in the server, to avoid duplicate calculations (given norand()
, of course)Note that PlutoSliderServer currenty always diffs to the initial state of each notebook.