Notes and Meta Data on the Canvas

A Guide to Meta Areas:
Notes, Meta Rules & Priorities
in the Dialogue Builder.
8 min read

A dialogue is planned in runs of nodes, not one node at a time. "This part is a wide shot of the boathouse at night" is true for a dozen nodes in a row, yet the shot and the background are typed into every one of them by hand, and the one node somebody misses ships with the wrong camera.

A Meta Area is a note you draw on the Dialogue Builder canvas, around the nodes it is about. Give it meta rules, and every node inside gets those meta data values on its own. This guide walks through it on one dialogue from a small example story.

The example: Inside the boathouse

We will use a dialogue from Grey Harbour, the harbour mystery from the Route Planner guide. The lamplighter has broken into the missing ferryman's boathouse at night. They look around, find a locked drawer, and inside it, the ferryman's ledger. The camera stays wide while they search and moves in close for the ledger.

Three meta data fields describe how the game shows each node. All of them are text fields:

  • shot
  • background
  • music

You add them in the Meta schema panel on the left of the game page, with the pencil next to its name. Names use small Latin letters and underscores. Create the fields before you write rules, because a meta rule can only set a field the story already has.

1. Draw a Meta Area and write the note

Open the dialogue in the Dialogue Builder and click Meta Area next to + Node, or press N. A new area appears in the middle of the view. Select it and the inspector on the right shows its Note: a title, the note text and a colour.

ToDo this
Move an areaDrag it by its header or any empty part of it.
Resize an areaDrag its bottom-right corner.
Write the noteFill in the title and the note text in the inspector, and pick Note, Blue or Green.
Delete an areaUse the bin at the top of the inspector. The nodes stay where they are.

Nodes never move with an area. Dragging or resizing an area only changes which nodes are inside it, so you can lay out the dialogue first and draw the areas over it afterwards. A node counts as inside when the middle of its header is inside the area, and the header of the area shows how many are.

Name an area after what the player sees, like Boathouse: wide, not after the nodes it covers. The name is what the node inspector shows next to every value the area sets, so it should explain the value on its own.

2. Give the area meta rules

Under the note, the inspector has a Meta rules card. Click Add rule, pick a field from the meta schema and type the value. Each rule is one field and one value, so the wide shot of the boathouse has two:

shot = wide

Every node in the area is shown from far away, the whole room in frame.

background = boathouse_night

Every node in the area plays in front of the boathouse at night.

The rules show as chips in the area's header, under the note. The Apply to every node inside switch in the area's Settings turns all of them on or off at once; while it is off, the chips are struck through and the nodes inside lose the values.

P1Boathouse: wide3 inside · 2 rulesNight. The lamplighter searches the boathouse by lamplight.shot = widebackground = boathouse_nightn_01The door gives with a groan.shot = widebackground = boathouse_nightn_02Nets, oars, a cold stove.shot = widebackground = boathouse_nightn_03A drawer is locked.shot = widebackground = boathouse_nightn_04A boot creaks on the jetty.
Boathouse: wide covers the first three nodes, and each of them now has shot = wide and background = boathouse_night. The node on the jetty is outside, so it gets nothing.

3. Watch the nodes get their values

A node inside an area with rules gets each rule's value automatically. That happens whenever something changes what is inside: you draw or move the area, resize it, add a rule, or create, move or drop a node into it. You never press an apply button.

Select a node and look at its Meta data in the inspector. The fields an area set are locked, and under each one it says which area it came from, like 🔒 from Boathouse: wide P1. Click the area's name to select it. To change a locked value, change the rule, or move the node out of the area.

Every change also shows a short toast at the bottom of the canvas, one line per node, so you can see what just happened without opening anything:

TOAST
n_02 now has shot = wide, background = boathouse_night Undo

If the change wasn't what you meant, click Undo in the toast, and the change is reversed.

4. Decide what happens when a node leaves

Areas are easy to move, and moving one over the canvas means nodes come and go. What a node keeps when it leaves is up to the area's Keep Meta Area values when a node leaves switch:

SwitchA node that leavesUse it for
Off (the default)Loses the values it got from this area.Areas that describe a place on the canvas, like a shot or a background.
OnKeeps the values as its own, and you can edit them.Stamping a starting value onto nodes you will tune by hand later.

Deleting an area counts as every node leaving it, so the same switch decides what they keep. Removing a rule, or turning the rules off, is different: it takes the values away from the nodes still inside, whatever the switch says, because the area no longer says anything about that field.

P1Boathouse: wide2 inside · 2 rulesNight. The lamplighter searches the boathouse by lamplight.shot = widebackground = boathouse_nightn_01The door gives with a groan.shot = widebackground = boathouse_nightn_02Nets, oars, a cold stove.shot = widebackground = boathouse_nightn_03A drawer is locked.n_04A boot creaks on the jetty.n_03 left the area and lost shot, backgroundUndo
n_03 was dragged out of the area. With Keep off, it lost both values, and the toast says so.

5. Overlap areas and set the priority

