103 lines
3.7 KiB
JSON
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"]
|
|
}
|