400 and fix names the field.
Readiness is the rest: a question, enough answers, a range that makes sense. A deck can be saved without it, because a person builds a deck in pieces. A room cannot start without it.
ready and problems
get_deck, get_outline and every write that changes a deck answer with the readiness check, run for you. get_step and list_decks do not.
step is the step index, overlay the card on that slide when it is a card, path where inside the step, and message the same sentence the presenter sees on the Present button. Fix what problems names before handing the deck over.
warnings
warnings sit next to problems and never stop a room. They name what will look wrong on the big screen, such as a card too small to read or a card on top of another card or a text box. On a team without Pro they also name a card whose join link is stored off, since hiding it is a Pro setting and the room and the screenshot show it anyway. Whether a card covers the text printed on the slide’s page itself, only a picture can tell, so get_screenshot adds coversPageText. A deck with warnings can go on stage. A careful agent clears them anyway.
The rules
The list per widget, generated from the code, is in the reference.
Where it runs
The same function runs in three places, so the message an agent reads and the message a presenter reads are the same words about the same poll: inget_deck, get_outline and every deck write, on the editor’s Present button, and at the door of a room.