mirror of
https://github.com/narrrl/narl-workspace.git
synced 2026-11-04 00:47:01 +01:00
The open node, its draft, whether it is being written and whether that is saved, the autosave timer and its back-off, the fresh-document marker, the board to go back to and the editor's vim mode move out of Workspace into a Tile. The workspace holds `tiles` and `focused`, always at least one tile, and the old names are getters on the focused tile, so the call sites read as before. Nothing visible changes yet: there is one tile. `flush()` writes every dirty tile, deleting, moving, renaming, sharing or sealing a node updates every tile that shows it, and the page warns before unloading when any tile is dirty. The panes and the editor are handed their tile, and fill the shared hooks only while that tile has focus; the others stand by. Vim's actions are defined once for the page and act on the editor the key was pressed in, rather than on whichever editor happened to be mounted last.