@energy8platform/platform-core 0.30.5 → 0.30.7

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.
@@ -34,7 +34,7 @@ const GRADIENT_DEFS = `
34
34
  <stop stop-color="#316FB0"/><stop stop-color="#1FCDE6" offset=".5"/><stop stop-color="#29FEE7" offset="1"/>
35
35
  </linearGradient>`;
36
36
  /** Max width of the loader bar in SVG units */
37
- const LOADER_BAR_MAX_WIDTH$1 = 174;
37
+ const LOADER_BAR_MAX_WIDTH$2 = 174;
38
38
  /**
39
39
  * Build the Energy8 SVG logo with a loader bar, using unique IDs.
40
40
  *
@@ -68,22 +68,22 @@ ${defs}
68
68
  }
69
69
 
70
70
  /** Element ids the lifecycle handle binds to (also asserted by tests). */
71
- const RECT_ID$1 = 'ge-pl-loader-rect';
72
- const TEXT_ID$1 = 'ge-pl-loader-text';
73
- const LOGO_SVG$1 = buildLogoSVG({
71
+ const RECT_ID$2 = 'ge-pl-loader-rect';
72
+ const TEXT_ID$2 = 'ge-pl-loader-text';
73
+ const LOGO_SVG$2 = buildLogoSVG({
74
74
  idPrefix: 'pl',
75
75
  svgClass: 'ge-logo-svg',
76
76
  clipRectClass: 'ge-clip-rect',
77
- clipRectId: RECT_ID$1,
77
+ clipRectId: RECT_ID$2,
78
78
  textClass: 'ge-preloader-svg-text',
79
- textId: TEXT_ID$1,
79
+ textId: TEXT_ID$2,
80
80
  });
81
81
  /** The default Energy8-branded preloader: animated wordmark + shimmering loader bar. */
82
82
  const energy8Variant = {
83
83
  buildContentHTML() {
84
84
  return `
85
85
  <div class="ge-preloader-content">
86
- ${LOGO_SVG$1}
86
+ ${LOGO_SVG$2}
87
87
  </div>
88
88
  `;
89
89
  },
@@ -138,11 +138,144 @@ const energy8Variant = {
138
138
  0%, 100% { opacity: 0.5; }
139
139
  50% { opacity: 1; }
140
140
  }
141
+ `,
142
+ mount(overlay) {
143
+ const rectEl = overlay.querySelector(`#${RECT_ID$2}`);
144
+ const textEl = overlay.querySelector(`#${TEXT_ID$2}`);
145
+ // Custom HTML mode (or missing logo) — no progress target; lifecycle inert.
146
+ if (!rectEl || !textEl)
147
+ return null;
148
+ let driven = false;
149
+ return {
150
+ setProgress(p, showPercentage) {
151
+ if (!driven) {
152
+ rectEl.classList.add('driven');
153
+ driven = true;
154
+ }
155
+ rectEl.setAttribute('width', String(p * LOADER_BAR_MAX_WIDTH$2));
156
+ if (showPercentage) {
157
+ textEl.textContent = `${Math.round(p * 100)}%`;
158
+ }
159
+ },
160
+ showTapText(text) {
161
+ textEl.textContent = text;
162
+ textEl.classList.add('ge-svg-pulse');
163
+ },
164
+ };
165
+ },
166
+ };
167
+
168
+ /** Element ids the lifecycle handle binds to. */
169
+ const RECT_ID$1 = 'ge-st-loader-rect';
170
+ const TEXT_ID$1 = 'ge-st-loader-text';
171
+ /** Max width (SVG units) of the slottech loader bar fill — spans the artwork's full width. */
172
+ const LOADER_BAR_MAX_WIDTH$1 = 841.89;
173
+ /** Flat wordmark fill, straight from the official artwork (no gradient). */
174
+ const LOGO_FILL = '#f5f5f5';
175
+ /** Ambient glow tint, keyed off the fill. */
176
+ const GLOW = 'rgba(245, 245, 245, 0.22)';
177
+ /**
178
+ * "SlotTech" wordmark — the official logo embedded verbatim as vector outlines
179
+ * (the "ST" monogram above, "SLOTTECH" lettering below). The artwork ends at
180
+ * y=426.32; the loader bar and status text are added beneath it in the extended
181
+ * viewBox.
182
+ *
183
+ * The one deviation from the export: the "O" of SLOTTECH ships as two separate
184
+ * filled paths (outer + counter), which would paint a solid slab. They are
185
+ * merged into a single `fill-rule="evenodd"` path so the counter stays a hole.
186
+ */
187
+ const LOGO_SVG$1 = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 841.89 520" class="ge-st-logo-svg" role="img">
188
+ <title>SlotTech</title>
189
+ <g fill="${LOGO_FILL}">
190
+ <path d="M147.7,289.83l37.26-55.73c1.75-2.61,4.67-4.18,7.81-4.17,19.91.04,120.3-.2,161.37-.13,15.28.03,27.67-12.36,27.65-27.64h0c-.02-15.26-12.4-27.6-27.66-27.57-.9,0-82.45.49-83.44.49-48.78.09-88.18-39.8-87.46-88.58h0C183.93,38.8,222.81.49,270.52.49l421.66-.49-40.64,56.9c-3.88,4.36-9.44,6.86-15.28,6.87-49.38.03-293.63-.02-365.45.13-12.9.03-23.36,10.42-23.49,23.31h0c-.13,13,10.29,23.64,23.28,23.78,25.44.28,80.28.99,88.33,1.19,48.36,1.24,86.86,40.91,86.6,89.28h0c-.26,48.88-39.96,88.37-88.84,88.37h-209Z"/>
191
+ <path d="M431.26,289.83h76.99l35.07-165.93c1.19-6.22-.72-12.63-5.11-17.19h0c-3.55-3.69-8.4-5.84-13.52-5.98l-102.5-.23c-3.34-.04-5.26,3.79-3.23,6.44,62.27,45.72,62.12,111.86,22.04,167.08-.68.94-1.49,1.79-2.38,2.52l-9.97,8.24c-1.5,2.12.01,5.04,2.61,5.04Z"/>
192
+ <path d="M66.01,376.51v-11.84l-47.67-.13C8.22,364.52,0,372.72,0,382.84h0c0,10.08,8.15,18.26,18.23,18.29l33.07-.16c3.7.01,6.69,3.02,6.69,6.72h0c0,3.71-3.01,6.72-6.72,6.72l-50.07.25v11.5l50.17.16c10.26,0,18.55-8.37,18.45-18.63h0c-.1-10.06-8.23-18.19-18.3-18.28l-34.94.03c-3.38-.03-6.11-2.76-6.16-6.14h0c-.05-3.46,2.74-6.3,6.2-6.31l49.36-.48Z"/>
193
+ <polygon points="107.82 426.32 176.27 426.32 176.27 414.31 120.71 414.31 120.71 364.55 107.82 364.55 107.82 426.32"/>
194
+ <path fill-rule="evenodd" d="M288.1,381.64v27.6c0,9.44-7.66,17.08-17.1,17.08h-40.89c-9.44,0-17.08-7.64-17.08-17.08v-27.6c0-9.44,7.64-17.1,17.08-17.1h40.89c9.44,0,17.1,7.66,17.1,17.1ZM274.68,382.63v24.86c0,3.58-2.89,6.48-6.46,6.48h-35.5c-3.56,0-6.46-2.9-6.46-6.48v-24.86c0-3.57,2.9-6.46,6.46-6.46h35.5c3.57,0,6.46,2.89,6.46,6.46Z"/>
195
+ <polygon points="368.74 426.32 368.91 376.17 400.44 376.17 400.44 364.55 324.84 364.55 324.84 376.17 356.19 376.17 356.19 426.32 368.74 426.32"/>
196
+ <polygon points="482.21 425.95 482.39 375.8 513.91 375.8 513.91 364.18 438.32 364.18 438.32 375.8 469.67 375.8 469.67 425.95 482.21 425.95"/>
197
+ <rect x="554.23" y="364.55" width="71.41" height="11.97"/>
198
+ <rect x="554.23" y="389.26" width="71.41" height="11.97"/>
199
+ <rect x="554.23" y="413.98" width="71.41" height="11.97"/>
200
+ <path d="M733.29,376.51v-11.97h-49.5c-9.79,0-17.73,7.94-17.73,17.73v25.95c0,9.79,7.94,17.73,17.73,17.73h49.5v-11.97h-48.67c-3.52,0-6.37-2.85-6.37-6.37v-24.72c0-3.52,2.85-6.37,6.37-6.37h48.67Z"/>
201
+ <polygon points="773.52 425.95 785.8 425.95 785.98 401.16 829.26 400.99 829.26 425.95 841.89 425.95 841.89 364.55 829.35 364.55 829.35 389.49 786.15 389.49 786.15 364.55 773.52 364.55 773.52 425.95"/>
202
+ </g>
203
+
204
+ <rect x="0" y="460" width="841.89" height="12" rx="6" fill="rgba(255,255,255,0.12)"/>
205
+ <clipPath id="ge-st-loader-clip">
206
+ <rect id="${RECT_ID$1}" x="0" y="460" width="0" height="12" rx="6" class="ge-st-clip-rect"/>
207
+ </clipPath>
208
+ <rect x="0" y="460" width="841.89" height="12" rx="6" fill="${LOGO_FILL}" clip-path="url(#ge-st-loader-clip)"/>
209
+
210
+ <text id="${TEXT_ID$1}" x="420.95" y="510" text-anchor="middle" class="ge-st-text">Loading...</text>
211
+ </svg>`;
212
+ const slottechVariant = {
213
+ buildContentHTML() {
214
+ return `
215
+ <div class="ge-st-content">
216
+ ${LOGO_SVG$1}
217
+ </div>
218
+ `;
219
+ },
220
+ css: `
221
+ .ge-st-content {
222
+ display: flex;
223
+ flex-direction: column;
224
+ align-items: center;
225
+ width: 78%;
226
+ max-width: 620px;
227
+ }
228
+
229
+ .ge-st-logo-svg {
230
+ width: 100%;
231
+ height: auto;
232
+ filter: drop-shadow(0 0 26px ${GLOW});
233
+ }
234
+
235
+ /* Shimmer the loader bar while waiting */
236
+ .ge-st-clip-rect {
237
+ animation: ge-st-fill 2s ease-in-out infinite;
238
+ }
239
+
240
+ @keyframes ge-st-fill {
241
+ 0% { width: 0; }
242
+ 50% { width: 841.89; }
243
+ 100% { width: 0; }
244
+ }
245
+
246
+ /* Stop shimmer once JS-driven progress takes over. */
247
+ .ge-st-clip-rect.driven {
248
+ animation: none;
249
+ }
250
+
251
+ .ge-st-text {
252
+ fill: rgba(255, 255, 255, 0.6);
253
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
254
+ font-size: 22px;
255
+ font-weight: 600;
256
+ letter-spacing: 3px;
257
+ animation: ge-st-pulse 1.5s ease-in-out infinite;
258
+ }
259
+
260
+ @keyframes ge-st-pulse {
261
+ 0%, 100% { opacity: 0.4; }
262
+ 50% { opacity: 1; }
263
+ }
264
+
265
+ /* Tap-to-start CTA pulse. Compound selector outweighs the ambient
266
+ .ge-st-text rule, swapping the animation cleanly. */
267
+ .ge-st-text.ge-st-tap-pulse {
268
+ animation: ge-st-tap 1.2s ease-in-out infinite;
269
+ }
270
+
271
+ @keyframes ge-st-tap {
272
+ 0%, 100% { opacity: 0.5; }
273
+ 50% { opacity: 1; }
274
+ }
141
275
  `,
142
276
  mount(overlay) {
143
277
  const rectEl = overlay.querySelector(`#${RECT_ID$1}`);
144
278
  const textEl = overlay.querySelector(`#${TEXT_ID$1}`);
145
- // Custom HTML mode (or missing logo) — no progress target; lifecycle inert.
146
279
  if (!rectEl || !textEl)
147
280
  return null;
148
281
  let driven = false;
@@ -159,7 +292,7 @@ const energy8Variant = {
159
292
  },
160
293
  showTapText(text) {
161
294
  textEl.textContent = text;
162
- textEl.classList.add('ge-svg-pulse');
295
+ textEl.classList.add('ge-st-tap-pulse');
163
296
  },
164
297
  };
