Skip to content

The workspace

Every part of the editor window named once — the rail and its lists, the tabs and the pages, the panels, and every keyboard shortcut that is real.

All documentation — Start here
On this page

This page names every part of the window and lists every keyboard shortcut that exists. It is the page to come back to when something in another page is called a thing you do not recognise.

The activity bar

The narrow rail down the left edge, 40 pixels wide. There is only one. Its buttons switch section, and a section decides one thing: which list the side drawer beside the rail shows. It never decides what the editor area shows — that is whichever tab is in front, and the tab strip stays on screen in every section.

The rail, in the order it appears:

#ButtonShortcutThe list it shows
1Node EditorCtrl+1Boards
2DocumentsCtrl+2Lore documents and spreadsheets
3EntitiesCtrl+3Entity items — the instances
4Entity DefinitionsCtrl+4Definitions and traits — the shapes
5TagsCtrl+5Tags and tag folders
6VariablesCtrl+6Variables, contexts, enums and bitmasks
7CommandsCtrl+7Command declarations
8Node Types—Node types, with a Palette button in the list’s title row
9MediaCtrl+8Uploaded images, video, audio
10Voices—Voices, with Cast · Lines · Music · Sound FX buttons in the list’s title row
11Screenplay—None — it opens the Screenplay tab and leaves the list where it was
12LocalizationCtrl+9Three pages: Export & Import · Strings · AI batch translation
13AI Generation—Three pages: Embeddings · Usage & Costs · Model Credits

The editor opens on Node Editor. The section you were last in is remembered per browser and restored on the next visit.

Play is not on the rail. The Play button in the header, over a board, opens the player as a tab — see Play mode.

Above them sits Search All. Below them, pinned to the bottom: Projects (back to the project list), Project Settings, and Theme Editor.

Pages

Some things are not an item in a list but a page — a whole workspace over the board or the project. A page opens as a tab like anything else, sits in the tab strip beside your boards and items, and exists once per project: opening it again brings the same tab to the front. There are fourteen, and each has one way in:

PageWhere you open it
PlayThe Play button in the header, over a board
DesignThe palette button on the player’s toolbar, or Design how it plays and looks on a node type
Cast · Lines · Music · Sound FXThe four buttons in the Voices list’s title row
Export & Import · Strings · AI batch translationThe rows of the Localization list
Embeddings · Usage & Costs · Model CreditsThe rows of the AI Generation list
ScreenplayThe Screenplay button on the rail
SettingsThe gear at the bottom of the rail

The node types’ Palette opens as a tab the same way, from the button in the Node Types list’s title row. The five AI generators are not pages: they are tabs in Thalia’s dock.

A button for a page lights while that page’s tab is in front.

Closing a page’s tab does not stop it. Reopening it shows the page exactly as you left it, and work running in it — a batch of lines being voiced, a batch translation — carries on while it is closed or while another tab is in front.

The editor area, and its tabs

Everything you open from a list or a page button opens as a tab, and the tab strip is on screen whatever section the rail is on. Clicking a tab never changes the list on the left; clicking a list item opens a tab.

Seventeen kinds of thing can be a tab, besides the fourteen pages: an entity item, an entity definition, a trait, a tag, a variable, a context, an enum, a bitmask, a command, a node type, the node palette, a media item, a voice, a document, a spreadsheet, an entity grid, and a board.

Every open tab, pages included, comes back when you reload.

Preview tabs. A single click on a tree row opens a preview tab — italic, slightly faded — and the next single click replaces it in place, so browsing a tree does not leave twenty tabs behind. A preview becomes permanent when you double-click the row, activate the tab again, drag it to reorder, pin it, or choose Keep Open.

Middle-click closes a tab. Right-click gives: Pin Tab / Unpin Tab, Keep Open, Close, Close Others, Close All, Close to the Right, Close to the Left. Tabs can be dragged to reorder.

The panels

The side drawer is the list on the left of the editor area, and each section titles it for what it holds: Boards, Entities, Entity Definitions, Tags, Variables, Commands, Node Types, Media, Voices, Documents, Localization, AI Generation. Drag its right edge to resize it, between 150 and 500 pixels; the default is 250 and the collapsed width is 48. The chevron collapses it.

Its width and collapsed state are stored in your browser and are shared across every section — one setting, not one per tree.

There is no general-purpose inspector on the right. Three specific surfaces appear there instead:

  • The dock — Thalia, the five generators and History, described below.
  • Localization — only on the Node Editor, toggled from the header. Resizable from its left edge, 250–600 pixels, default 320.
  • Floating panels — the entity browser (Alt+Q), the media browser (Alt+W), and the Theme Editor. These are draggable and resizable, and their geometry is remembered per browser.

Opening the dock closes Localization, and the reverse.

The dock

One column down the right edge, narrowing the editor area beside it rather than covering it. It opens with the ✦ Thalia button or the History button in the header, or Ctrl+I; the button for the tab you are on closes it again, and the other one switches tab. Drag its inner edge to resize it — it opens at 380 pixels and will not go narrower than 320.

