The notebook API could be a way to look inside files other than text right from your project window, somewhat like the way you can click an image, but richer. The problem is the API treats certain things as persistent unconditionally, as far as I can see. The specific case I have is looking inside a disk image. The user clicks on the disk image and the disk directory is shown in an output cell. Code cells can do things like change directories, hex dump a file, etc..
This works great until persistence comes in. Once a code cell is created VS Code assumes we want to save the notebook, but the notebook contents and file contents are unrelated, so this makes no sense. There is a workaround I found, but it is rather abusive. Treating the notebook as transient is the right way. Can it be done?
Side note: I thought about using the term "read only notebook" but this implies the notebook is the thing you are reading. "Transient notebook" seems to be a better term.