chooseFromSelection
Sent when the player must choose modes of a modal spell — for example, picking “choose one or both” on a charm, or selecting the modes of a Command.
Each option carries a weight, and the selection is constrained by total
weight: the sum of the chosen options’ weights must land within
minTotal–maxTotal. For ordinary modal choices every weight is 1, so the
totals are simply choice counts. Pawprint cards (“choose up to five {P} worth
of modes”) use the weights as pawprint costs. An option with canRepeat may be
chosen more than once.
Arguments
Section titled “Arguments”input.type is "chooseFromSelection". The remaining fields:
interface ChooseFromSelectionInput { presentation: PromptPresentation; options: Array<SelectionOption>; minTotal: number; maxTotal: number;}#[serde(rename_all = "camelCase")]pub struct ChooseFromSelectionInput { pub presentation: PromptPresentation, pub options: Vec<SelectionOption>, pub min_total: usize, pub max_total: usize,}
References: PromptPresentation , SelectionOption
Rendering
Section titled “Rendering”The control depends on how many options may be chosen.

For a single choice (maxTotal of 1) the options are plain buttons — clicking one sends it
immediately.

For multiple choices each option gets a checkbox and a counter; the player selects within
minTotal–maxTotal, then confirms.

For more complex situations, it is possible to use the additional fields canRepeat and weight to properly prompt for a response.
Clicking a canRepeat option adds another copy of it and its row shows the
count with a stepper to remove copies; the counter tracks the running weight
total against maxTotal.
Beyond six options the list collapses into a type-to-filter field (search and pick), keeping long lists manageable.
Response
Section titled “Response”type ChooseFromSelectionOutput = { type: "selectionDecision"; chosenIndices: number[] };Return the indices (into options) of the chosen modes. An index may appear
more than once only when its option has canRepeat, and the summed weights of
the chosen options must be within minTotal–maxTotal.
Example
Section titled “Example”{ "promptId": 7, "decidingPlayerId": "player-0", "input": { "type": "chooseFromSelection", "presentation": { "title": "Choose one or both", "targets": [] }, "options": [ { "label": "Destroy target artifact.", "weight": 1, "canRepeat": false }, { "label": "Destroy target enchantment.", "weight": 1, "canRepeat": false } ], "minTotal": 1, "maxTotal": 2 }}{ "kind": "response", "promptId": 7, "action": { "type": "chooseFromSelection", "output": { "type": "selectionDecision", "chosenIndices": [ 0 ] } }}