Spreadsheet Lens

Lenses have totally reshaped my programming world model. Things I did not think were possible are possible. I thought a thing had to choose between being a spreadsheet or a notebook, but with lenses it can be both at the same time

a cell is called B1, and that then appears in a spreadsheet layout. You have the normal spreadsheet affordances, which write back into the runtime. So the spreadsheet view is a projection of the notebook, and you can author on either *

My learnings on lens started with svg-lens then grid-container, DAW, annotate and this is next in the lens exploration series.

Its nowhere near as scalable as something like Excel. Adding a column has to rewrite a ton of cells for instance, I expect real excel can do more optimizations than off-the-shelf Observable Runtime can, but it is computing the spreadsheet reactivity graph through the normal Observable Runtime graph and not creating its own reactivity abstraction. So you can delete the spreadsheet cell, lose the visualization… but the underlying cells continue to calculate properly as if nothing had happened.

* well, all changes are forgotten on reload unless you serialize the runtime (e.g. Exporter 3 / Tom Larkworthy | Observable )