session-surface¶
Provenance¶
- Source:
.spec/spexcode/spec-dashboard/dashboard-ui/settings/session-surface/spec.md - Source SHA-256:
5c3d053f37b6079baf0f0f7db358a10d518c4ba047ac661bed46f3a295f4d6dc
session-surface¶
A pane-backed session has one visible base surface: Terminal or Conversation. This store owns that local
presentation choice, not session state. Its scoped localStorage payload contains a default and only explicit
per-session overrides. Valid values are exactly terminal and conversation; the default is Terminal.
Resolution is explicit session override, then the saved default, then Terminal. Updating the default never rewrites session overrides. Updating a session override publishes the new value to the currently mounted console immediately. The storage key includes the current project scope, so one browser's choice for project A cannot affect project B; browser storage remains optional, with the same live in-memory result while unavailable.
Headless sessions do not consume this store: they are always Conversation. Resource tabs are likewise outside this store; they temporarily cover the resolved base surface and return to it when closed.