Dicey Table

Reference

Seat Fields for AI Agents

Seat field ids for AI agents: seat zones and table zones, seat labels, seat dice and pieces, and the seat templates that lay them out in the DiceyTable editor.

On this page18 sections

These are the fields of seats and zones. They cover seat zones, table zones and seat labels. They also cover the dice and pieces each seat gets, and the seat templates that lay them out.

Panels in this group#

17 panels, with the id prefix seat. The field catalogue lists every group.

Panel Label Tab Fields Actions
seat.zone Seat zone editor 39 3
seat.table-zone Table zone editor 1 0
seat.label Seat label editor 6 0
seat.group Seat group editor 7 4
seat.template Seat template editor 3 1
seat.template-label Seat template label editor 6 0
seat.template-holders Seat template holders editor 0 0
seat.template-pieces Seat template pieces editor 3 2
seat.template-dice Seat template dice editor 6 4
seat.player-zones Player Zones editor 0 9
seat.table-zones Table Zones editor 2 3
seat.template-holder Seat template card holder editor 5 1
seat.template-dice-tray Seat template dice tray editor 5 0
seat.piece-group Seat template piece group editor 3 5
seat.dice-overrides Seat dice (this seat) editor 3 4
seat.piece-overrides Seat pieces (this seat) editor 2 4
seat.capture-layout Add to seat layout editor 2 1

seat.zone#

Seat zone · surface editor · target seat

How it opens: Select the seat's zone under Player Zones in the Hierarchy.

Fields (39)

