Trying to help map the cell structure of a reactiv...
# devlog-together
t
Trying to help map the cell structure of a reactive runtime. WIP this is overwhelming but it looks pretty. The clumps are modules. The concentrated rainbow arc is pointing at the stdlib. It does communicate the intense collaberation inside a module and the sparse connections between modules though.
❤️ 6
So I got somewhat mesmerised by this and it doesn't explain the
variable <-> cell
relation at all, but it looked too magical not to use. So now its a fancy index. Clicking will open the cell under the mouse. Coloring the modules has worked well, I would like to extend the color codes to the module tabs as well to help correlate the concept that a tab is a module, but I can't fall too deep into this hole just yet. I need a graphic to explain cells and this ain't it.
ok so this I think is closer to at least depicting that some reactive variables are bundled (the fat lines). Its a closeup of the earlier chart. The variable on the left has all its dependancies unrolled. Reminds me of the tube map. Every dot is a hyperlink that takes you to the cell. I keep hearing transclusion in the literature, I thought I wasn't really doing transclusion because they are real links, but because the links don't navigate the top view I guess they are transclusion actually.
g
If you care to spend time further expanding on this, I need more hand-holding. There are 4 shapes - circles, squares, triangles, plus signs. There are 3 kinds of lines - solid, dashed, fat. There are several colours - orange, blue, green, red. And there's black text. My knee-jerk reaction is that each of these has a separate meaning, which I don't grok yet.
t
I am so glad you said that! The main point of this visualization is to provoke the reader into noticing a knowledge gap of the programming model. Those cells are clickable, so without that interaction part you can't close that gap autonomously. The interactive notebook is now published here https://observablehq.com/@tomlarkworthy/cell-map Still, it would take a fair amount of detective work to solve it still. The programming model is written here. "Cells can be views" and "Cells can be mutables" are relevant to the symbols. The square ones are imports, you can see the cell colors change when bridging via a square. The circles are simple dataflow cells which is probably the first thing you would implement if designing a dataflow language, they are just functions (actually they can also be generators, probably that should be reflected in the symbology too as they act quite different).
As that work is finished now I put it in #CCL5VVBAN https://futureofcoding.slack.com/archives/CCL5VVBAN/p1751789288245649