DocsLayout & seats

Labels and buttons

Most words on a taybl table belong to something. A zone shows its name, a card shows its face. That works until you hide the zone outlines, and then the table goes quiet with no way left to say Draw Pile.

A label is words that belong to nothing. You place one anywhere on the felt and type into it. Give it an automation and it becomes a button that players can press. Take the automations away and it goes back to being words. It is one thing with one inspector, not two things to choose between.

The switch that decides which it is

In the layout editor, open Labels & Buttons in the left rail and press +. You get a plain label. The inspector’s first control is Players can press it — tick it and you have a button.

What that tick really does is add the runs list. That is the whole distinction, and it is the presence of the list, not how long it is:

no runs at all   →  a plain label. Scenery. Nobody can click it.
runs, but empty  →  a button with nothing picked yet. Greyed out.
runs: [a, b]     →  a button that runs those, in order, on one press.

That middle state matters: it is what a new button starts as, so you can place and size one before you decide what it does.

What a button does

A button holds no action of its own. It names entries from the automation library and runs them in order — so “collect the discards, shuffle, deal three each” is one button, and the automation your setup already uses is the automation the button replays.

The whole button counts as ONE action: one line in the history, and one undo to take all of it back. If a step finds nothing to do, the rest still run.

A button never decides anything. It does exactly what a player could already have done by hand — it just puts it one click away instead of three.

One button, or one per player?

A button placed relative to a seat appears once in front of every player. What that copy acts on is decided by target:

  • target: actingSeat — acts on the zone belonging to whoever pressed it. Right for “Flip my card”. Every player gets their own.
  • target: allSeats — acts on every player’s copy at once. Right for “Everyone reveal”. It is the default.

Anyone can press any button, including one drawn at somebody else’s seat — taybl does not police who touches what. An actingSeat button pressed by the wrong person still acts on the presser’s zone.

Making it look right

Every label, pressable or not, takes the same styling:

  • text — the words. Press Enter for a second line; line breaks are kept.
  • fontSize — how big, in millimetres, the same unit everything else on the table uses. That is the point: the words scale with the table, so they look the same in the editor as in play, at every zoom and on every screen. Leave it alone and a button sizes its type from its own height.
  • font — Sans, Serif, Mono, or Hand, a real handwriting face. One caveat: the serif face ships in a single weight, so bold serif is synthesised by the browser and reads a little flat. Sans and Hand have real bold.
  • bold, italic, and align — left, centre or right within the box.
  • color — any colour. Leave it alone and a plain label picks its own ink from your felt colour, going dark on a pale table and light on a dark one, so an untouched label is always readable.
  • background — the panel behind the words. Off by default for a label (bare words on the felt is the look) and on by default for a button, which is what makes a button read as a control.
  • shape — the panel’s silhouette: rectangle, rounded, pill, circle, hex or diamond. Invisible without a background.
  • icon — a glyph before the words. A button uses its first automation’s own glyph unless you pick one; a label draws none unless you ask.
  • id — the internal name. Made for you; you rarely touch it.

Placing it

A label is positioned exactly like a zone — the same position, size and rotation fields, and the same One at each seat switch.

The one extra control is facing, which decides what the rotation is measured against:

  • The reader — stays upright for whoever is looking, at every seat. This is what a button does by default, because a control belongs to the person using it.
  • The table — glued to the felt and turns with it. This is what a label does by default, because a sign is painted on the table. It is how you run a heading along the length of a track.

Either default can be overridden, so an upright label and a glued button are both available when you want them.

Stacking

Labels draw over your zones, and buttons over the labels. A label is almost always placed on the very thing it names, so underneath a zone’s board art it would simply be invisible; and anything drawn over a button would make it unpressable.

Being on top costs a plain label nothing, because it never takes a click. Drag a card over one and let go, and the card lands in the zone underneath exactly as if the words were not there.

The layer number orders labels against each other, for the rare case of two that overlap. It cannot go below zero.

The table menu

The table menu (tableMenu) is the older sibling: the same kind of designer-authored action, but reached by right-clicking bare felt instead of sitting on the table. It still carries its own single verb rather than naming library automations — a label, a kind, its zones, and from, count and direction where the verb needs them.

Players meet these in the Table actions popover. That is a different thing from the menu taybl itself puts in the felt’s bottom-right corner — the pill holding Undo, End turn and the panels, which you cannot author. See playing a game.

Use the table menu for actions that matter but are not constant. Use a button for the moves players make every turn.

Tips

  • Put a button next to what it touches. A “Shuffle” floating in the middle of the table makes players guess which pile it means.
  • Label with a verb, not a noun. “Pass hands” beats “Hands”.
  • Size a label in millimetres against something real. A pile label that matches the width of the pile reads as belonging to it.
  • Two or three of each makes a table legible. A dozen makes it a control panel.
  • If a label is hard to read, try the colour before the background. A panel is a box on your table; darker ink is not.
  • Two buttons that both “shuffle the deck” should name the SAME automation. Then fixing it once fixes both.
Sign in to ask Pip about building games.
Sign in