Present the subject's controller with a modal Dialog.wait listing the
author-defined options for a userChoice outcome. Each option gets its
own footer button (its name); the full option list — name bold,
description as secondary text — is also rendered in the dialog content so
the description is visible before choosing, since native DialogV2
buttons only accept a plain-text label. Reprompt-on-disconnect wiring
(registerRemotePromptAbort / registerRemotePromptBringToFront /
clearRemotePromptAbort) matches _renderCompelCheck
(module/apps/compel-check.mjs).
Spec fields:
promptTitle string | null — optional heading; falls back to a default
referencing actorName when unset.
actorName string | null — the subject's display name.
options Array<{ id: string, name: string, description: string }>
Resolves to { chosenId } — the id of the clicked option. Throws
BmsPromptAbort if the dialog is closed/cancelled without a choice.
Present the subject's controller with a modal
Dialog.waitlisting the author-defined options for auserChoiceoutcome. Each option gets its own footer button (itsname); the full option list — name bold, description as secondary text — is also rendered in the dialog content so the description is visible before choosing, since nativeDialogV2buttons only accept a plain-text label. Reprompt-on-disconnect wiring (registerRemotePromptAbort/registerRemotePromptBringToFront/clearRemotePromptAbort) matches_renderCompelCheck(module/apps/compel-check.mjs).Spec fields: promptTitle string | null — optional heading; falls back to a default referencing
actorNamewhen unset. actorName string | null — the subject's display name. options Array<{ id: string, name: string, description: string }>Resolves to
{ chosenId }— theidof the clicked option. Throws BmsPromptAbort if the dialog is closed/cancelled without a choice.