Its strip reads Chat · Dialogue board · Definition · Entities · Picture · Variables │ History, as icons with their names as tooltips:

  • Chat is Thalia, the project-aware assistant.
  • Dialogue board to Variables are the five generators.
  • History is the undo history. Its title is the name of the stack it is showing: History for the project, or the document’s own name when a document owns its undo.

Closing the dock hides it without stopping anything in it: a Thalia turn that is still running finishes and writes its results. Without the AI permission — the Viewer role — the Thalia button is not drawn and Ctrl+I does nothing, but History still opens the dock.

Theming the editor

The Theme Editor at the bottom of the activity bar changes how TaleShard itself looks. It opens as a floating panel you can drag and resize, and it remembers where you put it.

TaleShard ships with a set of built-in themes, and you can make your own — either by starting from one of them or by building one up.

A theme is not a list of colours for every surface. It is a small set of base colours — your primary, secondary and tertiary, plus the three that mean something (destructive, success, warning) — and then five zones that derive their surfaces from those:

ZoneWhat it covers
Activity BarThe rail down the left edge
Sidebar / PanelThe trees and side panels
Main Work AreaThe canvas and the editor surface
CardCards and raised panels
PopoverMenus, popovers and dialogs

That is why changing one base colour moves a whole family of surfaces together rather than leaving you to repaint forty things by hand.

Overriding one thing

When the derived answer is wrong for a specific case, you can override it at four levels — globally, for one zone, for a kind of control, or for one named element. The narrower the level, the more it wins.

The panel also has a pick-an-element mode: hover anything in the editor to highlight it, click, and the panel jumps to the right level for what you clicked — which is considerably faster than guessing which token draws a thing.

A theme can be exported as a template and imported again, which is how you move one between machines.

The header bar

Left to right: the brand mark, the project name (editable in place if you have permission), a slash, then the section’s own identity — or the page’s, while a page’s tab is in front; on the right, the section’s (or that page’s) view and language controls, the credits balance, the collaborators present, a sync pill, and a fixed rail of Undo · Redo · History · Thalia · Search.

The sync pill reads one of: Connecting…, Syncing…, Synced, Disconnected, Reconnecting…, Paused, Offline, Reload needed, No access.

Search All — the command palette

Ctrl+K opens it, and Ctrl+K closes it again. It works while you are typing in a field, which is deliberate.

It searches nine kinds of thing, by a case-insensitive substring of the name:

ResultTakes you to
EntitiesEntities
Entity DefinitionsEntity Definitions
TagsTags
VariablesVariables
ContextsVariables
EnumsVariables
BitmasksVariables
CommandsCommands
MediaMedia

Arrow keys, Home, End, Enter and Escape all work in the list.

Every keyboard shortcut

This is the complete set. Anything not on this list does not exist.

KeysActionWhere it applies
Ctrl+1 … Ctrl+9Switch section — the list on the leftAnywhere except inside a text field
Ctrl+K / Cmd+KOpen or close Search AllAnywhere, text fields included
Ctrl+Z / Cmd+ZUndoAnywhere; routed by what has focus
Ctrl+Shift+Z, Ctrl+YRedoAs above
Alt+QToggle the entity browser panelAnywhere, text fields included
Alt+WToggle the media browser panelAnywhere, text fields included
Ctrl+IOpen or close Thalia in the dockAnywhere except inside a text field, where it is italic

On the canvas, with the canvas focused and no text field active:

KeysAction
Ctrl+CCopy the selection
Ctrl+XCut — the originals stay visible until you paste
Ctrl+VPaste, centred on the cursor
Ctrl+DDuplicate at the cursor
Ctrl+ASelect every node
Ctrl+GGroup the selection
Ctrl+Shift+GUngroup
Ctrl+0Reset the selection to its automatic size
Delete / BackspaceDelete the selection
EscapeClear the selection
Shift+1Fit every node in view
A letter, digit or symbol, one node selectedStart typing in the node’s first text field — G and S type too
GToggle grid snapping
SToggle edge spacing

Where undo goes

One Ctrl+Z has to serve a canvas, a rich-text editor, a code editor, a spreadsheet and a plain input, and the answer is decided by where focus is, not by which section is open. In order: a spreadsheet clipboard sink yields; a document with its own undo stack yields; a project-undoable document field claims; a code editor yields; a rich-text editor yields; a plain input or textarea yields; otherwise the project stack claims it.

The Undo and Redo buttons in the header say which stack they will act on — in this project, or in “«document name»”.

What breaks

SituationWhat you see
You are not an Admin and a Settings tab is open anyway (kept from an earlier visit, say)Settings unavailable — Only project admins can access settings.
You have no AI permission and an AI page’s tab is open anywayAI features unavailable in place of the page
No tab is openNo «Section» open — Select an item from the panel to open it here. For the Node Editor the word used is Boards.
Search finds nothingNo results found.
A stored section id is no longer validSilently falls back to the Node Editor
Written for
Writers · Unity developers · Advanced integrators
Last updated