@energy8platform/platform-core 0.30.5 → 0.30.8

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.
@@ -36,7 +36,7 @@ const GRADIENT_DEFS = `
36
36
  <stop stop-color="#316FB0"/><stop stop-color="#1FCDE6" offset=".5"/><stop stop-color="#29FEE7" offset="1"/>
37
37
  </linearGradient>`;
38
38
  /** Max width of the loader bar in SVG units */
39
- const LOADER_BAR_MAX_WIDTH$1 = 174;
39
+ const LOADER_BAR_MAX_WIDTH$2 = 174;
40
40
  /**
41
41
  * Build the Energy8 SVG logo with a loader bar, using unique IDs.
42
42
  *
@@ -70,22 +70,22 @@ ${defs}
70
70
  }
71
71
 
72
72
  /** Element ids the lifecycle handle binds to (also asserted by tests). */
73
- const RECT_ID$1 = 'ge-pl-loader-rect';
74
- const TEXT_ID$1 = 'ge-pl-loader-text';
75
- const LOGO_SVG$1 = buildLogoSVG({
73
+ const RECT_ID$2 = 'ge-pl-loader-rect';
74
+ const TEXT_ID$2 = 'ge-pl-loader-text';
75
+ const LOGO_SVG$2 = buildLogoSVG({
76
76
  idPrefix: 'pl',
77
77
  svgClass: 'ge-logo-svg',
78
78
  clipRectClass: 'ge-clip-rect',
79
- clipRectId: RECT_ID$1,
79
+ clipRectId: RECT_ID$2,
80
80
  textClass: 'ge-preloader-svg-text',
81
- textId: TEXT_ID$1,
81
+ textId: TEXT_ID$2,
82
82
  });
83
83
  /** The default Energy8-branded preloader: animated wordmark + shimmering loader bar. */
84
84
  const energy8Variant = {
85
85
  buildContentHTML() {
86
86
  return `
87
87
  <div class="ge-preloader-content">
88
- ${LOGO_SVG$1}
88
+ ${LOGO_SVG$2}
89
89
  </div>
90
90
  `;
91
91
  },
@@ -140,11 +140,144 @@ const energy8Variant = {
140
140
  0%, 100% { opacity: 0.5; }
141
141
  50% { opacity: 1; }
142
142
  }
143
+ `,
144
+ mount(overlay) {
145
+ const rectEl = overlay.querySelector(`#${RECT_ID$2}`);
146
+ const textEl = overlay.querySelector(`#${TEXT_ID$2}`);
147
+ // Custom HTML mode (or missing logo) — no progress target; lifecycle inert.
148
+ if (!rectEl || !textEl)
149
+ return null;
150
+ let driven = false;
151
+ return {
152
+ setProgress(p, showPercentage) {
153
+ if (!driven) {
154
+ rectEl.classList.add('driven');
155
+ driven = true;
156
+ }
157
+ rectEl.setAttribute('width', String(p * LOADER_BAR_MAX_WIDTH$2));
158
+ if (showPercentage) {
159
+ textEl.textContent = `${Math.round(p * 100)}%`;
160
+ }
161
+ },
162
+ showTapText(text) {
163
+ textEl.textContent = text;
164
+ textEl.classList.add('ge-svg-pulse');
165
+ },
166
+ };
167
+ },
168
+ };
169
+
170
+ /** Element ids the lifecycle handle binds to. */
171
+ const RECT_ID$1 = 'ge-st-loader-rect';
172
+ const TEXT_ID$1 = 'ge-st-loader-text';
173
+ /** Max width (SVG units) of the slottech loader bar fill — spans the artwork's full width. */
174
+ const LOADER_BAR_MAX_WIDTH$1 = 841.89;
175
+ /** Flat wordmark fill, straight from the official artwork (no gradient). */
176
+ const LOGO_FILL = '#f5f5f5';
177
+ /** Ambient glow tint, keyed off the fill. */
178
+ const GLOW = 'rgba(245, 245, 245, 0.22)';
179
+ /**
180
+ * "SlotTech" wordmark — the official logo embedded verbatim as vector outlines
181
+ * (the "ST" monogram above, "SLOTTECH" lettering below). The artwork ends at
182
+ * y=426.32; the loader bar and status text are added beneath it in the extended
183
+ * viewBox.
184
+ *
185
+ * The one deviation from the export: the "O" of SLOTTECH ships as two separate
186
+ * filled paths (outer + counter), which would paint a solid slab. They are
187
+ * merged into a single `fill-rule="evenodd"` path so the counter stays a hole.
188
+ */
189
+ 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">
190
+ <title>SlotTech</title>
191
+ <g fill="${LOGO_FILL}">
192
+ <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"/>
193
+ <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"/>
194
+ <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"/>
195
+ <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"/>
196
+ <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"/>
197
+ <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"/>
198
+ <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"/>
199
+ <rect x="554.23" y="364.55" width="71.41" height="11.97"/>
200
+ <rect x="554.23" y="389.26" width="71.41" height="11.97"/>
201
+ <rect x="554.23" y="413.98" width="71.41" height="11.97"/>
202
+ <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"/>
203
+ <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"/>
204
+ </g>
205
+
206
+ <rect x="0" y="460" width="841.89" height="12" rx="6" fill="rgba(255,255,255,0.12)"/>
207
+ <clipPath id="ge-st-loader-clip">
208
+ <rect id="${RECT_ID$1}" x="0" y="460" width="0" height="12" rx="6" class="ge-st-clip-rect"/>
209
+ </clipPath>
210
+ <rect x="0" y="460" width="841.89" height="12" rx="6" fill="${LOGO_FILL}" clip-path="url(#ge-st-loader-clip)"/>
211
+
212
+ <text id="${TEXT_ID$1}" x="420.95" y="510" text-anchor="middle" class="ge-st-text">Loading...</text>
213
+ </svg>`;
214
+ const slottechVariant = {
215
+ buildContentHTML() {
216
+ return `
217
+ <div class="ge-st-content">
218
+ ${LOGO_SVG$1}
219
+ </div>
220
+ `;
221
+ },
222
+ css: `
223
+ .ge-st-content {
224
+ display: flex;
225
+ flex-direction: column;
226
+ align-items: center;
227
+ width: 78%;
228
+ max-width: 620px;
229
+ }
230
+
231
+ .ge-st-logo-svg {
232
+ width: 100%;
233
+ height: auto;
234
+ filter: drop-shadow(0 0 26px ${GLOW});
235
+ }
236
+
237
+ /* Shimmer the loader bar while waiting */
238
+ .ge-st-clip-rect {
239
+ animation: ge-st-fill 2s ease-in-out infinite;
240
+ }
241
+
242
+ @keyframes ge-st-fill {
243
+ 0% { width: 0; }
244
+ 50% { width: 841.89; }
245
+ 100% { width: 0; }
246
+ }
247
+
248
+ /* Stop shimmer once JS-driven progress takes over. */
249
+ .ge-st-clip-rect.driven {
250
+ animation: none;
251
+ }
252
+
253
+ .ge-st-text {
254
+ fill: rgba(255, 255, 255, 0.6);
255
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
256
+ font-size: 22px;
257
+ font-weight: 600;
258
+ letter-spacing: 3px;
259
+ animation: ge-st-pulse 1.5s ease-in-out infinite;
260
+ }
261
+
262
+ @keyframes ge-st-pulse {
263
+ 0%, 100% { opacity: 0.4; }
264
+ 50% { opacity: 1; }
265
+ }
266
+
267
+ /* Tap-to-start CTA pulse. Compound selector outweighs the ambient
268
+ .ge-st-text rule, swapping the animation cleanly. */
269
+ .ge-st-text.ge-st-tap-pulse {
270
+ animation: ge-st-tap 1.2s ease-in-out infinite;
271
+ }
272
+
273
+ @keyframes ge-st-tap {
274
+ 0%, 100% { opacity: 0.5; }
275
+ 50% { opacity: 1; }
276
+ }
143
277
  `,
144
278
  mount(overlay) {
145
279
  const rectEl = overlay.querySelector(`#${RECT_ID$1}`);
146
280
  const textEl = overlay.querySelector(`#${TEXT_ID$1}`);
147
- // Custom HTML mode (or missing logo) — no progress target; lifecycle inert.
148
281
  if (!rectEl || !textEl)
149
282
  return null;
150
283
  let driven = false;
@@ -161,7 +294,7 @@ const energy8Variant = {
161
294
  },
162
295
  showTapText(text) {
163
296
  textEl.textContent = text;
164
- textEl.classList.add('ge-svg-pulse');
297
+ textEl.classList.add('ge-st-tap-pulse');
165
298
  },
166
299
  };
