# ============================================================
# Pattern 4 Target: Started by GDScript Signal Handler
# ============================================================
# This timeline was started by gym_controller.gd in response
# to the "demo_chain" signal from gym_pattern4_signal_chain.dtl.
# ============================================================

join Advisor right

Advisor (surprise): I was started by GDScript!
Advisor (pl5): The `dialogic.signal_event` signal fired with\
the argument "demo_chain".

[wait time="1.0"]

Advisor (pl5): The controller script caught it and called\
`Dialogic.start_timeline("gym_pattern4_signal_target")`.

Advisor (doubt): This is the most flexible pattern because...
Advisor (pl5): ...GDScript can do ANYTHING before starting the next timeline:\
load scenes, animate sprites, play audio, check conditions...

[wait time="2.0"]

Advisor (pl5): Signal args can be strings (like "demo_chain")\
or full dictionaries for complex data.

Advisor (surprise): One caveat: `start_timeline()` doesn't use the jump stack.
Advisor (pl5): So there's no automatic `return` path. You control flow in code.

[wait time="1.5"]

Advisor (pl5): Ready to go back to the hub?
jump gym_main/menu
