Here I have four table inputs: collections, models, backdrops, and symbols. Models, backdrops, and symbols depend on the collections value, so if it changes, they get rebuilt. Now the issue is I’m trying to place all four in a custom layout like the one in the notebook, but this way the layout will be dependent on the four inputs so when you select a collection, the other three inputs change and cause the layout to reset and the collection scroll gets reset too, which is very annoying. Is there a specific feature to do what I’m trying to achieve, or how must I fix it?
First, I have been loving your work!
Second, I made this notebook for exactly your problem. This uses a state cell with an update and subscribe method to share variable without restarting a cell.
The idea is you create each cell below, and then detach them to be part of a dashboard cell. But fair warning, in notebook 2.0, the detach cells currently show their full cell code because you can only collapse cells that are display()ing something. I think they are still working on 2.0, so this might change eventually.
I’ve actually wanted to fork some of your notebooks and put them in this format so I can enjoy them in full screen with inputs on the side.
If you want a simpler solution, here is a way to update d3 charts without triggering an update:
Thanks! I get the idea, but it’s a bit hard. I wish Observable had a special function or feature that lets you just move around the view of a cell easily.
Looking forward to what you come up with. I’ve always wanted to learn about fractals and your stuff makes it accessible. And wow, the black hole simulator blew my mind. I wonder if we will see a movie with orbiting black holes, and we can trace it back to your post lol.
Grid Container | Tom Larkworthy | Observable is my attempt at this problem. When on my github pages moving the container updates the source code so you don’t need to manually key in the coordinates
you could use that to figure out the settings.
Super common and fundamental issue, especially for any kind of “dashboard”, which represents a ton of our business use cases! Years ago we tried building a cell layout feature, but it was janky and frustrating and we never shipped it. In Observable Framework, you could interpolate reactive values into the page layout. In Observable Canvases, dashboards let you lay out reactive nodes two-dimensionally. So I think we’ve “learned our lesson” but haven’t brought the capability back to notebooks yet.
Notebook Kit has the concept of a “template”, which I think gets us closer. I have this old four-line PR to let you drop cells into designated slots in the template:
So then one can imagine, within the product, being able to define some “view” that embeds multiple variables without entirely re-rendering any time any of those variables changes… hm…
