Add sheet save menu option to notes_browser_runnable.py — Currently sheets can only be saved via JSON-RPC API (sheet.save_page method). Need to add a menu option (File > Save) or toolbar button to allow users to save from the GUI without using the control socket. The control socket RPC method works perfectly but isn't discoverable to end users working in the browser UI. Status: API method verified working; this is a UX enhancement.
Input field text low contrast — The text typed into input_prompts fields is hard to read. Check foreground/background colour settings on the wx.TextCtrl in sheet_ui.py around the input field creation.
Cell start/elapsed time display — While a cell is running, show start time in the status label. When done, show elapsed time alongside Done/Error (e.g. "Done (4m 20s)"). Currently only shows "Done" with no timing info.
UI freezes while cell running — Browser hangs during long-running cells despite the two-process architecture. Investigate whether the kernel runs on the UI thread or the worker process. Expected: UI stays responsive throughout.
SOCKS_CLIENT_PORT should be an input field — Currently hardcoded in the config cell body. Should be an input_prompt like HOST so it can be set via API and avoids port collisions when provisioning multiple hosts.
— Complete guide to using the built-in plot() function for visualization in executable sheet cells. Includes function signatures, examples, and performance notes.
Interactive checkboxes on list items — List block items that have a status field ("open"/"done") should render as tickable checkboxes in the browser UI. Clicking should toggle the status and persist via the notes API. Useful for todo/tracking notes where either the user or Claude can mark items complete.
Completed (pending browser restart)
✓ Cell status label centring — added second stretch spacer in sheet_ui.py so the status text is centred between cell name and Run button. In git (2026-05-29); takes effect on next browser restart.
2026-06-05: Added File > Save Sheet menu item (Ctrl+S), enabled only when a runnable sheet is loaded. Fixed cell name label contrast (dark foreground colour on light header).