# `StageWriteOptions.fadeMs`

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

Property of [`StageWriteOptions`](StageWriteOptions.md) · stable · since 2.0.0

```ts
fadeMs?: number;
```

Crossfade to the new settings. Readiness prepares every shader a stage fade draws before the commit is shown, so a fade links none, and during an HDR environment fade each lit part samples one environment. A newer write to the same stage layer takes over from what is drawn, a panorama or HDR environment from the one this fade goes to (a write back to the one it comes from reverses it), and resolves this one (spec section 6.3); a setting it writes to this fade's own target value is no takeover. Counts as 0 under reduced motion (spec section 6.2). What fades: a colour or gradient background crossfades in its encoded values (1.x's pixel lerp), a panorama blends with the one before it (or fades over a colour or gradient, which stays whole under it), and the environment's `intensity` and `rotationDeg` and an image backdrop's `intensity` tween over the one image; another environment image swaps at the commit, and every other setting lands at the commit.

**Default:** 0

## Generic-API test (spec 3.1)

| Rule | Result |
| --- | --- |
| 1. Neutral name | pass: `fadeMs` names no product |
| 2. A precedent | pass: [CSS linear-gradient()](https://developer.mozilla.org/en-US/docs/Web/CSS/gradient/linear-gradient) (row `K23`) |
| 3. Two apps, or labs | pass: 3 apps (ledger: app-4f16d2f6da, app-510d750508, app-ceb4eccc72) |
| 4. The cheaper fix first | decided per need in Appendix B: rows `K23` at tier stable (a member only where no rule, data, asset or app code serves the need) |
