# Screens and folders

> What the Visualization column lists and how it is organized: creating, copying, filing, renaming, reordering and removing screens and folders, the unit panels among them, the startup screen and who sees which screen.

The **Visualization** column of the [View](home) page lists every screen this station
shows: the dashboards you build, the folders you file them into, and the panels the
Process units put there. Choosing a row opens it on the stage. Organizing the list needs
the role's **Edit dashboards** permission; a role without it reads the list and opens what
it may see, and none of the verbs below is drawn for it. Every write here is refused while
engineering is locked (a unit is running) and while the runtime is stopped, with the reason
in the greyed verb's tooltip.

## Screens {#screens}

A screen of your own is a row with the icon picked in its [settings](view-settings), its
name, and its description as the tooltip.

| Command | Where | What it does | Greyed when |
|---|---|---|---|
| New dashboard | The footer's **New…** menu, or a folder row's right-click menu | Creates "New dashboard" (24 × 12, no components) at the end of the list, at the top level or inside the folder you right-clicked, and opens it on the stage. It does not enter the editor: press **Edit** on the bar to start composing. The empty stage's **New dashboard** button does the same. | Engineering locked, runtime stopped. |
| Copy | The stage bar | Makes an editable copy of the open screen: its components and every connection between them are cloned with fresh identities, the copy lands in the same folder and takes the original's name with "(2)", "(3)" and so on until a name is free, and it opens in the editor. The copy is never the startup screen. | Nothing is open, engineering locked, runtime stopped. |
| Move dashboard up / Move dashboard down | The footer, while the editor is open | Swaps the open screen with its neighbour inside its own folder (or among the top-level screens). A folder sits where its topmost screen sits, so pushing the first screen of a folder above the previous one carries the whole folder with it. | The screen is already first or last among its siblings; the open entry is a unit panel (its order follows the model). |
| Delete | The editor's **Dashboard** area | Removes the screen and everything on it. It is documented with the other [dashboard settings](view-settings). | |

Two screens may share a name; nothing addresses a screen by its name or its folder. A
screen's place in the list is the order the reorder verbs write; a new screen and a copy
always land last.

## Folders {#folders}

A folder holds screens and one more level of folders: two levels at most. It exists for
either of two reasons: because you declared it (it stands with nothing in it until you
file something) or because a screen names it in its path. Folder names compare without
regard to case, so "Furnace" and "furnace" are one folder, and the first spelling seen is
the one the list shows. Filing is purely navigational: nothing addresses a dashboard
through its folder, so renaming or moving one rewrites no reference anywhere.

| Command | Where | What it does | Refused when |
|---|---|---|---|
| New folder | The footer's **New…** menu (top level) or a folder row's menu (a subfolder inside it) | Declares the folder as "New folder" (then "New folder 2" and so on, the first name free beside its siblings) and opens its name field on the row at once. Type the name and press Enter or leave the field; Escape leaves it called "New folder". | The row is already a second-level folder (its menu offers no New folder), engineering locked, runtime stopped. |
| Rename folder | A folder row's menu, or the bar while the folder is open | Turns the row into a name field. The new name carries the folder's subfolders and every screen inside with it; folders you had open stay open under the new name. | A blank name or one containing "/" ("A folder needs a name, and a name cannot contain '/'."); a name already taken beside it ("There is already a folder named '…' here."), because merging two folders is a move and has to be asked for as one. Re-spelling a folder's case is allowed. |
| Remove folder | A folder row's menu, or the bar while the folder is open (danger ink) | Asks first, counting what moves: "Remove the folder 'X'? Its N screens move back to the top level of the list. No dashboard is deleted." Every screen it held, subfolders included, returns to the top level and the folder stops existing. | Engineering locked, runtime stopped. |
| Move to | A screen row's menu | A submenu of every destination: **A new folder** (made around this screen), **A new subfolder here** (offered only while the screen sits in a top-level folder), **The top level** (greyed when it is already there), then every folder the list draws, the empty ones included (the current one greyed). The destination unfolds so the moved screen is on screen. | Engineering locked, runtime stopped. |

