@energy8platform/game-engine 0.34.3 → 0.35.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/core.cjs.js CHANGED
@@ -1524,6 +1524,14 @@ class Scene {
1524
1524
  * tap-to-start → `waitCSSPreloaderTap`, then fades it out via
1525
1525
  * `removeCSSPreloader` before entering the game. One continuous overlay from
1526
1526
  * boot to gameplay — no second logo, no mid-load flash.
1527
+ *
1528
+ * When the game supplied its own overlay (`loading.externalOverlay`, e.g.
1529
+ * Artube's `LoaderViewController`), this scene is also the HAND-OVER point: that
1530
+ * overlay covered the gap this scene's existence ends — the bundle download,
1531
+ * Pixi init and the SDK handshake, none of which the engine can paint over. The
1532
+ * first thing `onEnter` does is mount the preloader, wait for it to be painted,
1533
+ * and dismiss the game's overlay. Everything after that line is identical on
1534
+ * every platform.
1527
1535
  */
1528
1536
  class LoadingScene extends Scene {
1529
1537
  _engine;
@@ -1541,6 +1549,10 @@ class LoadingScene extends Scene {
1541
1549
  this._targetScene = targetScene;
1542
1550
  this._targetData = targetData;
1543
1551
  this._config = engine.config.loading ?? {};
1552
+ // Take the screen from a game-supplied loading overlay, if there is one. Before any awaited
1553
+ // work: from here on the player is looking at OUR loading screen, and `_startTime` (which
1554
+ // `minDisplayTime` is measured from) must start when that becomes true.
1555
+ await this.takeOverFromExternalOverlay();
1544
1556
  this._startTime = Date.now();
1545
1557
  // Initialize asset manager
1546
1558
  await this._engine.assets.init();
@@ -1587,8 +1599,10 @@ class LoadingScene extends Scene {
1587
1599
  // Final snap to 100%
1588
1600
  this._displayedProgress = 1;
1589
1601
  this.updateLoaderBar(1);
1590
- // Wait for the player's tap — resolves immediately when tapToStart is
1591
- // false (the preloader honours that flag) then enter the game.
1602
+ // Wait for the player's tap — resolves immediately when tapToStart is false — then enter the
1603
+ // game. This is the preloader's gate and it reads the preloader's config, so it means the same
1604
+ // thing on every target: a game-supplied overlay has no say in it, and by now no part in the
1605
+ // screen either. It was dismissed at the hand-over above; the player is looking at ours.
1592
1606
  await loading.waitCSSPreloaderTap();
1593
1607
  await this.transitionToGame();
1594
1608
  }
@@ -1607,6 +1621,59 @@ class LoadingScene extends Scene {
1607
1621
  // (e.g. the scene was popped externally). Idempotent.
1608
1622
  void loading.removeCSSPreloader(this.hostElement());
1609
1623
  }
1624
+ // ─── Hand-over from a game-supplied overlay ────────────
1625
+ /**
1626
+ * Swap a game-supplied loading overlay for the engine's own loading screen.
1627
+ *
1628
+ * The overlay (Artube's) has been on screen since before this bundle was fetched, covering a gap
1629
+ * nothing of ours could. Its job ends here, at the first frame the engine paints; the player then
1630
+ * gets the game's own brand, progress bar and tap-to-start, exactly as on every other target.
1631
+ *
1632
+ * The order of the four steps is the whole design, and each is wrong on its own:
1633
+ *
1634
+ * 0. Wait out whatever the overlay is still owed on screen (`externalOverlayMinDisplayTime`,
1635
+ * default 1.5s, plus room for a phase crossfade already in flight). The gap this overlay
1636
+ * covers can be under half a second, which is not long enough for a partner's brand to
1637
+ * register. Waiting here — BEFORE mounting ours — rather than after is what keeps the two
1638
+ * screens' timelines from overlapping: our splash and brand floor start when the player can
1639
+ * actually see them, not behind someone else's overlay. On any boot slower than the floor
1640
+ * this step costs nothing, and on a non-Artube target it is not reached at all.
1641
+ * 1. Mount the preloader, opaque and full-bleed, while theirs is still up. Both are on screen
1642
+ * together for a few frames, so there is never a moment with neither, whatever happens next.
1643
+ * 2. Wait for that frame to actually be PAINTED — mounting only queues it. Dismissing theirs
1644
+ * before the paint is precisely the flash of bare background this ordering exists to avoid.
1645
+ * Two `requestAnimationFrame`s: the first callback runs before the frame it belongs to is
1646
+ * composited, the second after. Two frames is also enough for Pixi's own rAF-driven ticker
1647
+ * to have rendered this scene at least once, so "the loading scene has painted" is literally
1648
+ * true by the time step 3 runs.
1649
+ * 3. Only then dismiss theirs. Their `hideLoader()` plays a 0.3s fade and removes the element.
1650
+ * Not waiting for that fade is deliberate — it is an animation on someone else's element,
1651
+ * and blocking a boot on it would be a hang waiting to happen.
1652
+ *
1653
+ * Which of the two is visually on top is the host page's business, not ours, and it does NOT
1654
+ * change the guarantee. On a typical game page (`#game { position: fixed; inset: 0 }`) the fixed
1655
+ * container establishes a stacking context, so the preloader's z-index is scoped inside it and
1656
+ * Artube's `position: fixed; z-index: 9999` sits above — their fade then crossfades onto our
1657
+ * loading screen, which is what was observed live and looks right. On a page where ours wins
1658
+ * instead, their fade simply plays underneath, unseen. Either way the seam is covered, because
1659
+ * what step 2 buys is that OUR screen is already painted before theirs starts going away.
1660
+ */
1661
+ async takeOverFromExternalOverlay() {
1662
+ if (!loading.hasExternalOverlay())
1663
+ return;
1664
+ await loading.externalOverlayHold();
1665
+ loading.createCSSPreloader(this.hostElement(), this._config);
1666
+ await this.nextPaint();
1667
+ loading.releaseExternalOverlay();
1668
+ }
1669
+ /** Resolves after the browser has composited at least one frame (see step 2 above). */
1670
+ nextPaint() {
1671
+ if (typeof requestAnimationFrame !== 'function')
1672
+ return Promise.resolve();
1673
+ return new Promise((resolve) => {
1674
+ requestAnimationFrame(() => requestAnimationFrame(() => resolve()));
1675
+ });
1676
+ }
1610
1677
  // ─── Progress ──────────────────────────────────────────
1611
1678
  updateLoaderBar(progress) {
1612
1679
  loading.setCSSPreloaderProgress(Math.max(0, Math.min(1, progress)));
@@ -1861,14 +1928,37 @@ class GameApplication extends EventEmitter {
1861
1928
  return;
1862
1929
  }
1863
1930
  try {
1931
+ // 0. Adopt a game-supplied loading overlay (`loading.externalOverlay`) BEFORE anything that
1932
+ // can throw. Such an overlay is already on screen — Artube's is injected into index.html,
1933
+ // so it paints before this bundle is even fetched — and until the engine has adopted it,
1934
+ // the catch below has no way to take it down. A bad `container` selector (step 1) would
1935
+ // otherwise strand it on screen forever. It needs no container of ours.
1936
+ // Adoption is also where its minimum display time starts counting, which is why the
1937
+ // config value is handed over here rather than read at the hand-over: this is the
1938
+ // earliest moment the engine runs, and the overlay has been on screen since before it.
1939
+ const external = this.config.loading?.externalOverlay;
1940
+ if (external)
1941
+ loading.adoptExternalOverlay(external, this.config.loading?.externalOverlayMinDisplayTime);
1864
1942
  // 1. Resolve container element
1865
1943
  this._container = this.resolveContainer();
1866
- // 2. Show CSS preloader immediately (before PixiJS)
1867
- loading.createCSSPreloader(this._container, this.config.loading);
1944
+ // 2. Show the CSS preloader immediately (before PixiJS) — UNLESS a game-supplied overlay is
1945
+ // already covering the screen. In that case the preloader is mounted later, by LoadingScene
1946
+ // at its first frame, which is where the hand-over happens. Mounting it here instead would
1947
+ // put our brand over theirs for the whole of Pixi init and the SDK handshake, i.e. hand
1948
+ // over long before the gap the external overlay exists to cover has closed.
1949
+ if (!loading.hasExternalOverlay())
1950
+ loading.createCSSPreloader(this._container, this.config.loading);
1868
1951
  // 3. Initialize PixiJS
1869
1952
  await this.initPixi();
1953
+ // Milestones through the pre-first-frame gap, for a game-supplied overlay only (no-ops
1954
+ // otherwise, so the built-in preloader's behaviour is untouched). They are also what makes
1955
+ // Artube's loader crossfade from its dark partner phase to its branded one: that transition
1956
+ // fires on the first progress above zero, and without it the player would never see the
1957
+ // brand the loader exists to show. Values are honest weights of what remains, not a timer.
1958
+ loading.advanceExternalOverlay(0.35);
1870
1959
  // 4. Initialize SDK (if enabled)
1871
1960
  await this.initSDK();
1961
+ loading.advanceExternalOverlay(0.7);
1872
1962
  // 4b. Mount the branded game shell after the SDK handshake (optional)
1873
1963
  if (this.config.shell) {
1874
1964
  const { createGameShell } = await import('@energy8platform/shell/html');
@@ -1878,10 +1968,17 @@ class GameApplication extends EventEmitter {
1878
1968
  this.applySDKConfig();
1879
1969
  // 6. Initialize sub-systems
1880
1970
  this.initSubSystems();
1971
+ loading.advanceExternalOverlay(0.85);
1881
1972
  this.emit('initialized');
1882
1973
  // 7. Load assets. The CSS preloader stays on screen — LoadingScene drives
1883
1974
  // its progress/tap and removes it before entering the game, so there's
1884
1975
  // a single continuous overlay from boot to gameplay (no logo flash).
1976
+ //
1977
+ // With a game-supplied overlay the sequence has one extra step at the
1978
+ // front: LoadingScene MOUNTS the preloader, waits for its first painted
1979
+ // frame, and only then dismisses the external overlay. From that frame
1980
+ // on this path and every other are identical — same brand, same bar,
1981
+ // same tap-to-start.
1885
1982
  await this.loadAssets(firstScene, sceneData);
1886
1983
  this.emit('loaded');
1887
1984
  // 8. Start the game loop
@@ -1890,9 +1987,13 @@ class GameApplication extends EventEmitter {
1890
1987
  }
1891
1988
  catch (err) {
1892
1989
  console.error('[GameEngine] Failed to start:', err);
1893
- // Tear down the preloader so a failure doesn't strand the brand frame.
1894
- if (this._container)
1895
- loading.removeCSSPreloader(this._container);
1990
+ // Tear down both possible overlays so a failure strands neither brand frame. BOTH calls run:
1991
+ // a throw during the hand-over window can leave the preloader mounted AND the external
1992
+ // overlay still adopted, and each call is a no-op when there is nothing to remove. The
1993
+ // container may never have resolved (step 1 is inside this try), hence the `document.body`
1994
+ // fallback — the external overlay ignores the element entirely.
1995
+ loading.releaseExternalOverlay();
1996
+ void loading.removeCSSPreloader(this._container ?? document.body);
1896
1997
  this.emit('error', err instanceof Error ? err : new Error(String(err)));
1897
1998
  throw err;
1898
1999
  }
@@ -1 +1 @@
1
- {"version":3,"file":"core.cjs.js","sources":["../src/types.ts","../src/core/EventEmitter.ts","../src/animation/Easing.ts","../src/animation/Tween.ts","../src/core/SceneManager.ts","../src/assets/AssetManager.ts","../src/audio/AudioManager.ts","../src/input/InputManager.ts","../src/viewport/ViewportManager.ts","../src/core/Scene.ts","../src/loading/LoadingScene.ts","../src/debug/FPSOverlay.ts","../src/core/GameApplication.ts","../src/scenes/IntroScene.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["Ticker","TT","Assets","Container","waitCSSPreloaderTap","removeCSSPreloader","setCSSPreloaderProgress","Text","createCSSPreloader","Application","createPlatformSession","Graphics"],"mappings":"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"}
1
+ {"version":3,"file":"core.cjs.js","sources":["../src/types.ts","../src/core/EventEmitter.ts","../src/animation/Easing.ts","../src/animation/Tween.ts","../src/core/SceneManager.ts","../src/assets/AssetManager.ts","../src/audio/AudioManager.ts","../src/input/InputManager.ts","../src/viewport/ViewportManager.ts","../src/core/Scene.ts","../src/loading/LoadingScene.ts","../src/debug/FPSOverlay.ts","../src/core/GameApplication.ts","../src/scenes/IntroScene.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["Ticker","TT","Assets","Container","waitCSSPreloaderTap","removeCSSPreloader","hasExternalOverlay","externalOverlayHold","createCSSPreloader","releaseExternalOverlay","setCSSPreloaderProgress","Text","adoptExternalOverlay","advanceExternalOverlay","Application","createPlatformSession","Graphics"],"mappings":"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"}
package/dist/core.esm.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { Ticker, Assets, Container, Text, Application, Graphics } from 'pixi.js';
2
2
  import { createPlatformSession } from '@energy8platform/platform-core';
3
- import { waitCSSPreloaderTap, removeCSSPreloader, setCSSPreloaderProgress, createCSSPreloader } from '@energy8platform/platform-core/loading';
3
+ import { waitCSSPreloaderTap, removeCSSPreloader, hasExternalOverlay, externalOverlayHold, createCSSPreloader, releaseExternalOverlay, setCSSPreloaderProgress, adoptExternalOverlay, advanceExternalOverlay } from '@energy8platform/platform-core/loading';
4
4
 
5
5
  // ─── Scale Modes ───────────────────────────────────────────
6
6
  var ScaleMode;
@@ -1522,6 +1522,14 @@ class Scene {
1522
1522
  * tap-to-start → `waitCSSPreloaderTap`, then fades it out via
1523
1523
  * `removeCSSPreloader` before entering the game. One continuous overlay from
1524
1524
  * boot to gameplay — no second logo, no mid-load flash.
1525
+ *
1526
+ * When the game supplied its own overlay (`loading.externalOverlay`, e.g.
1527
+ * Artube's `LoaderViewController`), this scene is also the HAND-OVER point: that
1528
+ * overlay covered the gap this scene's existence ends — the bundle download,
1529
+ * Pixi init and the SDK handshake, none of which the engine can paint over. The
1530
+ * first thing `onEnter` does is mount the preloader, wait for it to be painted,
1531
+ * and dismiss the game's overlay. Everything after that line is identical on
1532
+ * every platform.
1525
1533
  */
1526
1534
  class LoadingScene extends Scene {
1527
1535
  _engine;
@@ -1539,6 +1547,10 @@ class LoadingScene extends Scene {
1539
1547
  this._targetScene = targetScene;
1540
1548
  this._targetData = targetData;
1541
1549
  this._config = engine.config.loading ?? {};
1550
+ // Take the screen from a game-supplied loading overlay, if there is one. Before any awaited
1551
+ // work: from here on the player is looking at OUR loading screen, and `_startTime` (which
1552
+ // `minDisplayTime` is measured from) must start when that becomes true.
1553
+ await this.takeOverFromExternalOverlay();
1542
1554
  this._startTime = Date.now();
1543
1555
  // Initialize asset manager
1544
1556
  await this._engine.assets.init();
@@ -1585,8 +1597,10 @@ class LoadingScene extends Scene {
1585
1597
  // Final snap to 100%
1586
1598
  this._displayedProgress = 1;
1587
1599
  this.updateLoaderBar(1);
1588
- // Wait for the player's tap — resolves immediately when tapToStart is
1589
- // false (the preloader honours that flag) then enter the game.
1600
+ // Wait for the player's tap — resolves immediately when tapToStart is false — then enter the
1601
+ // game. This is the preloader's gate and it reads the preloader's config, so it means the same
1602
+ // thing on every target: a game-supplied overlay has no say in it, and by now no part in the
1603
+ // screen either. It was dismissed at the hand-over above; the player is looking at ours.
1590
1604
  await waitCSSPreloaderTap();
1591
1605
  await this.transitionToGame();
1592
1606
  }
@@ -1605,6 +1619,59 @@ class LoadingScene extends Scene {
1605
1619
  // (e.g. the scene was popped externally). Idempotent.
1606
1620
  void removeCSSPreloader(this.hostElement());
1607
1621
  }
1622
+ // ─── Hand-over from a game-supplied overlay ────────────
1623
+ /**
1624
+ * Swap a game-supplied loading overlay for the engine's own loading screen.
1625
+ *
1626
+ * The overlay (Artube's) has been on screen since before this bundle was fetched, covering a gap
1627
+ * nothing of ours could. Its job ends here, at the first frame the engine paints; the player then
1628
+ * gets the game's own brand, progress bar and tap-to-start, exactly as on every other target.
1629
+ *
1630
+ * The order of the four steps is the whole design, and each is wrong on its own:
1631
+ *
1632
+ * 0. Wait out whatever the overlay is still owed on screen (`externalOverlayMinDisplayTime`,
1633
+ * default 1.5s, plus room for a phase crossfade already in flight). The gap this overlay
1634
+ * covers can be under half a second, which is not long enough for a partner's brand to
1635
+ * register. Waiting here — BEFORE mounting ours — rather than after is what keeps the two
1636
+ * screens' timelines from overlapping: our splash and brand floor start when the player can
1637
+ * actually see them, not behind someone else's overlay. On any boot slower than the floor
1638
+ * this step costs nothing, and on a non-Artube target it is not reached at all.
1639
+ * 1. Mount the preloader, opaque and full-bleed, while theirs is still up. Both are on screen
1640
+ * together for a few frames, so there is never a moment with neither, whatever happens next.
1641
+ * 2. Wait for that frame to actually be PAINTED — mounting only queues it. Dismissing theirs
1642
+ * before the paint is precisely the flash of bare background this ordering exists to avoid.
1643
+ * Two `requestAnimationFrame`s: the first callback runs before the frame it belongs to is
1644
+ * composited, the second after. Two frames is also enough for Pixi's own rAF-driven ticker
1645
+ * to have rendered this scene at least once, so "the loading scene has painted" is literally
1646
+ * true by the time step 3 runs.
1647
+ * 3. Only then dismiss theirs. Their `hideLoader()` plays a 0.3s fade and removes the element.
1648
+ * Not waiting for that fade is deliberate — it is an animation on someone else's element,
1649
+ * and blocking a boot on it would be a hang waiting to happen.
1650
+ *
1651
+ * Which of the two is visually on top is the host page's business, not ours, and it does NOT
1652
+ * change the guarantee. On a typical game page (`#game { position: fixed; inset: 0 }`) the fixed
1653
+ * container establishes a stacking context, so the preloader's z-index is scoped inside it and
1654
+ * Artube's `position: fixed; z-index: 9999` sits above — their fade then crossfades onto our
1655
+ * loading screen, which is what was observed live and looks right. On a page where ours wins
1656
+ * instead, their fade simply plays underneath, unseen. Either way the seam is covered, because
1657
+ * what step 2 buys is that OUR screen is already painted before theirs starts going away.
1658
+ */
1659
+ async takeOverFromExternalOverlay() {
1660
+ if (!hasExternalOverlay())
1661
+ return;
1662
+ await externalOverlayHold();
1663
+ createCSSPreloader(this.hostElement(), this._config);
1664
+ await this.nextPaint();
1665
+ releaseExternalOverlay();
1666
+ }
1667
+ /** Resolves after the browser has composited at least one frame (see step 2 above). */
1668
+ nextPaint() {
1669
+ if (typeof requestAnimationFrame !== 'function')
1670
+ return Promise.resolve();
1671
+ return new Promise((resolve) => {
1672
+ requestAnimationFrame(() => requestAnimationFrame(() => resolve()));
1673
+ });
1674
+ }
1608
1675
  // ─── Progress ──────────────────────────────────────────
1609
1676
  updateLoaderBar(progress) {
1610
1677
  setCSSPreloaderProgress(Math.max(0, Math.min(1, progress)));
@@ -1859,14 +1926,37 @@ class GameApplication extends EventEmitter {
1859
1926
  return;
1860
1927
  }
1861
1928
  try {
1929
+ // 0. Adopt a game-supplied loading overlay (`loading.externalOverlay`) BEFORE anything that
1930
+ // can throw. Such an overlay is already on screen — Artube's is injected into index.html,
1931
+ // so it paints before this bundle is even fetched — and until the engine has adopted it,
1932
+ // the catch below has no way to take it down. A bad `container` selector (step 1) would
1933
+ // otherwise strand it on screen forever. It needs no container of ours.
1934
+ // Adoption is also where its minimum display time starts counting, which is why the
1935
+ // config value is handed over here rather than read at the hand-over: this is the
1936
+ // earliest moment the engine runs, and the overlay has been on screen since before it.
1937
+ const external = this.config.loading?.externalOverlay;
1938
+ if (external)
1939
+ adoptExternalOverlay(external, this.config.loading?.externalOverlayMinDisplayTime);
1862
1940
  // 1. Resolve container element
1863
1941
  this._container = this.resolveContainer();
1864
- // 2. Show CSS preloader immediately (before PixiJS)
1865
- createCSSPreloader(this._container, this.config.loading);
1942
+ // 2. Show the CSS preloader immediately (before PixiJS) — UNLESS a game-supplied overlay is
1943
+ // already covering the screen. In that case the preloader is mounted later, by LoadingScene
1944
+ // at its first frame, which is where the hand-over happens. Mounting it here instead would
1945
+ // put our brand over theirs for the whole of Pixi init and the SDK handshake, i.e. hand
1946
+ // over long before the gap the external overlay exists to cover has closed.
1947
+ if (!hasExternalOverlay())
1948
+ createCSSPreloader(this._container, this.config.loading);
1866
1949
  // 3. Initialize PixiJS
1867
1950
  await this.initPixi();
1951
+ // Milestones through the pre-first-frame gap, for a game-supplied overlay only (no-ops
1952
+ // otherwise, so the built-in preloader's behaviour is untouched). They are also what makes
1953
+ // Artube's loader crossfade from its dark partner phase to its branded one: that transition
1954
+ // fires on the first progress above zero, and without it the player would never see the
1955
+ // brand the loader exists to show. Values are honest weights of what remains, not a timer.
1956
+ advanceExternalOverlay(0.35);
1868
1957
  // 4. Initialize SDK (if enabled)
1869
1958
  await this.initSDK();
1959
+ advanceExternalOverlay(0.7);
1870
1960
  // 4b. Mount the branded game shell after the SDK handshake (optional)
1871
1961
  if (this.config.shell) {
1872
1962
  const { createGameShell } = await import('@energy8platform/shell/html');
@@ -1876,10 +1966,17 @@ class GameApplication extends EventEmitter {
1876
1966
  this.applySDKConfig();
1877
1967
  // 6. Initialize sub-systems
1878
1968
  this.initSubSystems();
1969
+ advanceExternalOverlay(0.85);
1879
1970
  this.emit('initialized');
1880
1971
  // 7. Load assets. The CSS preloader stays on screen — LoadingScene drives
1881
1972
  // its progress/tap and removes it before entering the game, so there's
1882
1973
  // a single continuous overlay from boot to gameplay (no logo flash).
1974
+ //
1975
+ // With a game-supplied overlay the sequence has one extra step at the
1976
+ // front: LoadingScene MOUNTS the preloader, waits for its first painted
1977
+ // frame, and only then dismisses the external overlay. From that frame
1978
+ // on this path and every other are identical — same brand, same bar,
1979
+ // same tap-to-start.
1883
1980
  await this.loadAssets(firstScene, sceneData);
1884
1981
  this.emit('loaded');
1885
1982
  // 8. Start the game loop
@@ -1888,9 +1985,13 @@ class GameApplication extends EventEmitter {
1888
1985
  }
1889
1986
  catch (err) {
1890
1987
  console.error('[GameEngine] Failed to start:', err);
1891
- // Tear down the preloader so a failure doesn't strand the brand frame.
1892
- if (this._container)
1893
- removeCSSPreloader(this._container);
1988
+ // Tear down both possible overlays so a failure strands neither brand frame. BOTH calls run:
1989
+ // a throw during the hand-over window can leave the preloader mounted AND the external
1990
+ // overlay still adopted, and each call is a no-op when there is nothing to remove. The
1991
+ // container may never have resolved (step 1 is inside this try), hence the `document.body`
1992
+ // fallback — the external overlay ignores the element entirely.
1993
+ releaseExternalOverlay();
1994
+ void removeCSSPreloader(this._container ?? document.body);
1894
1995
  this.emit('error', err instanceof Error ? err : new Error(String(err)));
1895
1996
  throw err;
1896
1997
  }