Animation · function

springChainSettleSec

The same, for a chain, which remembers longer than any of its links.

Explained in Animation.

function springChainSettleSec(links: readonly SpringLink[]): number
import { springChainSettleSec } from '@driftengine/animation';

Parameters

ParameterTypeDescription
linksreadonly SpringLink[]

In depth

A cascade does not forget at its slowest link's rate. A disturbance entering the top has to travel down before it can die out, so the composite response carries a polynomial in t alongside the exponential and the settle time grows with depth. Taking one link's lookback for four would leave the sampler carrying a start transient into its answer, which is exactly the defect the purity test exists to catch.

The bound is the survival function of the cascade — e^(-x) Σ x^k/k! for k under the link count, with x = σt — solved for EPSILON. σ is the slowest link and the depth is taken as a full multiplicity, which is the worst case: links that differ have distinct poles and settle sooner than this says. Erring long costs substeps; erring short costs correctness.