The chevron of a folder row folds the group; pressing the name opens the folder on the
stage, and the row takes the same accent a picked screen takes. Every folder arrives folded
when the page opens; which ones you unfolded is yours for the session and never saved.
**Expand all** and **Collapse all** in the footer sweep every folder at once and are greyed
while there is no folder to open.

Folders are ordered where their topmost screen is; a folder holding no screen anywhere
below it goes after the ones that do, in name order among its own kind, so a fresh folder
is always found at the foot of its level. An organizing role sees every declared folder,
empty or not; any other role is handed only the folders holding at least one screen it may
see, so a role's hidden screens never leave it shells that open onto nothing.

## The folder overview {#the-folder-overview}

A folder open on the stage draws what it holds. One line says what is filed there directly
("One screen is filed here. Open its card to run it.", "N screens are filed here. Open a
card to run one.", "No screen is filed here directly. Open one of the folders below to see
what it holds.", or "Nothing is filed here yet."). Its subfolders come first as small rows
carrying the name and how much each answers for ("No screen", "1 screen", "N screens"); a
press opens that folder. Then one card per screen filed directly here: the screen's icon
(the generic screen mark when it picked none), its name and one line of its description.
The whole card is the press. A folder holding nothing at all says: "This folder holds no
screen yet. Right-click it in the list to make one here, or move a screen into it from that
screen's own menu."

## Unit panels among the screens {#unit-panels-among-the-screens}

The entries a Process model puts here stand for a unit, not for a layout: one per unit for
every panel or screen of the model marked **Show on View** in the Process workspace
([Panels](process-panels), [Dashboards of a model](process-dashboards)). Each is named
`Model · Unit · Surface` and carries the icon picked on the panel or the screen; one that
picked none takes the fixed mark the Process tree draws for that kind of node, so both
lists agree. The unfiled ones stand under the **Unit panels** heading after the tree; you
may file one into any folder from its row's menu like a screen of your own, and inside a
folder whose name is the model's or the unit's the row drops that segment and reads, for
example, `Unit 2 · Overview`. The stage bar never shortens it: it always reads the whole
name.

A unit entry is never copied, edited or reordered here: **Edit in Process** on the bar opens
the model's own row for a role that may manage models. Seeing one needs the **Look at
models** permission and ignores the screen visibility checklist; operating one needs **Run
procedures**. What the entry draws is [Unit panels on View](view-unit-panels).

## The startup screen {#the-startup-screen}

One dashboard may carry **Show at startup** in its [settings](view-settings); turning it on
clears it on every other screen. Each connection opens on that screen, or on the first
screen in list order when none carries the flag; a `/d/{id}` address overrides it for that
visit only. A unit entry is never the startup screen, and a copy never inherits the flag.

## Who sees which screen {#who-sees-which-screen}

The **Visible to** checklist in the [dashboard settings](view-settings) decides which
roles list and open a screen, by the list and by `/d/{id}` alike. Nothing checked means
everyone; a checked list means only those roles, with Admin seeing every screen
regardless; the "Not signed in" role takes part like any other, so a kiosk tablet checks
only its own screens. A checked role that was since deleted counts as not checked, so a
screen can never become unreachable. A unit entry ignores the checklist: seeing it follows
the Process permission above.

## Thumbnails {#thumbnails}

The Visualization column and the folder overview draw no picture of a screen: a row is its
icon and name, a card its icon, name and description. A screen is drawn small, as itself,
only where the Process workspace arranges a panel and previews a screen card inside it
([Panels](process-panels)). That preview is the real screen on its own grid, posed with
empty readings (dashes on indicators, charts with no series), the chart kinds drawn as a
silhouette of their shape rather than a live engine, without its connection lines, and
inert: a picture of a plant never operates one. A screen with no component reads "Nothing
on it yet".

## What the column does not do {#what-the-column-does-not-do}

It never nests folders three deep: a path stored deeper is read down to two levels rather
than hidden. It never deletes a screen; removing a folder only empties it. It never files a
model's own screen definition (that belongs to the Process tree), only the per-unit
entries. And it keeps nothing of your browsing: the folds, the open folder and the
selection are per connection and gone with it.
