# Signal → Action Mapping. Trigger feuern Signals (Strings); hier wird
# definiert, was bei jedem Signal passiert. Signal-Name = Trigger-Quelle:
# für Objekt-Interaktion ist es der Instance-Name ohne Blender-Suffix.
#
# Actions sind Strings im Format "verb args". Verben:
#   start_ink    <script>          Story laden (Frontend treibt sie)
#   debug_log    <text>            eprintln!
#   set          <name> <value>    KV setzen (true/false/i32/f32/string)
#   inc          <name> [<delta>]  KV-Integer +Delta (Default +1)
#   clear        <name>            KV-Eintrag entfernen
#   hide_object  <name>            deferred (Frontend): Instance ausblenden
#   play_sound   <file>            deferred (Frontend): SFX abspielen
#
# Reserviertes Signal `[init]` feuert einmal vor der Game-Loop —
# idealer Ort für KV-Defaults.

[init]
actions = [
    "set cube_clicks 0",
    "set mushrooms_collected 0",
    "set quest_mushroom_active false",
    "set quest_mushroom_done false",
]

[Mushroom]
actions = [
    "inc mushrooms_collected",
    "play_sound pickup.wav",
    "hide_object $self",
]

[Person]
actions = [
    "play_sound greet.wav",
    "start_ink person.ink.json",
]

[Suzanne]
actions = [
    "start_ink suzanne.ink.json",
]

[Cube]
actions = [
    "inc cube_clicks",
    "start_ink cube.ink.json",
]

[person_farewell]
actions = [
    "debug_log Person hat sich verabschiedet",
]

[tiffany]
actions = [
    "start_ink cinema.ink.json",
]