The ledger needs a close-up. Instead of cutting the wide area in two, draw a second area over the end of the first one: Close-up: the ledger, with shot = close_up and music = tense. The nodes in the overlap are in both areas, and both areas apply. Where they set different fields, the node simply gets all of them. Where they set the same field, the priority decides.

Every area has a priority, shown as P1, P2 and so on in its header. New areas start at 1; change it in the area's Settings. Where areas overlap and set the same field, the higher priority wins. The overlap is marked on the canvas with a striped band and a label:

BandMeaningIn the boathouse
Both apply · rules agreeThe areas set no field to different values.Two areas that both set background = boathouse_night.
Both apply · P2 wins: shotThe areas disagree, and the higher priority sets the value.The close-up is P2, so the ledger nodes get shot = close_up.
⚠ Same priority (P1) · shotThe areas disagree with the same priority. That is a conflict.See the next step.
P1Boathouse: wide3 inside · 2 rulesNight. The lamplighter searches the boathouse by lamplight.shot = widebackground = boathouse_nightP2Close-up: the ledger2 inside · 2 rulesshot = close_upmusic = tenseBoth apply · P2 wins: shotn_01The door gives with a groan.shot = widebackground = boathouse_nightn_02Nets, oars, a cold stove.shot = widebackground = boathouse_nightn_03Inside: the ferryman's ledger.shot = close_upbackground = boathouse_nightmusic = tensen_04Someone wrote "Ida" in red.shot = close_upmusic = tense
The node in the striped band is in both areas. It gets shot = close_up from the P2 area, background from the wide one, and music from the close-up.

The node inspector shows which area set each field, and an area's inspector lists its Overlaps with the other areas: whether the rules agree, which fields differ and which area wins. You can check a busy part of the canvas from either side.

Give an area drawn inside another one a priority one higher than the outer area. A close-up inside a scene, or a single angry line inside a calm conversation, then beats its surroundings without you thinking about it.

6. Solve conflicts

Say the close-up was left at P1. Now two areas with the same priority set shot to different values, and LoreHub won't guess which one you meant. The band turns amber, the node gets a conflict chip, and the field gets no value at all until the conflict is solved. The other fields are not affected: the node still gets background and music.

P1Boathouse: wide3 inside · 2 rulesNight. The lamplighter searches the boathouse by lamplight.shot = widebackground = boathouse_nightP1Close-up: the ledger2 inside · 2 rulesshot = close_upmusic = tense⚠ Same priority (P1) · shotn_01The door gives with a groan.shot = widebackground = boathouse_nightn_02Nets, oars, a cold stove.shot = widebackground = boathouse_nightn_03conflictInside: the ferryman's ledger.background = boathouse_nightmusic = tensen_04Someone wrote "Ida" in red.shot = close_upmusic = tense
Both areas are P1 and disagree on shot. The node in the band has a conflict and no shot until one of them changes.
NODE INSPECTOR · META DATA
⚠ Boathouse: wide says wide, Close-up: the ledger says close_up

The inspector tells you what each area says, and there are three ways out:

Give one area a higher priority

The usual fix. Set the close-up to P2 and it wins the overlap, as in the previous step.

Move the node out of one area

Resize or move an area so the node is only in one of them. Nodes don't move with areas, so this never disturbs your layout.

Make the areas agree

Change one of the rules so both set the same value, or remove the rule from one area if it shouldn't say anything about that field.

7. Look back with History and Undo

The toast disappears after a few seconds. To see what Meta Areas did earlier, click the History button in the canvas toolbar. It lists the changes Meta Areas made to node values while you have had the dialogue open, newest first, with the time and an Undo for each one. It is the quickest way to answer "why does this node have a close-up now?" after a few minutes of moving areas around.

8. Hide the areas while you write

When you want a clean canvas, click Hide Meta Areas in the toolbar above the canvas, and Show Meta Areas to bring them back. Hidden areas still apply their rules: the nodes keep their values, and the node inspector still shows which area set each locked field.

Areas also work as plain notes. An area without rules changes nothing, so use one to leave a teammate a message next to the nodes it is about: what the scene should feel like, or what is still missing.

A checklist for your own dialogue

I. Which meta data stays the same for a run of nodes?

Shot, background, music, a character's mood: add each one to the Meta schema first.

II. Where does each run start and end?

Draw an area around it, name it after what the player sees, and add one rule per field.

III. Should a node that leaves keep the values?

Leave Keep off for places and shots. Turn it on only when the area is a starting point you will edit by hand.

IV. Where do areas overlap?

Give the more specific area the higher priority, and solve every amber band before you export.

V. Does every node have what it needs?

Click through the nodes, check the locked fields and where they come from, and fill in the rest by hand.

Meta data goes wrong the same way every time: one node in a long run that nobody updated. Meta Areas turn "these twelve nodes are a wide shot" from twelve edits into one rectangle, and the rectangle sits right next to the nodes, where the next writer will see it.

Try it in the LoreHub app, read more about the Dialogue Builder, and for feedback, please join Discord.