Files
aetherbound-guild/docs/design-authority/pages/RSK-002-risk-commitment/state-matrix.json
T

103 lines
3.7 KiB
JSON

{
"schema_version": 1,
"page_id": "RSK-002",
"states": {
"loading": {
"primary_action": null,
"visible_slots": [
"selected_risk_skeleton",
"frozen_party_skeleton",
"consequence_skeleton",
"begin_battle_skeleton"
]
},
"commitment_summary": {
"primary_action": "review_consequences",
"secondary_actions": ["cancel_to_risk_board", "settings"],
"required_reading": [
"selected_risk_id",
"selected_region",
"same_four_member_ids",
"same_party_order",
"party_snapshot_version"
]
},
"consequence_review": {
"primary_action": "continue_to_confirmation",
"secondary_actions": ["cancel_to_risk_board", "back_to_summary", "settings"],
"required_reading": [
"known_threat",
"uncertainty_band",
"entry_coin_cost",
"current_coin_balance",
"reward_class",
"recovery_exposure",
"retreat_implication"
]
},
"ready_to_commit": {
"primary_action": "confirm_begin_battle",
"secondary_actions": ["cancel_to_risk_board", "back_to_consequences", "settings"],
"required_reading": [
"selected_risk_identity",
"frozen_party_snapshot",
"coin_cost_and_remaining_balance",
"irreversible_commitment_summary",
"one_receipt_then_bat001"
]
},
"committing": {
"primary_action": null,
"secondary_actions": [],
"visible_slots": ["commit_progress", "dependency_validation", "no_duplicate_submission"],
"reason": "The commitment request is in flight; input is locked until the authoritative receipt or a recoverable error is returned."
},
"commitment_receipt": {
"primary_action": "open_battle_opening",
"secondary_actions": ["review_receipt"],
"required_reading": [
"commitment_receipt_id",
"selected_risk_id",
"same_party_snapshot_version",
"coin_spent_once",
"battle_opening_is_next"
]
},
"stale_dependency": {
"primary_action": "reload_risk_board",
"secondary_actions": ["return_to_party_line", "safe_exit"],
"reason": "The selected risk, Party snapshot, Company or ruleset changed outside this page. Discard the stale review and reload the owning source before committing."
},
"insufficient_coin": {
"primary_action": "return_to_risk_board",
"secondary_actions": ["return_to_guild", "safe_exit"],
"reason": "Current Coin is below the sourced entry cost. No Coin is spent; the player must return to the Risk Board or Guild to recover or choose another legal option."
},
"invalid_option": {
"primary_action": "reload_risk_board",
"secondary_actions": ["return_to_readiness", "safe_exit"],
"reason": "The selected option ID, projection or Party binding cannot be verified. Commitment is blocked and no fallback option is invented."
},
"interrupted_resume": {
"primary_action": "resume_commitment_review",
"secondary_actions": ["discard_review", "safe_exit"],
"required_reading": [
"same_selected_risk_id",
"same_four_member_ids",
"same_party_order",
"same_snapshot_version",
"no_partial_spend"
]
},
"commit_receipt_exists": {
"primary_action": "open_battle_opening",
"secondary_actions": ["review_receipt", "return_to_risk_board"],
"reason": "A commitment for this operation already exists. Return the original receipt and never spend Coin or create another battle receipt."
}
},
"required_viewports": ["760x360", "844x390", "1280x720"],
"required_locales": ["zh_CN", "en"],
"required_text_scales": [100],
"required_input": ["touch", "keyboard_focus", "controller_focus"]
}