Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Actions and hooks

Interactive screen surfaces fire interaction.hooks with action payloads.

"interaction": {
  "hooks": {
    "on_click": "close",
    "on_hover_enter": { "type": "ui_sfx", "name": "hover" }
  }
}

Usually you need

PayloadExample
Verb string"close", "new_game", "screen:settings"
Command object{ "type": "set_flag", "values": { "seen": true } }
Array[ "close", { "type": "app_action", "name": "resume" } ]

Payload shapes

FormExamples
String verb"close", "start", "continue", "save", "load", "save_slot:1", "load_slot:1", "new_game", "new_game:ep2" (early multi-story), "quit", "title", "screen:save", "screen:load", "screen:pause", "cursor:push:inspect", "url:https://…"
Command objectset_flag, app_action, ui_sfx, ui_transition, jump, ui_advance, cursor, ui_animate
ArrayMix of the above

Events by surface

SurfaceEvents
Backgroundon_click
Buttons / chromeon_click, on_focus, on_blur, on_hover_enter / exit, on_show, on_hide
Slider / toggleon_change, on_commit, focus/hover/show/hide
Spritesclick / hover / focus / show / hide

hooks_override with null removes an inherited event. Shape: Interaction hooks. Concept: Buttons and actions.