本番では HtmlAnimation.start() が `animationCallbacks.push(update)` を行い、Promise.all の後に animate() が全件ループします。 配列長が増えると 1 フレームあたりのループコストが増えることを可視化します。