167
300
  },
@@ -301,11 +434,123 @@ const voidmoonVariant = {
301
434
  */
302
435
  const VARIANTS = {
303
436
  energy8: energy8Variant,
437
+ slottech: slottechVariant,
304
438
  voidmoon: voidmoonVariant,
305
439
  };
306
440
  /** Default variant used when `preloaderVariant` is omitted or unknown. */
307
441
  const DEFAULT_VARIANT_NAME = 'energy8';
308
442
 
443
+ /**
444
+ * The "POWERED BY ENERGY8 ENGINE" pre-roll shown at the very start of every
445
+ * boot, above whatever preloader variant the game selected.
446
+ *
447
+ * This is deliberately NOT configurable: it is the platform's attribution and
448
+ * plays for every game, on every boot. `CSSPreloader` mounts it as a layer
449
+ * inside the same overlay it already owns, so there is still exactly one
450
+ * element to tear down and no gap where the page shows through.
451
+ */
452
+ /** Total splash length: logo fades in, holds, fades out, then the black backdrop lifts. */
453
+ const SPLASH_DURATION_MS = 2000;
454
+ /**
455
+ * How long the game's own brand must remain readable once the splash has
456
+ * lifted. Without this a fast boot would swap straight from the splash into
457
+ * the game and the game's logo would never be seen.
458
+ */
459
+ const BRAND_FLOOR_MS = 1000;
460
+ /** Class on the splash layer — also the hook tests assert against. */
461
+ const SPLASH_CLASS = 'ge-splash';
462
+ /**
463
+ * The official artwork as vector outlines. Three groups, in the source's own
464
+ * order: the ENERGY8 wordmark, the "POWERED BY" line above it, and "ENGINE"
465
+ * below. Two deviations from the export:
466
+ *
467
+ * - Every shape is forced to #fff. The source paints `.st0 { fill: #02020a }`
468
+ * and leaves the two text groups with no fill at all (so they default to
469
+ * black) — on a black splash the whole logo would be invisible. Colours are
470
+ * set as attributes rather than a `<style>` block on purpose: inlining the
471
+ * export's `<style>` would leak a rule for the very generic `.st0` selector
472
+ * into the host page.
473
+ * - Ten zero-area `<path d="M…h0Z"/>` stubs are dropped (Illustrator artifacts).
474
+ */
475
+ 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">
476
+ <title>Powered by Energy8 Engine</title>
477
+ <g fill="#fff" stroke="#fff" stroke-miterlimit="10">
478
+ <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"/>
479
+ <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"/>
480
+ <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"/>
481
+ <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"/>
482
+ <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"/>
483
+ <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"/>
484
+ <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"/>
485
+ </g>
486
+ <g fill="#fff">
487
+ <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"/>
488
+ <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"/>
489
+ <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"/>
490
+ <path d="M363.08,21.48h-20.37v5.91h22.73v4.97h-34.35V6.3h33.22v4.97h-21.61v5.24h20.37v4.97Z"/>
491
+ <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"/>
492
+ <path d="M454.32,21.48h-20.37v5.91h22.73v4.97h-34.35V6.3h33.22v4.97h-21.61v5.24h20.37v4.97Z"/>
493
+ <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"/>
494
+ <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"/>
495
+ <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"/>
496
+ </g>
497
+ <g fill="#fff">
498
+ <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"/>
499
+ <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"/>
500
+ <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"/>
501
+ <path d="M427.02,215.23l.08,25.25-14.52.04-.08-25.25,14.52-.04Z"/>
502
+ <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"/>
503
+ <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"/>
504
+ </g>
505
+ </svg>`;
506
+ /** Markup for the splash layer — a black backdrop over the overlay's content. */
507
+ function buildSplashHTML() {
508
+ return `<div class="${SPLASH_CLASS}">${SPLASH_LOGO_SVG}</div>`;
509
+ }
510
+ /**
511
+ * The whole timeline is CSS. JS only removes the layer once it has played, so
512
+ * a stalled main thread can't strand the splash half-faded on screen.
513
+ *
514
+ * Percentages map onto SPLASH_DURATION_MS: logo in by 500ms, held to 1400ms,
515
+ * gone by 1700ms; the backdrop then lifts over the last 300ms, revealing the
516
+ * game's own background and brand from black.
517
+ */
518
+ const SPLASH_CSS = `
519
+ .${SPLASH_CLASS} {
520
+ position: absolute;
521
+ top: 0; left: 0;
522
+ width: 100%; height: 100%;
523
+ background: #000;
524
+ display: flex;
525
+ align-items: center;
526
+ justify-content: center;
527
+ z-index: 1;
528
+ /* Never swallow the tap — the overlay's own pointerdown gate sits below. */
529
+ pointer-events: none;
530
+ animation: ge-splash-backdrop ${SPLASH_DURATION_MS}ms linear forwards;
531
+ }
532
+
533
+ @keyframes ge-splash-backdrop {
534
+ 0%, 85% { opacity: 1; }
535
+ 100% { opacity: 0; }
536
+ }
537
+
538
+ .ge-splash-logo {
539
+ width: 62%;
540
+ max-width: 520px;
541
+ height: auto;
542
+ animation: ge-splash-logo ${SPLASH_DURATION_MS}ms ease-in-out forwards;
543
+ }
544
+
545
+ @keyframes ge-splash-logo {
546
+ 0% { opacity: 0; }
547
+ 25% { opacity: 1; }
548
+ 70% { opacity: 1; }
549
+ 85% { opacity: 0; }
550
+ 100% { opacity: 0; }
551
+ }
552
+ `;
553
+
309
554
  const PRELOADER_ID = '__ge-css-preloader__';
310
555
  const REMOVE_FADE_TIMEOUT_MS = 600;
311
556
  let state = null;
@@ -314,6 +559,17 @@ function clampProgress(p) {
314
559
  return 0;
315
560
  return Math.max(0, Math.min(1, p));
316
561
  }
562
+ /**
563
+ * Milliseconds still owed before the game may take over: the powered-by splash
564
+ * plus the floor that keeps the game's own brand readable behind it. Zero once
565
+ * that window has passed, so a slow boot pays nothing.
566
+ */
567
+ function brandGateDelay() {
568
+ if (!state)
569
+ return 0;
570
+ const elapsed = Date.now() - state.startedAt;
571
+ return Math.max(0, SPLASH_DURATION_MS + BRAND_FLOOR_MS - elapsed);
572
+ }
317
573
  function createCSSPreloader(container, config) {
318
574
  if (document.getElementById(PRELOADER_ID))
319
575
  return;
@@ -331,6 +587,14 @@ function createCSSPreloader(container, config) {
331
587
  const overlay = document.createElement('div');
332
588
  overlay.id = PRELOADER_ID;
333
589
  overlay.innerHTML = customHTML || variant.buildContentHTML(config);
590
+ // The platform's powered-by pre-roll, layered over the variant's content
591
+ // inside the SAME overlay — one element to tear down, and no frame where the
592
+ // page shows through between the two. Appended last so it wins the stacking
593
+ // order. The variant content is still mounted underneath from the first
594
+ // frame, so `setCSSPreloaderProgress` has a live target throughout the
595
+ // splash and nothing has to be buffered and replayed on handover.
596
+ overlay.insertAdjacentHTML('beforeend', buildSplashHTML());
597
+ const splashEl = overlay.lastElementChild;
334
598
  const styleEl = document.createElement('style');
335
599
  // Shared overlay infrastructure (positioning / background / fade) plus the
336
600
  // variant's own content styling and animations.
@@ -353,6 +617,7 @@ function createCSSPreloader(container, config) {
353
617
  pointer-events: none;
354
618
  }
355
619
  ${variant.css}
620
+ ${SPLASH_CSS}
356
621
  `;
357
622
  // The absolute overlay needs a positioned ancestor to size against. Override ONLY a container
358
623
  // whose COMPUTED position is `static`: checking the inline style alone (as this did) misses a
@@ -370,12 +635,25 @@ ${variant.css}
370
635
  // Custom HTML bypasses the variant's content, so there is no progress target
371
636
  // to bind to and the handle stays null (lifecycle API becomes inert).
372
637
  const handle = customHTML ? null : variant.mount(overlay, config);
638
+ // Detach the splash once its CSS timeline has played out. Keeping a spent,
639
+ // fully-transparent layer in the tree would otherwise sit over the content
640
+ // for the rest of the boot.
641
+ const splashTimer = setTimeout(() => {
642
+ splashEl.remove();
643
+ if (state) {
644
+ state.splashEl = null;
645
+ state.splashTimer = null;
646
+ }
647
+ }, SPLASH_DURATION_MS);
373
648
  state = {
374
649
  container,
375
650
  prevPosition,
376
651
  overlay,
377
652
  styleEl,
378
653
  handle,
654
+ splashEl,
655
+ splashTimer,
656
+ startedAt: Date.now(),
379
657
  showPercentage: config?.showPercentage === true,
380
658
  tapToStart: config?.tapToStart !== false,
381
659
  tapToStartText: config?.tapToStartText ?? 'TAP TO START',
@@ -401,42 +679,73 @@ function waitCSSPreloaderTap() {
401
679
  }
402
680
  if (state.removed)
403
681
  return Promise.resolve();
404
- if (!state.tapToStart)
405
- return Promise.resolve();
406
682
  if (state.tapPromise)
407
683
  return state.tapPromise;
408
- state.handle?.showTapText(state.tapToStartText);
409
- state.overlay.style.cursor = 'pointer';
410
- state.tapState = 'waiting';
684
+ const requireTap = state.tapToStart;
685
+ // Only the tap path takes over the status text and freezes progress; with
686
+ // tapToStart:false the bar keeps filling behind the gate as it always did.
687
+ if (requireTap) {
688
+ state.handle?.showTapText(state.tapToStartText);
689
+ state.overlay.style.cursor = 'pointer';
690
+ state.tapState = 'waiting';
691
+ }
411
692
  state.tapPromise = new Promise((resolve) => {
412
- state.tapResolve = resolve;
413
- const handler = (_e) => {
414
- if (!state)
693
+ let settled = false;
694
+ // Shared exit for every path — the gates below, and removeCSSPreloader
695
+ // short-circuiting a pending wait during teardown.
696
+ const finish = () => {
697
+ if (settled)
415
698
  return;
416
- state.overlay.removeEventListener('pointerdown', handler);
417
- state.tapHandler = null;
418
- state.tapState = 'resolved';
419
- state.tapResolve = null;
699
+ settled = true;
700
+ if (state) {
701
+ if (state.tapHandler) {
702
+ state.overlay.removeEventListener('pointerdown', state.tapHandler);
703
+ state.tapHandler = null;
704
+ }
705
+ if (requireTap)
706
+ state.tapState = 'resolved';
707
+ state.tapResolve = null;
708
+ }
420
709
  resolve();
421
710
  };
422
- state.tapHandler = handler;
423
- state.overlay.addEventListener('pointerdown', handler);
711
+ state.tapResolve = finish;
712
+ // Gate 1 — the powered-by splash plus the brand floor. This is what stands
713
+ // between the splash and the game when tapToStart is false; without it a
714
+ // fast boot would cut to gameplay while the splash was still animating.
715
+ const gates = [
716
+ new Promise((r) => setTimeout(r, brandGateDelay())),
717
+ ];
718
+ // Gate 2 — the player's tap, when one is required.
719
+ if (requireTap) {
720
+ gates.push(new Promise((r) => {
721
+ const handler = (_e) => r();
722
+ state.tapHandler = handler;
723
+ state.overlay.addEventListener('pointerdown', handler, { once: true });
724
+ }));
725
+ }
726
+ void Promise.all(gates).then(finish);
424
727
  });
425
728
  return state.tapPromise;
426
729
  }
427
730
  function removeCSSPreloader(_container) {
428
731
  if (!state || state.removed)
429
732
  return Promise.resolve();
733
+ // Drop the splash's pending detach — the whole overlay is going away, and a
734
+ // late callback would touch a torn-down state.
735
+ if (state.splashTimer !== null) {
736
+ clearTimeout(state.splashTimer);
737
+ state.splashTimer = null;
738
+ }
739
+ state.splashEl = null;
430
740
  // Detach the pending pointer listener (if any) and resolve a pending tap.
741
+ // Teardown beats the brand gate on purpose: this is also the boot-error path
742
+ // in GameApplication, which must not sit for seconds behind a brand floor.
431
743
  if (state.tapHandler) {
432
744
  state.overlay.removeEventListener('pointerdown', state.tapHandler);
433
745
  state.tapHandler = null;
434
746
  }
435
- if (state.tapState === 'waiting' && state.tapResolve) {
436
- state.tapState = 'resolved';
747
+ if (state.tapResolve)
437
748
  state.tapResolve();
438
- state.tapResolve = null;
439
- }
440
749
  state.removed = true;
441
750
  const { overlay, styleEl, container, prevPosition } = state;
442
751
  overlay.classList.add('ge-preloader-hidden');
@@ -460,7 +769,7 @@ function removeCSSPreloader(_container) {
460
769
  }
461
770
 
462
771
  exports.DEFAULT_VARIANT_NAME = DEFAULT_VARIANT_NAME;
463
- exports.LOADER_BAR_MAX_WIDTH = LOADER_BAR_MAX_WIDTH$1;
772
+ exports.LOADER_BAR_MAX_WIDTH = LOADER_BAR_MAX_WIDTH$2;
464
773
  exports.VARIANTS = VARIANTS;
465
774
  exports.buildLogoSVG = buildLogoSVG;
466
775
  exports.createCSSPreloader = createCSSPreloader;
@@ -1 +1 @@
1
- {"version":3,"file":"loading.cjs.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":"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"}
1
+ {"version":3,"file":"loading.cjs.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/dist/loading.d.ts CHANGED
@@ -36,6 +36,7 @@ interface PreloaderVariant {
36
36
  */
37
37
  declare const VARIANTS: {
38
38
  readonly energy8: PreloaderVariant;
39
+ readonly slottech: PreloaderVariant;
39
40
  readonly voidmoon: PreloaderVariant;
40
41
  };
41
42
  /** Default variant used when `preloaderVariant` is omitted or unknown. */