Resolved
True once a scene’s Resolved when expression has latched. Once true under a poll, it stays true for the rest of the run, even if the predicate would later evaluate false. The right gate for encounter affordances that should disappear once the conversation is done.
Category: Scene state
Returns: bool
Signature
Resolved(sceneId)
The argument is a scene ID (scene_kim_chat). The result is read against
the runtime’s set of resolved scenes.
Examples
!Resolved(scene_kim_chat) // hide the Kim affordance once their
// conversation has resolved
Resolved(scene_act1_finale) // gate epilogue dialogue
Resolved(scene_quest_a) && Resolved(scene_quest_b)
// both side-quests must be settled
Notes
A scene with no Resolved when expression set at all always returns false, whether or not it’s ever polled.
The latch fires only on poll. Setting a scene’s Resolved when alone
is not enough. The scene only joins the resolved set when something
actually evaluates a Resolved() call for it (or the encounter system’s
Hide when resolved filter polls it). A scene whose Resolved when is
set but never polled stays unresolved forever.
Once latched, the result sticks regardless of subsequent variable changes. This is intentional. Encounters should not flicker back into availability if the predicate momentarily flips false.