Field id Label Kind Unit Target Class Range / options Description
seat.zone.name Name text — zone W — The zone's name (blank falls back to its type label).
seat.zone.type Type select — zone W — Zone type. A seat may have several hand zones (their cards show as one hand); deals fill the primary first. Table zones are never Hand.
seat.zone.interaction Interaction select — zone W — Area zones only: who may interact with pieces inside.
seat.zone.search Search select — zone W — Area zones only: who may privately search a deck or bag inside ("" = not set; a pile's own setting wins).
seat.zone.boundary Show boundary select — zone W — When the zone's outline is drawn at the table.
seat.zone.position Position length-vec3 length zone W — Zone centre [x, y, z] in feet (seat-local for a template zone).
seat.zone.size-x Size X length length zone W ≥ 0.1, ≤ 24, step 0.1 Zone width in feet.
seat.zone.size-z Size Z length length zone W ≥ 0.1, ≤ 24, step 0.1 Zone depth in feet.
seat.zone.rotation-y Rotation Y angle degrees zone W step 1 Zone yaw in degrees.
seat.zone.hand-primary Primary boolean — zone W — Hand zones: deals fill this zone first. Turning it on turns it off on the seat's other hand zones.
seat.zone.hand-max-items Max cards integer — zone W ≥ 0, ≤ 200, step 1 Hand zones: the most cards this zone holds before deals and drops move on to the seat's next hand zone (0 = no limit).
seat.zone.hand-hide-from-others Hide from other players boolean — zone W — Hand zones: face-down cards owned by this seat are private to it (teammates always see it).
seat.zone.hand-enter-face Cards entering select — zone W — Hand zones: which side up a card turns when drawn, dealt or dropped into this hand (keep = unchanged; a legacy faceUpOnEnter reads as face-up). A face-up card in a hand is still private to its owner.
seat.zone.hand-leave-face Cards leaving select — zone W — Hand zones: which side up a card turns when it is played from this hand onto the table (keep = unchanged).
seat.zone.hand-card-overlap Card overlap select — zone W — Hand zones: which neighbour a card is drawn over.
seat.zone.hand-new-card-end New cards go to select — zone W — Hand zones: where a new card lands in an unsorted hand.
seat.zone.hides Hides select — zone W — Hidden zones: what is hidden from non-owners.
seat.zone.area-role Role select — zone W — Area zones: what the area is for ("" = none). play = a Play / Play to… target, discard = where Discard sends a card, deck = where a loaded deck's main pile lands. Leaving play clears Default play area.
seat.zone.area-default-play Default play area boolean — zone W — Area zones with role play (shown only then): where plain Play sends a card. One play area is the default automatically; with several the first marked wins, and with none marked players only get Play to….
seat.zone.area-enter-face Cards placed here select — zone W — Area zones: which side up a card turns when played, sent, dropped or loaded here (keep = unchanged). Players can still flip it afterwards.
seat.zone.area-center-snap Centre snap point boolean — zone W — Area zones: add a snap point at the zone's centre that follows it.
seat.zone.area-arrange Auto-arrange select — zone W — Area zones: lay dropped pieces out as a stack, row, grid or tray.
seat.zone.area-columns Columns integer — zone W ≥ 1, ≤ 20, step 1 Grid arrange: columns.
seat.zone.area-rows Rows integer — zone W ≥ 1, ≤ 20, step 1 Grid arrange: rows.
seat.zone.area-cell-size Cell size length length zone W ≥ 0, ≤ 24, step 0.1 Row/grid arrange: each slot's footprint in feet (0 = automatic).
seat.zone.area-gutter Gutter length length zone W ≥ 0, ≤ 6, step 0.05 Row/grid arrange: padding between slots in feet.
seat.zone.area-tray-lanes Lanes integer — zone W ≥ 1, ≤ 20, step 1 Tray arrange: lanes across the zone, each filled from the bottom edge toward the top (arrow) edge.
seat.zone.area-tray-rotation Piece rotation vec3 degrees zone W — Tray arrange: each piece's turn [x, y, z] in degrees about the zone's axes (x = across, y = up). 90° about x stands a flat piece on its edge.
seat.zone.area-tray-spacing Spacing length length zone W ≥ -1, ≤ 6, step 0.005 Tray arrange: gap between neighbouring pieces in a lane, in feet (negative overlaps them).
seat.zone.area-tray-infinite Infinite boolean — zone W — Tray arrange: the tray takes ONE piece and keeps itself full of copies of it; take one and another appears, put one back and it returns to supply.
seat.zone.area-tray-copies Copies shown integer — zone W ≥ 0, ≤ 200, step 1 Infinite tray: copies kept on show at all times (0 = fill the zone).
seat.zone.fit-to-zone Shrink to fit boolean — zone W — Area (row/grid/tray) and hand zones: shrink the pieces so they fit inside the zone instead of overflowing it; a piece picked up returns to its own size.
seat.zone.fit-max-overlap Overlap before shrinking number — zone W ≥ 0, ≤ 90, step 5 Shrink to fit: how much neighbours may overlap, as a percentage of a piece, before the pieces shrink (0 = shrink as soon as they would touch).
seat.zone.fit-grow Grow grid by select — zone W — Grid + shrink to fit: once the cells are full, which is added first (columns or rows); they then alternate.
seat.zone.sort-name Name text — zone W — The sort method's name as players see it.
seat.zone.sort-by Sort by select — zone W — builtin:<key> or field:<deck card field>.
seat.zone.sort-direction Direction select — zone W — Ascending or descending.
seat.zone.sort-default Default boolean — zone W — Make this the hand's default sort method.
seat.zone.tag-filter Tag filter tags — zone W — Objects the zone applies to: none = every object, else any object sharing at least one tag.

Actions (3)

Action id Label Class Target Description
seat.zone.delete Delete Zone D zone Delete this zone. Undoable.
seat.zone.sort-add Add sort method W zone Add a hand sort method to this hand zone.
seat.zone.sort-remove Remove sort method W zone Remove this hand sort method (target id: <zone target>/sort:<method id>).

seat.table-zone#

Table zone · surface editor · target zone

How it opens: Select the table zone in the Hierarchy.

Fields (1)

Field id Label Kind Unit Target Class Range / options Description
seat.table-zone.owner Owner select — zone W — Who owns this table zone: nobody, a fixed seat colour, or whichever seat a seat variable holds (the select's encoded value).

seat.label#

Seat label · surface editor · target seat

How it opens: Select the seat's label node under Player Zones.

Fields (6)

Field id Label Kind Unit Target Class Range / options Description
seat.label.text Label text text — seat W — Text shown on the table while the seat is empty (1–40 characters). Empty falls back to the seat's stable id; a seated player's name always wins at the table.
seat.label.position Position length-vec3 length seat W — Label position [x, y, z] in feet.
seat.label.width Width length length seat W ≥ 0.1, ≤ 24, step 0.1 Label box width in feet.
seat.label.height Height length length seat W ≥ 0.1, ≤ 24, step 0.1 Label box depth on the table, in feet.
seat.label.rotation-y Rotation Y angle degrees seat W step 1 Label yaw in degrees.
seat.label.font-size Font Size length length seat W ≥ 0.01, ≤ 10, step 0.05 Text height in feet.

seat.group#

Seat group · surface editor · target seat

How it opens: Select the seat group row under Player Zones.

Fields (7)

Field id Label Kind Unit Target Class Range / options Description
seat.group.template-binding Binding select — seat W — How the seat follows the seat template (shown once a template exists). linked = everything from the template (setting it replaces the seat's own zones — the human confirms); layout-detached = the seat's own zones and name label, while the template keeps supplying dice, dice tray, pieces, card holders and the per-seat overrides; detached = the template is ignored (holders/pieces stay as ordinary entities). Detaching never moves anything.
seat.group.template-mirror Mirror boolean — seat W — Bound seats (linked or layout-detached): reflect the template left-to-right for this seat (zones and name label when linked; card holders, pieces and dice tray either way). For board art mirrored between opposite seats. Zone contents (hand fan order) are not mirrored.
seat.group.position Position length-vec3 length seat W — Linked or layout-detached seat: the group pivot [x, y, z] in feet (a layout-detached seat's own zones move with it).
seat.group.rotation-y Rotation Y angle degrees seat W step 1 Linked or layout-detached seat: the group yaw in degrees.
seat.group.color-preset Color select — seat W — A standard seat colour id, or __custom to pick one with Custom.
seat.group.color Custom color — seat W — The seat's custom colour (shown once Color = Custom…).
seat.group.label-text Text text — seat W — On-table text for the empty seat (a linked seat's value overrides the template's label text).

Actions (4)

Action id Label Class Target Description
seat.group.edit-template Edit Template R seat Select the seat template.
seat.group.snap-perimeter Snap to table perimeter W seat Move this linked seat's group to its canonical place on the table's seat ring.
seat.group.add-zone + Add Zone W seat Add a zone to this (detached) seat.
seat.group.delete Delete Player Zone D seat Remove this seat's zones and name label (restore it later from Player Zones). Undoable.

seat.template#

Seat template · surface editor · singleton (no target)

How it opens: Select Player Zones ▸ Seat template.

Fields (3)

Field id Label Kind Unit Target Class Range / options Description
seat.template.scale Scale number — — W ≥ 0.01, ≤ 10, step 0.05 Uniform scale for every linked seat's layout (the one place a seat's scale is set, so every player gets the same size).
seat.template.add + Add select — — W — Add to the template: zone:<zone type> adds a zone (a hand zone replaces the current one), holder adds a card holder. Each set adds one.
seat.template.preview-seat Preview on seat select — — W — Which linked seat shows template edits live (a seat id). Editor view state.

Actions (1)

Action id Label Class Target Description
seat.template.colour-dice-per-seat Colour dice per seat W — Tint every linked seat's copy of the template dice with that seat's colour. Each seat can still change or reset it. Undoable.

seat.template-label#

Seat template label · surface editor · singleton (no target)

How it opens: Select the template's label node under Seat template.

Fields (6)

Field id Label Kind Unit Target Class Range / options Description
seat.template-label.text Label text text — — W — The seat name label every linked seat shares (a seat's own Label text overrides it).
seat.template-label.position Position length-vec3 length — W — Label position [x, y, z] in seat-local feet (+Z faces the table centre).
seat.template-label.width Width length length — W ≥ 0.1, ≤ 24, step 0.1 Label box width in feet.
seat.template-label.height Height length length — W ≥ 0.1, ≤ 24, step 0.1 Label box height in feet.
seat.template-label.rotation-y Rotation Y angle degrees — W step 1 Label yaw in degrees, seat-local.
seat.template-label.font-size Font Size length length — W ≥ 0.01, ≤ 10, step 0.05 Label font size in feet.

seat.template-holders#

Seat template holders · surface editor · singleton (no target)

How it opens: Select Seat template; the holders list.

No field or action is registered on this panel yet. panel_open can still open it, and describe_panel / screenshot_panel can read it.

seat.template-pieces#

Seat template pieces · surface editor · singleton (no target)

How it opens: Select Seat template; the pieces list.

Fields (3)

Field id Label Kind Unit Target Class Range / options Description
seat.template-pieces.position Position length-vec3 length seat W — Seat-local position of one template piece (+Z faces the table centre; the template's scale applies). Target template#<piece id>. [x, y, z] in world feet.
seat.template-pieces.rotation-y Rotation Y angle degrees seat W step 1 Seat-local yaw of one template piece, in degrees. Target template#<piece id>.
seat.template-pieces.only-when-seated Only when seated boolean — seat W — Place this piece only for a seat somebody is sitting in. Target template#<piece id>.

Actions (2)

Action id Label Class Target Description
seat.template-pieces.remove Remove this piece D seat Remove one layout piece from the seat template, deleting its copy on every linked seat. Target template#<piece id>. Undoable.
seat.template-pieces.colour-per-seat Colour pieces per seat W — Set every linked seat's colour override for every template piece to that seat's colour. Undoable.

seat.template-dice#

Seat template dice · surface editor · singleton (no target)

How it opens: Select Seat template; the dice list.

Fields (6)

Field id Label Kind Unit Target Class Range / options Description
seat.template-dice.entry.faces Faces select — seat W — The die's face layout: face count, printed numbers and collider shape. Target template#<die key>.
seat.template-dice.entry.model Model select — seat W — What the die looks like, applied exactly as dropping that thing on the die's slot: "" = the stock die of its face layout; preset:<die preset id> = a stock die with the same face count (sets the layout, clears any custom model); a project die design's repo path (models/dice/<name>.die.json, labelled with the design's name; offered once its model is built) = that design's baked model, which also sets the face layout to the design's shape. A current model no design baked reads back as its own path. Live options come from fields_get. Target template#<die key>.
seat.template-dice.entry.name Name text — seat W — Label shown in the dice picker; empty uses the layout's name. Target template#<die key>.
seat.template-dice.entry.start-count Start integer — seat W ≥ 0, ≤ 40, step 1 How many of this die the picker starts at. Target template#<die key>.
seat.template-dice.entry.tint Tint color — seat W — Colour the die is tinted, as [r, g, b] in 0..1 (clear it with the clear-tint action). Target template#<die key>.
seat.template-dice.add + Add die… select — — W — Write a face layout to append a die of that layout to the list. Reads back empty (it is a picker, not a stored value).

Actions (4)

Action id Label Class Target Description
seat.template-dice.entry.clear-model Use the stock die model W seat Drop this seat die's custom model so it renders as the stock die of its face layout. Target template#<die key>.
seat.template-dice.entry.clear-tint Clear tint W seat Remove this seat die's tint. Target template#<die key>.
seat.template-dice.entry.clear-material Clear material W seat Remove this seat die's material. Target template#<die key>.
seat.template-dice.entry.remove Remove this die W seat Remove this die from the seat template (every linked seat loses it). Target template#<die key>.

seat.player-zones#

Player Zones · surface editor · singleton (no target)

How it opens: Select the Player Zones folder in the Hierarchy (seat template lifecycle, add seat, seat layout).

Actions (9)

Action id Label Class Target Description
seat.player-zones.edit-template Edit Template R — Select the seat template.
seat.player-zones.define-template Define Template W — Create an empty seat template: one name label and one hand zone, in seat-local space.
seat.player-zones.promote Promote a seat to template… R — Open the Promote dialog (copy a seat's zones and label into the template).
seat.player-zones.apply Apply to… R — Open the Apply dialog (link seats to the template and materialize its layout).
seat.player-zones.clear-template Clear Template D — Detach every seat and remove the template (never deletes an object). Undoable.
seat.player-zones.add-seat + Add seat W seat Add this seat's player zone group.
seat.player-zones.reset-seats Reset seats to this table's default… R — Show the preview of rebuilding every seat on the assigned table (nothing moves until Apply).
seat.player-zones.rederive-ring Move seats onto this table's ring W — Move this game's seats onto the assigned table's seat ring. Undoable.
seat.player-zones.reset-seats-apply Reset seats D — Rebuild every seat as a fresh seat on this table (position, rotation, zone size, label; zones beyond the first are deleted). Undoable.

seat.table-zones#

Table Zones · surface editor · singleton (no target)

How it opens: Select the Table Zones folder in the Hierarchy (add a zone, seat variables).

Fields (2)

Field id Label Kind Unit Target Class Range / options Description
seat.table-zones.variable-name Name text — zone W — The seat variable's name (e.g. activePlayer).
seat.table-zones.variable-default Starts as select — zone W — The seat the variable holds at table start ("" = unset).

Actions (3)

Action id Label Class Target Description
seat.table-zones.add-zone Add table zone W — Add a table zone (a zone the table has exactly one of).
seat.table-zones.add-variable Add variable W — Declare a new seat variable.
seat.table-zones.remove-variable Remove W zone Remove this seat variable (target id: var:<index>); zones naming it fall back to the Table on the next load.

seat.template-holder#

Seat template card holder · surface editor · singleton (no target)

How it opens: Select a card holder under Player Zones ▸ Seat template (fields edit the selected one).

Fields (5)

Field id Label Kind Unit Target Class Range / options Description
seat.template-holder.label Label text — — W — The holder's machine slug (lowercase, dashes); each seat gets <label>-<seat>.
seat.template-holder.kind Kind select — — W — The kind of entity each seat's generated holder is (capture is driven by metadata, not kind; card-holder is the stock preset).
seat.template-holder.position Position length-vec3 length — W — Holder position [x, y, z] in seat-local feet.
seat.template-holder.rotation-y Rotation Y angle degrees — W step 1 Holder yaw in degrees, seat-local.
seat.template-holder.scale Scale vec3 — — W — Holder scale [x, y, z]; the template's uniform scale multiplies it per seat.

Actions (1)

Action id Label Class Target Description
seat.template-holder.delete Delete Card Holder D — Delete the selected template card holder and exactly the holders it generated on every linked seat. Holders placed by hand are never touched. Undoable.

seat.template-dice-tray#

Seat template dice tray · surface editor · singleton (no target)

How it opens: Select Player Zones ▸ Seat template; its DICE TRAY section.

Fields (5)

Field id Label Kind Unit Target Class Range / options Description
seat.template-dice-tray.custom Custom tray boolean — — W — On: each seat's rolled dice land in the tray below. Off: the table's default tray in front of each seat (the custom values are dropped).
seat.template-dice-tray.position Position length-vec3 length — W — Seat-local tray position (+Z faces the table centre). [x, y, z] in world feet.
seat.template-dice-tray.width Width length length — W ≥ 0.1, ≤ 20, step 0.05 Tray width. World feet.
seat.template-dice-tray.depth Depth length length — W ≥ 0.1, ≤ 20, step 0.05 Tray depth. World feet.
seat.template-dice-tray.rotation-y Rotation Y angle degrees — W step 1 Seat-local tray yaw, in degrees.

seat.piece-group#

Seat template piece group · surface editor · target seat

How it opens: Select a piece group under Seat template ▸ PIECES in the Hierarchy (target template#group:<group id>).

Fields (3)

Field id Label Kind Unit Target Class Range / options Description
seat.piece-group.name Name text — seat W — The piece group's display name; empty returns to the automatic name. Target template#group:<group id>.
seat.piece-group.per-seat-model Model per seat boolean — seat W — Let each seat use its own model file for every piece in the group (needs one shared project model). Target template#group:<group id>.
seat.piece-group.per-seat-material Material per seat boolean — seat W — Let each seat use its own material for every piece in the group (needs identical pieces). Target template#group:<group id>.

Actions (5)

Action id Label Class Target Description
seat.piece-group.select-piece Select piece R seat Select one member piece of the group in the Hierarchy. Target template#<piece id>.
seat.piece-group.unify These are all the same piece W — Make every piece in the group (and same-model pieces in other groups) use the first member's look; each keeps its position. Undoable.
seat.piece-group.look-clear-model Use the template's model W seat Drop one seat's model for a piece group. Target <seat>#group:<group id>.
seat.piece-group.look-clear-material Use the template's material W seat Drop one seat's material for a piece group. Target <seat>#group:<group id>.
seat.piece-group.look-reset Reset to the template's look W seat Remove one seat's model and material for a piece group. Target <seat>#group:<group id>.

seat.dice-overrides#

Seat dice (this seat) · surface editor · target seat

How it opens: Select a seat linked to the seat template under Player Zones; its DICE section (target <seat>).

Fields (3)

Field id Label Kind Unit Target Class Range / options Description
seat.dice-overrides.faces Faces select — seat W — This seat's face layout for one template die; "" = the template's. Target <seat>#<die key>.
seat.dice-overrides.model Model select — seat W — This seat's model for one template die, applied exactly as dropping that thing on the slot: "" = the template's model; preset:<die preset id> = a stock die with the same face count (pins that layout's stock die for this seat); a project die design's repo path (models/dice/<name>.die.json) = that design's baked model, which also sets this seat's face layout to the design's shape. Target <seat>#<die key>.
seat.dice-overrides.tint Tint color — seat W — This seat's tint for one template die, [r, g, b] in 0..1. Target <seat>#<die key>.

Actions (4)

Action id Label Class Target Description
seat.dice-overrides.clear-model Use the template's model W seat Drop this seat's own model for one template die. Target <seat>#<die key>.
seat.dice-overrides.clear-tint Clear seat tint W seat Drop this seat's tint for one template die. Target <seat>#<die key>.
seat.dice-overrides.clear-material Clear material W seat Drop this seat's material for one template die. Target <seat>#<die key>.
seat.dice-overrides.reset Reset to the template's die W seat Remove every per-seat change to one template die. Target <seat>#<die key>.

seat.piece-overrides#

Seat pieces (this seat) · surface editor · target seat

How it opens: Select a seat linked to the seat template under Player Zones; its PIECES section (target <seat>).

Fields (2)

Field id Label Kind Unit Target Class Range / options Description
seat.piece-overrides.colour Colour color — seat W — This seat's colour for one template piece, [r, g, b] in 0..1. Target <seat>#<piece id>.
seat.piece-overrides.omit Omit boolean — seat W — Leave one template piece off this seat. Target <seat>#<piece id>.

Actions (4)

Action id Label Class Target Description
seat.piece-overrides.clear-colour Clear seat colour W seat Drop this seat's colour for one template piece. Target <seat>#<piece id>.
seat.piece-overrides.use-seat-colour Seat colour W seat Colour one template piece, on this seat only, with the seat's own colour. Target <seat>#<piece id>.
seat.piece-overrides.clear-material Clear material W seat Drop this seat's material for one template piece. Target <seat>#<piece id>.
seat.piece-overrides.reset Reset to the template's piece W seat Remove every per-seat change to one template piece. Target <seat>#<piece id>.

seat.capture-layout#

Add to seat layout · surface editor · singleton (no target)

How it opens: Select one or more entities while a seat template has linked seats; the SEAT LAYOUT section.

Fields (2)

Field id Label Kind Unit Target Class Range / options Description
seat.capture-layout.seat Layout of seat select — — W — The linked seat the selection is measured from (the live options; the nearest seat is suggested).
seat.capture-layout.only-when-seated Only when seated boolean — — W — Captured pieces are placed only for a seat somebody is sitting in.

Actions (1)

Action id Label Class Target Description
seat.capture-layout.capture Add to seat layout D — Turn the selected entities into seat template pieces measured from the chosen seat, and DELETE the originals; every linked seat gets a copy. Undo restores them.

Did this page answer your question?