@@ -18943,6 +18943,26 @@ class AAssets extends _a_node_js__WEBPACK_IMPORTED_MODULE_0__.ANode {
1894318943 this.fileLoader = fileLoader;
1894418944 this.timeout = null;
1894518945 }
18946+
18947+ /**
18948+ * Override connectedCallback to initialize at 'interactive' instead of 'complete'.
18949+ * This allows the timeout mechanism to work before loading the images.
18950+ * If we wait for 'complete', all resources (including images) are already loaded.
18951+ */
18952+ connectedCallback() {
18953+ var self = this;
18954+ if (document.readyState === 'interactive' || document.readyState === 'complete') {
18955+ this.doConnectedCallback();
18956+ return;
18957+ }
18958+ document.addEventListener('readystatechange', function onReadyStateChange() {
18959+ if (document.readyState !== 'interactive' && document.readyState !== 'complete') {
18960+ return;
18961+ }
18962+ document.removeEventListener('readystatechange', onReadyStateChange);
18963+ self.doConnectedCallback();
18964+ });
18965+ }
1894618966 doConnectedCallback() {
1894718967 var self = this;
1894818968 var i;
@@ -21996,8 +22016,41 @@ class AScene extends _a_entity_js__WEBPACK_IMPORTED_MODULE_7__.AEntity {
2199622016 removeFullScreenStyles() {
2199722017 document.documentElement.classList.remove('a-fullscreen');
2199822018 }
21999- doConnectedCallback() {
22019+
22020+ /**
22021+ * Override connectedCallback to set up renderer and loading screen at 'interactive'.
22022+ * This allows the loading screen to appear before a-assets starts loading,
22023+ * while systems initialization still waits for 'complete' (via aframeready) to handle deferred scripts.
22024+ */
22025+ connectedCallback() {
2200022026 var self = this;
22027+ var readyState = document.readyState;
22028+
22029+ // Set up renderer and loading screen at 'interactive' so they're visible during asset loading.
22030+ if (readyState === 'interactive' || readyState === 'complete') {
22031+ this.setupRendererAndLoadingScreen();
22032+ } else {
22033+ document.addEventListener('readystatechange', function onReadyStateChange() {
22034+ if (document.readyState !== 'interactive' && document.readyState !== 'complete') {
22035+ return;
22036+ }
22037+ document.removeEventListener('readystatechange', onReadyStateChange);
22038+ self.setupRendererAndLoadingScreen();
22039+ });
22040+ }
22041+
22042+ // Wait for 'complete' (aframeready) before initializing systems.
22043+ super.connectedCallback();
22044+ }
22045+
22046+ /**
22047+ * Set up renderer and loading screen early so they're visible during asset loading.
22048+ */
22049+ setupRendererAndLoadingScreen() {
22050+ if (this.rendererSetup) {
22051+ return;
22052+ }
22053+ this.rendererSetup = true;
2200122054 var embedded = this.hasAttribute('embedded');
2200222055
2200322056 // Default components.
@@ -22006,7 +22059,6 @@ class AScene extends _a_entity_js__WEBPACK_IMPORTED_MODULE_7__.AEntity {
2200622059 this.setAttribute('screenshot', '');
2200722060 this.setAttribute('xr-mode-ui', '');
2200822061 this.setAttribute('device-orientation-permission-ui', '');
22009- super.doConnectedCallback();
2201022062
2201122063 // Renderer initialization
2201222064 setupCanvas(this);
@@ -22016,6 +22068,14 @@ class AScene extends _a_entity_js__WEBPACK_IMPORTED_MODULE_7__.AEntity {
2201622068 if (!embedded) {
2201722069 this.addFullScreenStyles();
2201822070 }
22071+ }
22072+ doConnectedCallback() {
22073+ var self = this;
22074+
22075+ // Renderer may already be set up from connectedCallback at 'interactive'.
22076+ // If not, set it up now.
22077+ this.setupRendererAndLoadingScreen();
22078+ super.doConnectedCallback();
2201922079 (0,_postMessage_js__WEBPACK_IMPORTED_MODULE_9__.initPostMessageAPI)(this);
2202022080 (0,_metaTags_js__WEBPACK_IMPORTED_MODULE_0__.inject)(this);
2202122081 (0,_wakelock_js__WEBPACK_IMPORTED_MODULE_1__.initWakelock)(this);
@@ -61673,7 +61733,7 @@ if (_utils_index_js__WEBPACK_IMPORTED_MODULE_16__.device.isBrowserEnvironment) {
6167361733 window.logs = debug;
6167461734 __webpack_require__(/*! ./style/aframe.css */ "./src/style/aframe.css");
6167561735}
61676- console.log('A-Frame Version: 1.7.1 (Date 2025-12-19, Commit #0d5e1e23 )');
61736+ console.log('A-Frame Version: 1.7.1 (Date 2025-12-19, Commit #53d5b3db )');
6167761737console.log('THREE Version (https://github.com/supermedium/three.js):', _lib_three_js__WEBPACK_IMPORTED_MODULE_1__["default"].REVISION);
6167861738
6167961739// Wait for ready state, unless user asynchronously initializes A-Frame.
0 commit comments