extends is script composition, not page-state carryover: the child still
starts from a fresh load in a fresh context and replays the parent's steps.
Replay costs wall clock and buys the thing that matters — any state runs on
any worker, in any order, with no cross-task coupling.
Three things flow down a chain: the steps, url, and allowVideoReplay.
Everything else (precondition, viewports, timeoutMs) describes the
child's own capture rather than the script it replays.
Flattens every state's
extendschain.extendsis script composition, not page-state carryover: the child still starts from a fresh load in a fresh context and replays the parent's steps. Replay costs wall clock and buys the thing that matters — any state runs on any worker, in any order, with no cross-task coupling.Three things flow down a chain: the steps,
url, andallowVideoReplay. Everything else (precondition,viewports,timeoutMs) describes the child's own capture rather than the script it replays.Throws StateDefinitionError on an unknown parent, a cycle, or a chain deeper than MAX_STATE_CHAIN_DEPTH.