165
298
  },
@@ -299,11 +432,123 @@ const voidmoonVariant = {
299
432
  */
300
433
  const VARIANTS = {
301
434
  energy8: energy8Variant,
435
+ slottech: slottechVariant,
302
436
  voidmoon: voidmoonVariant,
303
437
  };
304
438
  /** Default variant used when `preloaderVariant` is omitted or unknown. */
305
439
  const DEFAULT_VARIANT_NAME = 'energy8';
306
440
 
441
+ /**
442
+ * The "POWERED BY ENERGY8 ENGINE" pre-roll shown at the very start of every
443
+ * boot, above whatever preloader variant the game selected.
444
+ *
445
+ * This is deliberately NOT configurable: it is the platform's attribution and
446
+ * plays for every game, on every boot. `CSSPreloader` mounts it as a layer
447
+ * inside the same overlay it already owns, so there is still exactly one
448
+ * element to tear down and no gap where the page shows through.
449
+ */
450
+ /** Total splash length: logo fades in, holds, fades out, then the black backdrop lifts. */
451
+ const SPLASH_DURATION_MS = 2000;
452
+ /**
453
+ * How long the game's own brand must remain readable once the splash has
454
+ * lifted. Without this a fast boot would swap straight from the splash into
455
+ * the game and the game's logo would never be seen.
456
+ */
457
+ const BRAND_FLOOR_MS = 1000;
458
+ /** Class on the splash layer — also the hook tests assert against. */
459
+ const SPLASH_CLASS = 'ge-splash';
460
+ /**
461
+ * The official artwork as vector outlines. Three groups, in the source's own
462
+ * order: the ENERGY8 wordmark, the "POWERED BY" line above it, and "ENGINE"
463
+ * below. Two deviations from the export:
464
+ *
465
+ * - Every shape is forced to #fff. The source paints `.st0 { fill: #02020a }`
466
+ * and leaves the two text groups with no fill at all (so they default to
467
+ * black) — on a black splash the whole logo would be invisible. Colours are
468
+ * set as attributes rather than a `<style>` block on purpose: inlining the
469
+ * export's `<style>` would leak a rule for the very generic `.st0` selector
470
+ * into the host page.
471
+ * - Ten zero-area `<path d="M…h0Z"/>` stubs are dropped (Illustrator artifacts).
472
+ */
473
+ const SPLASH_LOGO_SVG = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 792.22 250.81" class="ge-splash-logo" role="img">
474
+ <title>Powered by Energy8 Engine</title>
475
+ <g fill="#fff" stroke="#fff" stroke-miterlimit="10">
476
+ <polygon points="126.9 47.45 33.24 47.45 .62 199.67 94.28 199.72 101.83 164.51 43.28 164.54 48.29 141.12 83.41 141.15 90.96 105.92 55.8 106.02 60.85 82.55 119.38 82.61 126.9 47.45"/>
477
+ <polygon points="337.67 47.45 243.99 47.45 211.39 199.65 305.06 199.63 312.59 164.42 254.06 164.43 259.05 141.1 294.18 141.08 301.73 105.87 266.58 105.98 271.61 82.48 330.14 82.59 337.67 47.45"/>
478
+ <path d="M431.33,47.45h-81.96c-10.92,50.92-21.7,101.3-32.62,152.21h35.13l12.53-58.53h11.71l-.83,58.54,35.14-.04.83-58.52,14.21-11.71,15.06-70.26-9.21-11.69h0ZM395.37,106l-23.41-.03c1.67-7.78,5.86-27.35,7.53-35.13l23.43-.06-7.55,35.22h0Z"/>
479
+ <polygon points="433.85 199.67 432.18 152.81 452.26 59.09 466.46 47.45 548.43 47.45 557.67 58.98 550.11 94.29 514.96 94.32 517.48 82.54 482.35 82.57 464.79 164.51 499.92 164.52 504.93 141.12 493.23 141.1 498.23 117.71 545.09 117.67 530.05 187.92 515.8 199.73 433.85 199.67"/>
480
+ <path d="M791.83,59.16l-9.23-11.71h-70.25l-14.21,11.7-12.52,58.52,15.05,6.34-17.56,5.4-12.54,58.53,9.2,11.71h70.25l14.22-11.73,12.53-58.51-17.56-5.45,20.07-6.25,12.54-58.56h0ZM731.61,176.28l-23.41-.04c1.67-7.78,5.86-27.34,7.53-35.11h23.42l-7.54,35.15ZM746.67,105.99l-23.41-.02c1.67-7.77,5.86-27.33,7.52-35.1l23.42-.02-7.53,35.14Z"/>
481
+ <polygon points="194.71 222.91 167.33 223.06 156.18 129.4 141.1 199.94 105.93 199.9 138.61 47.45 173.74 47.45 182.11 117.71 197.16 47.45 232.29 47.45 194.71 222.91"/>
482
+ <polygon points="591.92 117.71 571.85 47.45 606.98 47.45 620.38 94.19 653.81 47.45 688.94 47.45 622.04 141.1 609.51 199.64 569.37 223.06 591.92 117.71"/>
483
+ </g>
484
+ <g fill="#fff">
485
+ <path d="M154.59,6.63c3.65-.3,8.87-.56,16.66-.56,7.19,0,12.27.79,15.59,2.14,3.22,1.27,5.54,3.46,5.54,6.13,0,2.46-1.54,4.7-4.59,6.13-4.04,1.95-9.94,2.85-17.29,2.85-1.75,0-3.29-.07-4.41-.17v9.2h-11.5V6.63ZM166.09,18.44c1.06.13,2.42.19,4.39.19,6.26,0,10.4-1.5,10.4-4.21,0-2.44-3.54-3.74-9.53-3.74-2.62,0-4.38.1-5.26.2v7.57Z"/>
486
+ <path d="M251.53,19.13c0,8.12-10.78,13.68-26.82,13.68s-25.68-5.71-25.68-13.23c0-8.01,10.82-13.75,26.48-13.75s26.02,5.67,26.02,13.29ZM211.37,19.41c0,4.83,5.36,8.62,13.95,8.62s13.88-3.72,13.88-8.72c0-4.73-5.14-8.7-13.89-8.7s-13.94,3.91-13.94,8.8Z"/>
487
+ <path d="M268.79,32.35l-12.71-26.05h12.55l4.18,10.84c1.17,3.14,2.39,6.65,3.24,9.1h.15c.82-2.7,2.04-5.91,3.35-9.19l4.44-10.75h13.15l4.15,11.23c1.1,3.08,1.93,5.82,2.67,8.53h.15c.82-2.74,2-5.84,3.23-9l4.5-10.76h11.94l-14.01,26.05h-12.69l-4.61-12.11c-1.04-2.66-1.82-4.96-2.43-7.83h-.15c-.82,2.86-1.6,5.19-2.83,7.85l-5.16,12.1h-13.1Z"/>
488
+ <path d="M363.08,21.48h-20.37v5.91h22.73v4.97h-34.35V6.3h33.22v4.97h-21.61v5.24h20.37v4.97Z"/>
489
+ <path d="M374.75,6.65c3.75-.32,9.54-.58,16.2-.58,7.97,0,13.21.65,16.83,2.11,2.92,1.17,4.76,3.03,4.76,5.48,0,3.47-5.07,5.71-9.04,6.37v.14c3.43.73,5.42,2.49,6.76,4.75,1.71,2.97,3.25,6.42,4.24,7.45h-11.84c-.8-.76-2.07-2.68-3.68-6.02-1.55-3.26-3.77-4.12-8.81-4.16h-3.93v10.18h-11.5V6.65ZM386.25,17.8h5.22c5.96,0,9.57-1.39,9.57-3.65,0-2.44-3.55-3.54-8.9-3.54-3.26,0-5.03.11-5.89.21v6.98Z"/>
490
+ <path d="M454.32,21.48h-20.37v5.91h22.73v4.97h-34.35V6.3h33.22v4.97h-21.61v5.24h20.37v4.97Z"/>
491
+ <path d="M465.99,6.65c4.66-.37,10.58-.58,16.73-.58,10.36,0,17.04.96,22.27,2.96,5.4,2.02,8.95,5.11,8.95,9.57,0,4.9-3.69,8.25-8.56,10.39-5.77,2.48-14.71,3.66-25.2,3.66-6.69,0-11.17-.19-14.19-.42V6.65ZM477.6,27.78c1.12.1,2.96.11,4.59.11,11.88.06,19.36-3.07,19.36-8.98.03-5.43-7.06-8.14-17.86-8.14-3.01,0-4.97.14-6.09.26v16.76Z"/>
492
+ <path d="M540.25,6.65c2.93-.29,9.45-.58,15.49-.58,7.51,0,11.56.37,15.23,1.34,3.71.9,6.57,2.69,6.57,5.27,0,2.28-2.62,4.42-8.38,5.49v.09c5.58.75,10.14,2.95,10.14,6.44,0,2.46-2.32,4.38-5.61,5.67-3.83,1.48-10.07,2.28-20.37,2.28-6.09,0-10.46-.22-13.05-.42V6.65ZM551.75,16.51h4.12c6.69,0,9.91-1.21,9.91-3.09,0-2-3.21-2.9-8.6-2.9-2.89,0-4.42.09-5.43.19v5.8ZM551.75,28.02c1.22.1,2.74.11,4.97.11,5.43,0,10.28-.95,10.28-3.73,0-2.6-4.75-3.54-10.88-3.54h-4.37v7.17Z"/>
493
+ <path d="M598.63,32.35v-10.92l-17.08-15.13h13.56l5.55,6.29c1.7,1.93,2.83,3.15,4.19,4.81h.15c1.26-1.54,2.57-2.94,4.17-4.78l5.64-6.32h13.39l-17.95,14.94v11.12h-11.62Z"/>
494
+ </g>
495
+ <g fill="#fff">
496
+ <path d="M257.81,230.46l-25.46.08.02,5.72,28.41-.09v4.82s-42.91.13-42.91.13l-.08-25.25,41.52-.13.02,4.81-27,.08.02,5.08,25.46-.08v4.82Z"/>
497
+ <path d="M272.41,240.96l-.08-25.25,17.91-.05,13.87,9c4.29,2.87,8.09,5.99,11.21,9.06l.25-.02c-1.01-3.57-1.11-6.62-1.12-10.17l-.02-7.96,13.49-.04.08,25.25-15.73.05-14.47-9.72c-4.19-2.91-8.65-6.15-12.16-9.33l-.34.02c.47,3.61.57,7.08.58,10.88l.02,8.23-13.49.04Z"/>
498
+ <path d="M399.35,239.23c-4.86.69-13.79,1.64-23.09,1.67-12.61.04-21.62-1.2-27.82-3.6-5.76-2.2-8.94-5.33-8.95-8.83-.02-8.13,15.56-13.28,38.01-13.35,9.02-.03,16,.65,19.42,1.3l-3.17,4.7c-3.95-.67-8.69-1.21-16.7-1.19-12.73.04-22.3,2.87-22.29,8,.01,4.93,8.78,8.24,22.08,8.2,3.82-.01,6.95-.21,8.26-.45l-.02-5.05-10.82.03v-4.6s25.04-.08,25.04-.08l.04,13.24Z"/>
499
+ <path d="M427.02,215.23l.08,25.25-14.52.04-.08-25.25,14.52-.04Z"/>
500
+ <path d="M441.45,240.44l-.08-25.25,17.91-.06,13.87,9c4.29,2.87,8.09,5.99,11.21,9.06l.25-.02c-1.01-3.57-1.11-6.62-1.12-10.17l-.02-7.96,13.49-.04.08,25.25-15.73.05-14.47-9.72c-4.2-2.91-8.65-6.15-12.16-9.33l-.35.02c.47,3.61.57,7.08.58,10.88l.03,8.23-13.49.04Z"/>
501
+ <path d="M551.33,229.56l-25.46.08.02,5.72,28.41-.09v4.82s-42.91.13-42.91.13l-.08-25.25,41.52-.13v4.81s-26.99.08-26.99.08l.02,5.08,25.46-.08v4.82Z"/>
502
+ </g>
503
+ </svg>`;
504
+ /** Markup for the splash layer — a black backdrop over the overlay's content. */
505
+ function buildSplashHTML() {
506
+ return `<div class="${SPLASH_CLASS}">${SPLASH_LOGO_SVG}</div>`;
507
+ }
508
+ /**
509
+ * The whole timeline is CSS. JS only removes the layer once it has played, so
510
+ * a stalled main thread can't strand the splash half-faded on screen.
511
+ *
512
+ * Percentages map onto SPLASH_DURATION_MS: logo in by 500ms, held to 1400ms,
513
+ * gone by 1700ms; the backdrop then lifts over the last 300ms, revealing the
514
+ * game's own background and brand from black.
515
+ */
516
+ const SPLASH_CSS = `
517
+ .${SPLASH_CLASS} {
518
+ position: absolute;
519
+ top: 0; left: 0;
520
+ width: 100%; height: 100%;
521
+ background: #000;
522
+ display: flex;
523
+ align-items: center;
524
+ justify-content: center;
525
+ z-index: 1;
526
+ /* Never swallow the tap — the overlay's own pointerdown gate sits below. */
527
+ pointer-events: none;
528
+ animation: ge-splash-backdrop ${SPLASH_DURATION_MS}ms linear forwards;
529
+ }
530
+
531
+ @keyframes ge-splash-backdrop {
532
+ 0%, 85% { opacity: 1; }
533
+ 100% { opacity: 0; }
534
+ }
535
+
536
+ .ge-splash-logo {
537
+ width: 62%;
538
+ max-width: 520px;
539
+ height: auto;
540
+ animation: ge-splash-logo ${SPLASH_DURATION_MS}ms ease-in-out forwards;
541
+ }
542
+
543
+ @keyframes ge-splash-logo {
544
+ 0% { opacity: 0; }
545
+ 25% { opacity: 1; }
546
+ 70% { opacity: 1; }
547
+ 85% { opacity: 0; }
548
+ 100% { opacity: 0; }
549
+ }
550
+ `;
551
+
307
552
  const PRELOADER_ID = '__ge-css-preloader__';
308
553
  const REMOVE_FADE_TIMEOUT_MS = 600;
309
554
  let state = null;
@@ -312,6 +557,17 @@ function clampProgress(p) {
312
557
  return 0;
313
558
  return Math.max(0, Math.min(1, p));
314
559
  }
560
+ /**
561
+ * Milliseconds still owed before the game may take over: the powered-by splash
562
+ * plus the floor that keeps the game's own brand readable behind it. Zero once
563
+ * that window has passed, so a slow boot pays nothing.
564
+ */
565
+ function brandGateDelay() {
566
+ if (!state)
567
+ return 0;
568
+ const elapsed = Date.now() - state.startedAt;
569
+ return Math.max(0, SPLASH_DURATION_MS + BRAND_FLOOR_MS - elapsed);
570
+ }
315
571
  function createCSSPreloader(container, config) {
316
572
  if (document.getElementById(PRELOADER_ID))
317
573
  return;
@@ -329,6 +585,14 @@ function createCSSPreloader(container, config) {
329
585
  const overlay = document.createElement('div');
330
586
  overlay.id = PRELOADER_ID;
331
587
  overlay.innerHTML = customHTML || variant.buildContentHTML(config);
588
+ // The platform's powered-by pre-roll, layered over the variant's content
589
+ // inside the SAME overlay — one element to tear down, and no frame where the
590
+ // page shows through between the two. Appended last so it wins the stacking
591
+ // order. The variant content is still mounted underneath from the first
592
+ // frame, so `setCSSPreloaderProgress` has a live target throughout the
593
+ // splash and nothing has to be buffered and replayed on handover.
594
+ overlay.insertAdjacentHTML('beforeend', buildSplashHTML());
595
+ const splashEl = overlay.lastElementChild;
332
596
  const styleEl = document.createElement('style');
333
597
  // Shared overlay infrastructure (positioning / background / fade) plus the
334
598
  // variant's own content styling and animations.
@@ -351,6 +615,7 @@ function createCSSPreloader(container, config) {
351
615
  pointer-events: none;
352
616
  }
353
617
  ${variant.css}
618
+ ${SPLASH_CSS}
354
619
  `;
355
620
  // The absolute overlay needs a positioned ancestor to size against. Override ONLY a container
356
621
  // whose COMPUTED position is `static`: checking the inline style alone (as this did) misses a
@@ -368,12 +633,25 @@ ${variant.css}
368
633
  // Custom HTML bypasses the variant's content, so there is no progress target
369
634
  // to bind to and the handle stays null (lifecycle API becomes inert).
370
635
  const handle = customHTML ? null : variant.mount(overlay, config);
636
+ // Detach the splash once its CSS timeline has played out. Keeping a spent,
637
+ // fully-transparent layer in the tree would otherwise sit over the content
638
+ // for the rest of the boot.
639
+ const splashTimer = setTimeout(() => {
640
+ splashEl.remove();
641
+ if (state) {
642
+ state.splashEl = null;
643
+ state.splashTimer = null;
644
+ }
645
+ }, SPLASH_DURATION_MS);
371
646
  state = {
372
647
  container,
373
648
  prevPosition,
374
649
  overlay,
375
650
  styleEl,
376
651
  handle,
652
+ splashEl,
653
+ splashTimer,
654
+ startedAt: Date.now(),
377
655
  showPercentage: config?.showPercentage === true,
378
656
  tapToStart: config?.tapToStart !== false,
379
657
  tapToStartText: config?.tapToStartText ?? 'TAP TO START',
@@ -399,42 +677,73 @@ function waitCSSPreloaderTap() {
399
677
  }
400
678
  if (state.removed)
401
679
  return Promise.resolve();
402
- if (!state.tapToStart)
403
- return Promise.resolve();
404
680
  if (state.tapPromise)
405
681
  return state.tapPromise;
406
- state.handle?.showTapText(state.tapToStartText);
407
- state.overlay.style.cursor = 'pointer';
408
- state.tapState = 'waiting';
682
+ const requireTap = state.tapToStart;
683
+ // Only the tap path takes over the status text and freezes progress; with
684
+ // tapToStart:false the bar keeps filling behind the gate as it always did.
685
+ if (requireTap) {
686
+ state.handle?.showTapText(state.tapToStartText);
687
+ state.overlay.style.cursor = 'pointer';
688
+ state.tapState = 'waiting';
689
+ }
409
690
  state.tapPromise = new Promise((resolve) => {
410
- state.tapResolve = resolve;
411
- const handler = (_e) => {
412
- if (!state)
691
+ let settled = false;
692
+ // Shared exit for every path — the gates below, and removeCSSPreloader
693
+ // short-circuiting a pending wait during teardown.
694
+ const finish = () => {
695
+ if (settled)
413
696
  return;
414
- state.overlay.removeEventListener('pointerdown', handler);
415
- state.tapHandler = null;
416
- state.tapState = 'resolved';
417
- state.tapResolve = null;
697
+ settled = true;
698
+ if (state) {
699
+ if (state.tapHandler) {
700
+ state.overlay.removeEventListener('pointerdown', state.tapHandler);
701
+ state.tapHandler = null;
702
+ }
703
+ if (requireTap)
704
+ state.tapState = 'resolved';
705
+ state.tapResolve = null;
706
+ }
418
707
  resolve();
419
708
  };
420
- state.tapHandler = handler;
421
- state.overlay.addEventListener('pointerdown', handler);
709
+ state.tapResolve = finish;
710
+ // Gate 1 — the powered-by splash plus the brand floor. This is what stands
711
+ // between the splash and the game when tapToStart is false; without it a
712
+ // fast boot would cut to gameplay while the splash was still animating.
713
+ const gates = [
714
+ new Promise((r) => setTimeout(r, brandGateDelay())),
715
+ ];
716
+ // Gate 2 — the player's tap, when one is required.
717
+ if (requireTap) {
718
+ gates.push(new Promise((r) => {
719
+ const handler = (_e) => r();
720
+ state.tapHandler = handler;
721
+ state.overlay.addEventListener('pointerdown', handler, { once: true });
722
+ }));
723
+ }
724
+ void Promise.all(gates).then(finish);
422
725
  });
423
726
  return state.tapPromise;
424
727
  }
425
728
  function removeCSSPreloader(_container) {
426
729
  if (!state || state.removed)
427
730
  return Promise.resolve();
731
+ // Drop the splash's pending detach — the whole overlay is going away, and a
732
+ // late callback would touch a torn-down state.
733
+ if (state.splashTimer !== null) {
734
+ clearTimeout(state.splashTimer);
735
+ state.splashTimer = null;
736
+ }
737
+ state.splashEl = null;
428
738
  // Detach the pending pointer listener (if any) and resolve a pending tap.
739
+ // Teardown beats the brand gate on purpose: this is also the boot-error path
740
+ // in GameApplication, which must not sit for seconds behind a brand floor.
429
741
  if (state.tapHandler) {
430
742
  state.overlay.removeEventListener('pointerdown', state.tapHandler);
431
743
  state.tapHandler = null;
432
744
  }
433
- if (state.tapState === 'waiting' && state.tapResolve) {
434
- state.tapState = 'resolved';
745
+ if (state.tapResolve)
435
746
  state.tapResolve();
436
- state.tapResolve = null;
437
- }
438
747
  state.removed = true;
439
748
  const { overlay, styleEl, container, prevPosition } = state;
440
749
  overlay.classList.add('ge-preloader-hidden');
@@ -457,5 +766,5 @@ function removeCSSPreloader(_container) {
457
766
  });
458
767
  }
459
768
 
460
- export { DEFAULT_VARIANT_NAME, LOADER_BAR_MAX_WIDTH$1 as LOADER_BAR_MAX_WIDTH, VARIANTS, buildLogoSVG, createCSSPreloader, removeCSSPreloader, setCSSPreloaderProgress, waitCSSPreloaderTap };
769
+ export { DEFAULT_VARIANT_NAME, LOADER_BAR_MAX_WIDTH$2 as LOADER_BAR_MAX_WIDTH, VARIANTS, buildLogoSVG, createCSSPreloader, removeCSSPreloader, setCSSPreloaderProgress, waitCSSPreloaderTap };
461
770
  //# sourceMappingURL=loading.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"loading.esm.js","sources":["../src/loading/logo.ts","../src/loading/variants/energy8.ts","../src/loading/variants/voidmoon.ts","../src/loading/variants/index.ts","../src/loading/CSSPreloader.ts"],"sourcesContent":[null,null,null,null,null],"names":["LOADER_BAR_MAX_WIDTH","RECT_ID","TEXT_ID","LOGO_SVG"],"mappings":"AAAA;;;;;;;AAOG;AAEH;AACA,MAAM,cAAc,GAAG;;;;;+XAKwW;AAE/X;AACA,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;sBAkBA;AAEtB;AACO,MAAMA,sBAAoB,GAAG;AAqBpC;;;;;AAKG;AACG,SAAU,YAAY,CAAC,IAAoB,EAAA;AAC/C,IAAA,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,IAAI;;AAGxG,IAAA,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,UAAU,EAAE,CAAA,EAAG,QAAQ,CAAA,EAAA,CAAI,CAAC;AACjE,IAAA,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO,CAAC,UAAU,EAAE,CAAA,EAAG,QAAQ,CAAA,EAAA,CAAI,CAAC;AAE/D,IAAA,MAAM,MAAM,GAAG,CAAA,EAAG,QAAQ,cAAc;AACxC,IAAA,MAAM,cAAc,GAAG,CAAA,EAAG,QAAQ,GAAG;AAErC,IAAA,MAAM,SAAS,GAAG,QAAQ,GAAG,CAAA,QAAA,EAAW,QAAQ,CAAA,CAAA,CAAG,GAAG,EAAE;AACxD,IAAA,MAAM,SAAS,GAAG,QAAQ,GAAG,CAAA,QAAA,EAAW,QAAQ,CAAA,CAAA,CAAG,GAAG,EAAE;AACxD,IAAA,MAAM,aAAa,GAAG,aAAa,GAAG,CAAA,QAAA,EAAW,aAAa,CAAA,CAAA,CAAG,GAAG,EAAE;AACtE,IAAA,MAAM,UAAU,GAAG,UAAU,GAAG,CAAA,KAAA,EAAQ,UAAU,CAAA,CAAA,CAAG,GAAG,EAAE;AAC1D,IAAA,MAAM,SAAS,GAAG,MAAM,GAAG,CAAA,KAAA,EAAQ,MAAM,CAAA,CAAA,CAAG,GAAG,EAAE;AACjD,IAAA,MAAM,YAAY,GAAG,SAAS,GAAG,CAAA,QAAA,EAAW,SAAS,CAAA,CAAA,CAAG,GAAG,EAAE;IAE7D,OAAO,CAAA,yEAAA,EAA4E,SAAS,CAAA,EAAG,SAAS,CAAA;EACxG,KAAK;kBACW,MAAM,CAAA;AACb,SAAA,EAAA,UAAU,wCAAwC,aAAa,CAAA;;AAEkG,0KAAA,EAAA,cAAc,sBAAsB,MAAM,CAAA;AAC7M,OAAA,EAAA,SAAS,CAAA,mMAAA,EAAsM,YAAY,CAAA,CAAA,EAAI,WAAW,IAAI,YAAY,CAAA;;EAEjQ,IAAI;;OAEC;AACP;;AC3FA;AACA,MAAMC,SAAO,GAAG,mBAAmB;AACnC,MAAMC,SAAO,GAAG,mBAAmB;AAEnC,MAAMC,UAAQ,GAAG,YAAY,CAAC;AAC5B,IAAA,QAAQ,EAAE,IAAI;AACd,IAAA,QAAQ,EAAE,aAAa;AACvB,IAAA,aAAa,EAAE,cAAc;AAC7B,IAAA,UAAU,EAAEF,SAAO;AACnB,IAAA,SAAS,EAAE,uBAAuB;AAClC,IAAA,MAAM,EAAEC,SAAO;AAChB,CAAA,CAAC;AAEF;AACO,MAAM,cAAc,GAAqB;IAC9C,gBAAgB,GAAA;QACd,OAAO;;QAEHC,UAAQ;;GAEb;IACD,CAAC;AAED,IAAA,GAAG,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmDJ,EAAA,CAAA;AAED,IAAA,KAAK,CAAC,OAAO,EAAA;QACX,MAAM,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAA,CAAA,EAAIF,SAAO,CAAA,CAAE,CAA0B;QAC5E,MAAM,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAA,CAAA,EAAIC,SAAO,CAAA,CAAE,CAA0B;;AAE5E,QAAA,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM;AAAE,YAAA,OAAO,IAAI;QAEnC,IAAI,MAAM,GAAG,KAAK;QAElB,OAAO;YACL,WAAW,CAAC,CAAC,EAAE,cAAc,EAAA;gBAC3B,IAAI,CAAC,MAAM,EAAE;AACX,oBAAA,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC;oBAC9B,MAAM,GAAG,IAAI;gBACf;AACA,gBAAA,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,GAAGF,sBAAoB,CAAC,CAAC;gBAC9D,IAAI,cAAc,EAAE;AAClB,oBAAA,MAAM,CAAC,WAAW,GAAG,CAAA,EAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG;gBAChD;YACF,CAAC;AACD,YAAA,WAAW,CAAC,IAAI,EAAA;AACd,gBAAA,MAAM,CAAC,WAAW,GAAG,IAAI;AACzB,gBAAA,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC;YACtC,CAAC;SACF;IACH,CAAC;CACF;;ACtGD;AACA,MAAM,OAAO,GAAG,mBAAmB;AACnC,MAAM,OAAO,GAAG,mBAAmB;AAEnC;AACA,MAAM,oBAAoB,GAAG,GAAG;AAEhC;;;;;;AAMG;AACH,MAAM,QAAQ,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;gBAoBD,OAAO,CAAA;;;;cAIT,OAAO,CAAA;OACd;AAEA,MAAM,eAAe,GAAqB;IAC/C,gBAAgB,GAAA;QACd,OAAO;;QAEH,QAAQ;;GAEb;IACD,CAAC;AAED,IAAA,GAAG,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuDJ,EAAA,CAAA;AAED,IAAA,KAAK,CAAC,OAAO,EAAA;QACX,MAAM,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAA,CAAA,EAAI,OAAO,CAAA,CAAE,CAA0B;QAC5E,MAAM,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAA,CAAA,EAAI,OAAO,CAAA,CAAE,CAA0B;AAC5E,QAAA,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM;AAAE,YAAA,OAAO,IAAI;QAEnC,IAAI,MAAM,GAAG,KAAK;QAElB,OAAO;YACL,WAAW,CAAC,CAAC,EAAE,cAAc,EAAA;gBAC3B,IAAI,CAAC,MAAM,EAAE;AACX,oBAAA,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC;oBAC9B,MAAM,GAAG,IAAI;gBACf;AACA,gBAAA,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,GAAG,oBAAoB,CAAC,CAAC;gBAC9D,IAAI,cAAc,EAAE;AAClB,oBAAA,MAAM,CAAC,WAAW,GAAG,CAAA,EAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG;gBAChD;YACF,CAAC;AACD,YAAA,WAAW,CAAC,IAAI,EAAA;AACd,gBAAA,MAAM,CAAC,WAAW,GAAG,IAAI;AACzB,gBAAA,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC;YACzC,CAAC;SACF;IACH,CAAC;CACF;;AClID;;;;AAIG;AACI,MAAM,QAAQ,GAAG;AACtB,IAAA,OAAO,EAAE,cAAc;AACvB,IAAA,QAAQ,EAAE,eAAe;;AAG3B;AACO,MAAM,oBAAoB,GAAG;;ACVpC,MAAM,YAAY,GAAG,sBAAsB;AAC3C,MAAM,sBAAsB,GAAG,GAAG;AAsBlC,IAAI,KAAK,GAA0B,IAAI;AAEvC,SAAS,aAAa,CAAC,CAAS,EAAA;AAC9B,IAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;AAAE,QAAA,OAAO,CAAC;AACjC,IAAA,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACpC;AAEM,SAAU,kBAAkB,CAChC,SAAsB,EACtB,MAA4B,EAAA;AAE5B,IAAA,IAAI,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC;QAAE;AAE3C,IAAA,MAAM,OAAO,GACX,OAAO,MAAM,EAAE,eAAe,KAAK;UAC/B,MAAM,CAAC;AACT,UAAE,OAAO,MAAM,EAAE,eAAe,KAAK;AACnC,cAAE,CAAA,CAAA,EAAI,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;cACxD,SAAS;IAEjB,MAAM,UAAU,GACd,MAAM,EAAE,kBAAkB,IAAI,CAAA,wBAAA,EAA2B,OAAO,CAAA,kBAAA,CAAoB;AAEtF,IAAA,MAAM,UAAU,GAAG,MAAM,EAAE,gBAAgB,IAAI,EAAE;;;IAIjD,MAAM,OAAO,GACX,QAAQ,CAAC,MAAM,EAAE,gBAAgB,IAAI,oBAAoB,CAAC;QAC1D,QAAQ,CAAC,oBAAoB,CAAC;IAEhC,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;AAC7C,IAAA,OAAO,CAAC,EAAE,GAAG,YAAY;IACzB,OAAO,CAAC,SAAS,GAAG,UAAU,IAAI,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC;IAElE,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC;;;IAG/C,OAAO,CAAC,WAAW,GAAG;OACjB,YAAY,CAAA;;;;oBAIC,UAAU,CAAA;;;;;;;;;OASvB,YAAY,CAAA;;;;AAIjB,EAAA,OAAO,CAAC,GAAG;GACV;;;;;;;AAQD,IAAA,MAAM,YAAY,GAAG,SAAS,CAAC,KAAK,CAAC,QAAQ;AAC7C,IAAA,MAAM,gBAAgB,GACpB,OAAO,gBAAgB,KAAK,UAAU,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC,QAAQ,GAAG,YAAY;AAC9F,IAAA,IAAI,CAAC,gBAAgB,IAAI,gBAAgB,KAAK,QAAQ,EAAE;AACtD,QAAA,SAAS,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU;IACvC;AACA,IAAA,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC;AAC9B,IAAA,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC;;;AAI9B,IAAA,MAAM,MAAM,GAAG,UAAU,GAAG,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC;AAEjE,IAAA,KAAK,GAAG;QACN,SAAS;QACT,YAAY;QACZ,OAAO;QACP,OAAO;QACP,MAAM;AACN,QAAA,cAAc,EAAE,MAAM,EAAE,cAAc,KAAK,IAAI;AAC/C,QAAA,UAAU,EAAE,MAAM,EAAE,UAAU,KAAK,KAAK;AACxC,QAAA,cAAc,EAAE,MAAM,EAAE,cAAc,IAAI,cAAc;AACxD,QAAA,QAAQ,EAAE,MAAM;AAChB,QAAA,UAAU,EAAE,IAAI;AAChB,QAAA,UAAU,EAAE,IAAI;AAChB,QAAA,UAAU,EAAE,IAAI;AAChB,QAAA,OAAO,EAAE,KAAK;KACf;AACH;AAEM,SAAU,uBAAuB,CAAC,QAAgB,EAAA;AACtD,IAAA,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO;QAAE;IAC7B,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,QAAQ,KAAK,UAAU;QAAE;IACnE,IAAI,CAAC,KAAK,CAAC,MAAM;QAAE;AAEnB,IAAA,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC;AACzE;SAEgB,mBAAmB,GAAA;IACjC,IAAI,CAAC,KAAK,EAAE;AACV,QAAA,MAAM,IAAI,KAAK,CACb,+DAA+D,CAChE;IACH;IACA,IAAI,KAAK,CAAC,OAAO;AAAE,QAAA,OAAO,OAAO,CAAC,OAAO,EAAE;IAC3C,IAAI,CAAC,KAAK,CAAC,UAAU;AAAE,QAAA,OAAO,OAAO,CAAC,OAAO,EAAE;IAC/C,IAAI,KAAK,CAAC,UAAU;QAAE,OAAO,KAAK,CAAC,UAAU;IAE7C,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC,cAAc,CAAC;IAC/C,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS;AAEtC,IAAA,KAAK,CAAC,QAAQ,GAAG,SAAS;IAC1B,KAAK,CAAC,UAAU,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,KAAI;AAC/C,QAAA,KAAM,CAAC,UAAU,GAAG,OAAO;AAC3B,QAAA,MAAM,OAAO,GAAG,CAAC,EAAS,KAAI;AAC5B,YAAA,IAAI,CAAC,KAAK;gBAAE;YACZ,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC,aAAa,EAAE,OAAO,CAAC;AACzD,YAAA,KAAK,CAAC,UAAU,GAAG,IAAI;AACvB,YAAA,KAAK,CAAC,QAAQ,GAAG,UAAU;AAC3B,YAAA,KAAK,CAAC,UAAU,GAAG,IAAI;AACvB,YAAA,OAAO,EAAE;AACX,QAAA,CAAC;AACD,QAAA,KAAM,CAAC,UAAU,GAAG,OAAO;QAC3B,KAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,aAAa,EAAE,OAAO,CAAC;AACzD,IAAA,CAAC,CAAC;IAEF,OAAO,KAAK,CAAC,UAAU;AACzB;AAEM,SAAU,kBAAkB,CAAC,UAAuB,EAAA;AACxD,IAAA,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO;AAAE,QAAA,OAAO,OAAO,CAAC,OAAO,EAAE;;AAGrD,IAAA,IAAI,KAAK,CAAC,UAAU,EAAE;QACpB,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC,aAAa,EAAE,KAAK,CAAC,UAAU,CAAC;AAClE,QAAA,KAAK,CAAC,UAAU,GAAG,IAAI;IACzB;IACA,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,UAAU,EAAE;AACpD,QAAA,KAAK,CAAC,QAAQ,GAAG,UAAU;QAC3B,KAAK,CAAC,UAAU,EAAE;AAClB,QAAA,KAAK,CAAC,UAAU,GAAG,IAAI;IACzB;AAEA,IAAA,KAAK,CAAC,OAAO,GAAG,IAAI;IACpB,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,KAAK;AAC3D,IAAA,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,qBAAqB,CAAC;AAE5C,IAAA,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,KAAI;QACnC,IAAI,OAAO,GAAG,KAAK;QACnB,MAAM,MAAM,GAAG,MAAK;AAClB,YAAA,IAAI,OAAO;gBAAE;YACb,OAAO,GAAG,IAAI;YACd,OAAO,CAAC,MAAM,EAAE;YAChB,OAAO,CAAC,MAAM,EAAE;;;AAGhB,YAAA,SAAS,CAAC,KAAK,CAAC,QAAQ,GAAG,YAAY;YACvC,KAAK,GAAG,IAAI;AACZ,YAAA,OAAO,EAAE;AACX,QAAA,CAAC;AAED,QAAA,OAAO,CAAC,gBAAgB,CAAC,eAAe,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACjE,QAAA,UAAU,CAAC,MAAM,EAAE,sBAAsB,CAAC;AAC5C,IAAA,CAAC,CAAC;AACJ;;;;"}
1
+ {"version":3,"file":"loading.esm.js","sources":["../src/loading/logo.ts","../src/loading/variants/energy8.ts","../src/loading/variants/slottech.ts","../src/loading/variants/voidmoon.ts","../src/loading/variants/index.ts","../src/loading/splash.ts","../src/loading/CSSPreloader.ts"],"sourcesContent":[null,null,null,null,null,null,null],"names":["LOADER_BAR_MAX_WIDTH","RECT_ID","TEXT_ID","LOGO_SVG"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@energy8platform/platform-core",
3
- "version": "0.30.5",
3
+ "version": "0.30.7",
4
4
  "description": "Energy8 platform core: Lua engine, DevBridge, RTP simulation, and SDK session orchestration. Renderer-agnostic — pair with any game framework (Pixi, Phaser, Three.js, custom).",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs.js",