Spaces
A space is a named set of panes: sessions, documents, apps and web pages, open side by side for one body of work. How the panes in a space are arranged is its layout. Spaces are data, so a person and an agent can both change them. An agent working on a review can lay out the diff beside the spec, then hand the space back.
How it works
Spaces belong to your World, not to a project. One space can hold a session from one project beside a document from another, and every project is reachable from every space. You move between spaces from the strip of spaces in the window, or with ⌘1 to ⌘9.
All your spaces live in one document that the World points to, so the same spaces, with the same layouts, are on every device.
A space only arranges work. A pane shows a session or a document that lives in its project, so closing a pane or a whole space deletes nothing.
An agent's changes land where they belong. When an agent opens something, it opens in the space the agent's session is in, not in whatever space you happen to be looking at. An agent can also reach a pane in a space that is off screen without moving your window (see layouts).
Using it as you build
Agents arrange spaces with set_view. Each field is optional, and one call can do several things:
set_view { "createSpace": "Reset review", "open": "<documentId>" }
set_view { "openSession": "<sessionId>", "layout": "columns" }
set_view { "renameSpace": "Reset review = Reset v3" }
set_view { "closeSpace": "Reset v3" }
read_view lists the space on screen and what is in every other space, so an agent can find where a document already has a pane before opening a second one. See awareness.
You decide your own spaces and how they are arranged. A session without write access can still open pages and change the layout, but it cannot make, rename or close a space.
Limits
- The last remaining space cannot be closed.
- The Mac app has one window. Spaces switch inside it.