FolioTier 1
call
Run another scene as a subroutine, return when it finishes.
Use call when you want to hand execution off to another scene and come back. The target scene runs completely - playing through its dialogue, effects, and logic - and then execution returns to the line immediately after the call. This is the primary tool for reusing scenes across your project: shared flashbacks, recurring dream sequences, tutorial overlays, or any chunk of story that more than one path needs to visit.
The called scene does not need to do anything special to return; reaching its natural end is sufficient. If the called scene contains its own call instructions, those nest correctly - each returns to its own caller in order. Be careful about calling a scene that eventually calls back into the current one, even indirectly; that creates an unbounded loop with no built-in safety. call is a one-way trip with a guaranteed return, so it is distinct from a plain jump: after a jump there is no return, whereas after a call the rest of your current scene still runs. If you only want to go somewhere and never come back, reach for jump instead.
Parameters
| Parameter | Kind | Required | Default | Notes |
|---|---|---|---|---|
| target | scene target | yes | - | Identifier of the scene to call into. The called scene runs to its `return` (or `end`); execution then resumes at the line after the `call`. |
Canonical example
call shared-cutscene
say "Emma": "Now where were we?"call shared_cutscene
e "Now where were we?"call is the subroutine primitive - like jump, but the called scene
is expected to return so execution can resume at the line after the
call. Use it for shared cutscenes, recurring transitions, or any
sub-flow that multiple scenes invoke without forking the story.
Notes
The runtime maintains a call stack per playthrough. Nested calls work
(scene A calls B, B calls C); each return pops one frame. A jump
inside a called scene clears the stack - control transfers to the
jump target without returning to the caller.
call does not pass arguments. The called scene reads the same
project state every other scene reads. If you need parameterised
behaviour, set state variables before the call and read them inside
the called scene.
An imported route can include carry-stage between the target and an
optional if tail. It preserves the live backdrop and sprites while
opening the called scene. Native Vizno calls omit the modifier and clear
the stage at the scene boundary.
If the called scene contains an end, the playthrough terminates
there - the calling scene never sees its return. Don't put end
inside a scene meant to be called.
Authoring surface
call is a first-class entry in the Forge timeline's insert palette
(category Flow). The inline composer pairs a scene picker (the
target subroutine) with an optional "Only if" guard expression. The
inspector exposes the same two fields, so an existing call event's
target and guard round-trip cleanly.
See also
return- pop the call stack and resume the callerjump- transfer without a returnscene-flow- full routing vocabulary