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.

Docs last synced: 2026-07-08
Screenshot viewer