# Outcome `'staged'`

> Contract 2.0.0 · package sha256 `a857eca95b35921109faf997094bb4192f12527d9d0fcd4be7e97f06425bad6e` · generated from `configurator-runtime.d.ts` and `tables/problems.json` by `services/onsite-scripter/scripts/build-contract-docs.mjs`; edit the source, not this file.

A member of [`Outcome`](../api/Outcome.md) · stable · since 2.0.0

written through a `tx`; the open transaction decides.

## Where the declaration names it

- [`Assembly.attach`](../api/Assembly.attach.md): Through a `tx`: 'staged', and a dropped connection that the same transaction attaches again is not a problem.
- [`PartActions.set`](../api/PartActions.set.md): Timing: resolves at the commit point (after textures decode, ≤ readyTimeoutMs), or when `durationMs`/`fadeMs` end or a newer write to the rule takes them over (through a `tx`: 'staged' at once).
- [`PartWriteOptions.durationMs`](../api/PartWriteOptions.durationMs.md): The Promise resolves when it ends; through a `tx`, 'staged' at once, and the tween starts when the commit is shown.
- [`Session.transaction`](../api/Session.transaction.md): - Camera moves and clips through `tx` resolve 'deferred' and start when the commit is shown; a `durationMs` or `fadeMs` tween (rules, materials, the stage) resolves 'staged' at once and also starts then, so awaiting it inside `work` never waits for the tween; [`animations.reset`](../api/Animations.reset.md) and `stop` are staged, so reads see frame 0 at once.
- [`SignalOption.signal`](../api/SignalOption.signal.md): Through a `tx` the commit point is the transaction's: aborting a write still loading rejects AbortError and stages nothing (catch it: unobserved, it rolls the transaction back, spec section 6.1, O6); aborting one already staged unstages it, its paths keeping the latest other write to them as after a failed savepoint (O7), and its Promise stays resolved 'staged'.
- [`Stage.set`](../api/Stage.set.md): Through a `tx`: 'staged' once the environment or panorama it names has loaded (at once when it names none), and `fadeMs` starts when the commit is shown (spec section 6.3).
- [`Tx.transaction`](../api/Tx.transaction.md): Outcome: 'staged', with `value`.
- [`Writer.applyPatch`](../api/Writer.applyPatch.md): Outcome: 'committed' at its commit point, after its loads; through a `tx`, 'staged' once the assets it names have loaded (a node it enables, a new `glbUrl`).
- [`Writer.select`](../api/Writer.select.md): Outcome: 'committed' at its commit point, after its loads; through a `tx`, 'staged' once the assets it names have loaded (asset failures: `problems`).
- [`Writer.setSceneModel`](../api/Writer.setSceneModel.md): Outcome: 'committed' at its commit point, after its loads; through a `tx`, 'staged' once loaded; 'rolled-back' with reason 'internal-error' when applying it failed inside the runtime (through a `tx`, it then rejects AbortError and the transaction resolves 'rolled-back'; spec section 6.4).

The set is open: handle a code you don't know (`'other'`).
