Board document model
How a signage board is structured: modules, drafts vs published, and the data-lock rule.
For those who want the mental model under the board editor: a board is a JSON document describing layout and style — never menu content.
Shape#
A board holds an ordered list of modules, plus board-level globals (background, fonts) and metadata (name, mode). Each module is roughly:
{
"id": "mod_abc",
"type": "productList",
"weight": 1, // flex-grow within its row/column
"props": { // type-specific styling + which category to bind
"categoryId": "...",
"background": "#111",
"motion": "fade"
}
}Draft vs published#
A board stores a draft and a published version. You edit the draft (autosaved), and publishing copies it to the published version that screens read. A sequence is its own document describing an ordered list of boards.
Heads up
The board document never stores prices or item names. Those are resolved from Manager at render time by the bound categoryId / product id. That's the data-lock that keeps screens correct.