@energy8platform/platform-core 0.17.1 → 0.19.0

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/README.md CHANGED
@@ -110,8 +110,9 @@ import {
110
110
  // DevBridge mock host
111
111
  DevBridge, type DevBridgeConfig,
112
112
 
113
- // Branded loading frame
114
- createCSSPreloader, removeCSSPreloader, buildLogoSVG, LOADER_BAR_MAX_WIDTH,
113
+ // Branded loading frame (lifecycle API)
114
+ createCSSPreloader, setCSSPreloaderProgress, waitCSSPreloaderTap, removeCSSPreloader,
115
+ buildLogoSVG, LOADER_BAR_MAX_WIDTH,
115
116
 
116
117
  // Internal utility
117
118
  EventEmitter,
@@ -424,19 +425,47 @@ console.log(`Reproduce with seed=${r.masterSeed}, RTP=${r.totalRtp.toFixed(4)}%`
424
425
  Every Energy8 game shows the same brand frame while it boots. The CSS-only preloader lives here so any renderer hosts the same frame without needing to render anything itself.
425
426
 
426
427
  ```typescript
427
- import { createCSSPreloader, removeCSSPreloader } from '@energy8platform/platform-core/loading';
428
+ import {
429
+ createCSSPreloader,
430
+ setCSSPreloaderProgress,
431
+ waitCSSPreloaderTap,
432
+ removeCSSPreloader,
433
+ } from '@energy8platform/platform-core/loading';
428
434
 
429
435
  createCSSPreloader(document.getElementById('app')!, {
430
436
  backgroundColor: 0x0a0a1a,
431
437
  backgroundGradient: 'linear-gradient(135deg, #0a0a1a 0%, #1a1a3e 100%)',
432
- cssPreloaderHTML: '<custom HTML to override the default frame>',
438
+ showPercentage: true, // SVG text becomes "42%" once you push progress
439
+ tapToStart: true, // default — set false to skip the tap gate
440
+ tapToStartText: 'PLAY', // default 'TAP TO START'
433
441
  });
434
442
 
435
- // later, when your renderer has mounted and assets are loaded:
436
- removeCSSPreloader(container);
443
+ // Drive progress while assets load the bar switches from CSS-shimmer to
444
+ // JS-driven on the first call.
445
+ for await (const p of myAssetLoader.load()) {
446
+ setCSSPreloaderProgress(p); // p ∈ [0, 1] — clamped, NaN treated as 0
447
+ }
448
+
449
+ // Optional tap-to-start gate (useful for mobile audio unlock —
450
+ // the click satisfies the browser's user-gesture requirement).
451
+ await waitCSSPreloaderTap(); // resolves immediately if tapToStart: false
452
+
453
+ // Fade out and clean up. Returns a Promise that resolves after the
454
+ // 0.4s CSS fade completes (or after a 600ms safety timeout if
455
+ // `transitionend` doesn't fire — e.g. in jsdom).
456
+ await removeCSSPreloader(container);
437
457
  ```
438
458
 
439
- The animated loader bar inside the SVG is purely CSS keyframes, so it works in offline / first-paint conditions before any JS module finishes parsing.
459
+ ### Lifecycle contract (one preloader per page)
460
+
461
+ - **`createCSSPreloader(container, config?)`** — mounts the overlay. Idempotent: a second call while a preloader exists is a no-op.
462
+ - **`setCSSPreloaderProgress(p)`** — silent no-op if called before `create` or after `remove`. Clamps `p` to `[0, 1]`; `NaN`/`±Infinity` become `0`. The first call switches the loader bar from CSS shimmer to JS-driven width. If `showPercentage: true`, the SVG text updates to `${Math.round(p * 100)}%`. Calls during `waitCSSPreloaderTap` are ignored — the text reads `'TAP TO START'` and we don't flash percentages over it.
463
+ - **`waitCSSPreloaderTap()`** — returns `Promise<void>`. Throws if called before `createCSSPreloader` (programmer error). Resolves immediately if `tapToStart: false`. Otherwise: swaps the SVG text to `tapToStartText`, adds a CSS pulse class, sets `cursor: pointer`, attaches a `pointerdown` listener, and resolves on first tap. Subsequent calls return the same memoized Promise.
464
+ - **`removeCSSPreloader(container)`** — returns `Promise<void>`. Idempotent. If a `waitCSSPreloaderTap` Promise is still pending, it resolves first; then the overlay fades out and the Promise resolves. Was `void` in earlier versions; the wider return type is backwards-compatible (callers who don't `await` keep working).
465
+
466
+ The animated shimmer inside the SVG is pure CSS keyframes, so it appears in offline / first-paint conditions before any JS module finishes parsing. Once you start reporting real progress, JS takes over.
467
+
468
+ > Mobile audio unlock: pair `waitCSSPreloaderTap()` with your audio system's resume/unlock call inside the same await chain. The user's tap is a valid gesture that satisfies iOS Safari and Chrome on Android.
440
469
 
441
470
  ---
442
471
 
@@ -496,12 +525,14 @@ A typical Phaser / Three / custom-engine bootstrap looks like:
496
525
  import {
497
526
  createPlatformSession,
498
527
  createCSSPreloader,
528
+ setCSSPreloaderProgress,
529
+ waitCSSPreloaderTap,
499
530
  removeCSSPreloader,
500
531
  type AssetManifest,
501
532
  } from '@energy8platform/platform-core';
502
533
 
503
534
  const container = document.getElementById('app')!;
504
- createCSSPreloader(container);
535
+ createCSSPreloader(container, { showPercentage: true, tapToStart: true });
505
536
 
506
537
  const session = await createPlatformSession({
507
538
  dev: { luaScript, gameDefinition, balance: 10000, currency: 'EUR' },
@@ -513,13 +544,18 @@ const { assetsUrl } = session.initData ?? { assetsUrl: '/assets/' };
513
544
 
514
545
  // 2. Boot YOUR renderer however it likes:
515
546
  const game = new Phaser.Game({ /* … */ });
516
- // 3. Load assets through Phaser's loader, treating `manifest` as
517
- // the source of truth for what's needed.
518
- await loadBundles(game.loader, manifest, assetsUrl);
519
547
 
520
- removeCSSPreloader(container);
548
+ // 3. Load assets through your renderer's loader, treating `manifest`
549
+ // as the source of truth, and pipe progress into the preloader.
550
+ await loadBundles(game.loader, manifest, assetsUrl, (p) => {
551
+ setCSSPreloaderProgress(p);
552
+ });
553
+
554
+ // 4. Wait for the user's tap (resolves immediately if tapToStart: false)
555
+ await waitCSSPreloaderTap();
556
+ await removeCSSPreloader(container);
521
557
 
522
- // 4. Wire SDK events / play requests
558
+ // 5. Wire SDK events / play requests
523
559
  session.on('balanceUpdate', ({ balance }) => game.events.emit('balance', balance));
524
560
  const result = await session.play({ action: 'spin', bet: 1 });
525
561
  ```
@@ -537,7 +573,7 @@ Nothing in this code is Pixi-specific. The same pattern fits Three.js, Babylon,
537
573
  | `@energy8platform/platform-core/simulation` | **Node-only.** `NativeSimulationRunner` (Go binary) and `ParallelSimulationRunner` (worker_threads). Don't import from a browser bundle — the main entry and `/lua` deliberately exclude these so they can't be tree-shake-leaked. |
538
574
  | `@energy8platform/platform-core/dev-bridge` | `DevBridge`, `DevBridgeConfig` |
539
575
  | `@energy8platform/platform-core/vite` | `devBridgePlugin`, `luaPlugin` |
540
- | `@energy8platform/platform-core/loading` | `createCSSPreloader`, `removeCSSPreloader`, `buildLogoSVG`, `LOADER_BAR_MAX_WIDTH` |
576
+ | `@energy8platform/platform-core/loading` | `createCSSPreloader`, `setCSSPreloaderProgress`, `waitCSSPreloaderTap`, `removeCSSPreloader`, `buildLogoSVG`, `LOADER_BAR_MAX_WIDTH` |
541
577
 
542
578
  The sub-paths exist for tree-shaking — pulling only `/lua` doesn't drag in DevBridge or vite types. The main entry is convenient for app-level code where size hardly matters.
543
579
 
package/dist/index.cjs.js CHANGED
@@ -610,22 +610,23 @@ ${defs}
610
610
  }
611
611
 
612
612
  const PRELOADER_ID = '__ge-css-preloader__';
613
- /**
614
- * Inline SVG logo with animated loader bar.
615
- * The `#loader` path acts as the progress fill — animated via clipPath.
616
- */
613
+ const RECT_ID = 'ge-pl-loader-rect';
614
+ const TEXT_ID = 'ge-pl-loader-text';
615
+ const REMOVE_FADE_TIMEOUT_MS = 600;
617
616
  const LOGO_SVG = buildLogoSVG({
618
617
  idPrefix: 'pl',
619
618
  svgClass: 'ge-logo-svg',
620
619
  clipRectClass: 'ge-clip-rect',
620
+ clipRectId: RECT_ID,
621
621
  textClass: 'ge-preloader-svg-text',
622
+ textId: TEXT_ID,
622
623
  });
623
- /**
624
- * Creates a lightweight CSS-only preloader that appears instantly,
625
- * BEFORE PixiJS/WebGL is initialized.
626
- *
627
- * Displays the Energy8 logo SVG with an animated loader bar.
628
- */
624
+ let state = null;
625
+ function clampProgress(p) {
626
+ if (!Number.isFinite(p))
627
+ return 0;
628
+ return Math.max(0, Math.min(1, p));
629
+ }
629
630
  function createCSSPreloader(container, config) {
630
631
  if (document.getElementById(PRELOADER_ID))
631
632
  return;
@@ -636,15 +637,15 @@ function createCSSPreloader(container, config) {
636
637
  : '#0a0a1a';
637
638
  const bgGradient = config?.backgroundGradient ?? `linear-gradient(135deg, ${bgColor} 0%, #1a1a3e 100%)`;
638
639
  const customHTML = config?.cssPreloaderHTML ?? '';
639
- const el = document.createElement('div');
640
- el.id = PRELOADER_ID;
641
- el.innerHTML = customHTML || `
640
+ const overlay = document.createElement('div');
641
+ overlay.id = PRELOADER_ID;
642
+ overlay.innerHTML = customHTML || `
642
643
  <div class="ge-preloader-content">
643
644
  ${LOGO_SVG}
644
645
  </div>
645
646
  `;
646
- const style = document.createElement('style');
647
- style.textContent = `
647
+ const styleEl = document.createElement('style');
648
+ styleEl.textContent = `
648
649
  #${PRELOADER_ID} {
649
650
  position: absolute;
650
651
  top: 0; left: 0;
@@ -697,29 +698,144 @@ function createCSSPreloader(container, config) {
697
698
  0%, 100% { opacity: 0.4; }
698
699
  50% { opacity: 1; }
699
700
  }
701
+
702
+ /* Stop shimmer once JS-driven progress takes over. */
703
+ .ge-clip-rect.driven {
704
+ animation: none;
705
+ }
706
+
707
+ /* Tap-to-start CTA pulse. Compound selector outweighs the ambient
708
+ .ge-preloader-svg-text rule, swapping the animation cleanly. */
709
+ .ge-preloader-svg-text.ge-svg-pulse {
710
+ animation: ge-tap-pulse 1.2s ease-in-out infinite;
711
+ }
712
+
713
+ @keyframes ge-tap-pulse {
714
+ 0%, 100% { opacity: 0.5; }
715
+ 50% { opacity: 1; }
716
+ }
700
717
  `;
701
718
  container.style.position = container.style.position || 'relative';
702
- container.appendChild(style);
703
- container.appendChild(el);
719
+ container.appendChild(styleEl);
720
+ container.appendChild(overlay);
721
+ const rectEl = overlay.querySelector(`#${RECT_ID}`);
722
+ const textEl = overlay.querySelector(`#${TEXT_ID}`);
723
+ if (!rectEl || !textEl) {
724
+ // Custom HTML mode — no logo SVG, lifecycle API becomes mostly inert.
725
+ // We still record state so removeCSSPreloader works.
726
+ state = {
727
+ container,
728
+ overlay,
729
+ styleEl,
730
+ rectEl: null,
731
+ textEl: null,
732
+ showPercentage: false,
733
+ tapToStart: config?.tapToStart !== false,
734
+ tapToStartText: config?.tapToStartText ?? 'TAP TO START',
735
+ driven: false,
736
+ tapState: 'idle',
737
+ tapPromise: null,
738
+ tapResolve: null,
739
+ tapHandler: null,
740
+ removed: false,
741
+ };
742
+ return;
743
+ }
744
+ state = {
745
+ container,
746
+ overlay,
747
+ styleEl,
748
+ rectEl,
749
+ textEl,
750
+ showPercentage: config?.showPercentage === true,
751
+ tapToStart: config?.tapToStart !== false,
752
+ tapToStartText: config?.tapToStartText ?? 'TAP TO START',
753
+ driven: false,
754
+ tapState: 'idle',
755
+ tapPromise: null,
756
+ tapResolve: null,
757
+ tapHandler: null,
758
+ removed: false,
759
+ };
704
760
  }
705
- /**
706
- * Remove the CSS preloader with a smooth fade-out transition.
707
- */
708
- function removeCSSPreloader(container) {
709
- const el = document.getElementById(PRELOADER_ID);
710
- if (!el)
761
+ function setCSSPreloaderProgress(progress) {
762
+ if (!state || state.removed)
711
763
  return;
712
- el.classList.add('ge-preloader-hidden');
713
- // Remove after transition
714
- el.addEventListener('transitionend', () => {
715
- el.remove();
716
- // Also remove the style element
717
- const styles = container.querySelectorAll('style');
718
- for (const style of styles) {
719
- if (style.textContent?.includes(PRELOADER_ID)) {
720
- style.remove();
721
- }
722
- }
764
+ if (state.tapState === 'waiting' || state.tapState === 'resolved')
765
+ return;
766
+ if (!state.rectEl)
767
+ return;
768
+ const p = clampProgress(progress);
769
+ if (!state.driven) {
770
+ state.rectEl.classList.add('driven');
771
+ state.driven = true;
772
+ }
773
+ state.rectEl.setAttribute('width', String(p * LOADER_BAR_MAX_WIDTH));
774
+ if (state.showPercentage && state.textEl) {
775
+ state.textEl.textContent = `${Math.round(p * 100)}%`;
776
+ }
777
+ }
778
+ function waitCSSPreloaderTap() {
779
+ if (!state) {
780
+ throw new Error('CSS preloader not initialized — call createCSSPreloader first');
781
+ }
782
+ if (state.removed)
783
+ return Promise.resolve();
784
+ if (!state.tapToStart)
785
+ return Promise.resolve();
786
+ if (state.tapPromise)
787
+ return state.tapPromise;
788
+ if (state.textEl) {
789
+ state.textEl.textContent = state.tapToStartText;
790
+ state.textEl.classList.add('ge-svg-pulse');
791
+ }
792
+ state.overlay.style.cursor = 'pointer';
793
+ state.tapState = 'waiting';
794
+ state.tapPromise = new Promise((resolve) => {
795
+ state.tapResolve = resolve;
796
+ const handler = (_e) => {
797
+ if (!state)
798
+ return;
799
+ state.overlay.removeEventListener('pointerdown', handler);
800
+ state.tapHandler = null;
801
+ state.tapState = 'resolved';
802
+ state.tapResolve = null;
803
+ resolve();
804
+ };
805
+ state.tapHandler = handler;
806
+ state.overlay.addEventListener('pointerdown', handler);
807
+ });
808
+ return state.tapPromise;
809
+ }
810
+ function removeCSSPreloader(_container) {
811
+ if (!state || state.removed)
812
+ return Promise.resolve();
813
+ // Detach the pending pointer listener (if any) and resolve a pending tap.
814
+ if (state.tapHandler) {
815
+ state.overlay.removeEventListener('pointerdown', state.tapHandler);
816
+ state.tapHandler = null;
817
+ }
818
+ if (state.tapState === 'waiting' && state.tapResolve) {
819
+ state.tapState = 'resolved';
820
+ state.tapResolve();
821
+ state.tapResolve = null;
822
+ }
823
+ state.removed = true;
824
+ const { overlay, styleEl } = state;
825
+ overlay.classList.add('ge-preloader-hidden');
826
+ return new Promise((resolve) => {
827
+ let settled = false;
828
+ const finish = () => {
829
+ if (settled)
830
+ return;
831
+ settled = true;
832
+ overlay.remove();
833
+ styleEl.remove();
834
+ state = null;
835
+ resolve();
836
+ };
837
+ overlay.addEventListener('transitionend', finish, { once: true });
838
+ setTimeout(finish, REMOVE_FADE_TIMEOUT_MS);
723
839
  });
724
840
  }
725
841
 
@@ -731,4 +847,6 @@ exports.buildLogoSVG = buildLogoSVG;
731
847
  exports.createCSSPreloader = createCSSPreloader;
732
848
  exports.createPlatformSession = createPlatformSession;
733
849
  exports.removeCSSPreloader = removeCSSPreloader;
850
+ exports.setCSSPreloaderProgress = setCSSPreloaderProgress;
851
+ exports.waitCSSPreloaderTap = waitCSSPreloaderTap;
734
852
  //# sourceMappingURL=index.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","sources":["../src/dev-bridge/DevBridge.ts","../src/EventEmitter.ts","../src/PlatformSession.ts","../src/loading/logo.ts","../src/loading/CSSPreloader.ts"],"sourcesContent":[null,null,null,null,null],"names":["Bridge","CasinoGameSDK"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs.js","sources":["../src/dev-bridge/DevBridge.ts","../src/EventEmitter.ts","../src/PlatformSession.ts","../src/loading/logo.ts","../src/loading/CSSPreloader.ts"],"sourcesContent":[null,null,null,null,null],"names":["Bridge","CasinoGameSDK"],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -370,9 +370,15 @@ interface LoadingScreenConfig {
370
370
  showPercentage?: boolean;
371
371
  /** Custom progress text formatter */
372
372
  progressTextFormatter?: (progress: number) => string;
373
- /** Show "Tap to start" after loading (needed for mobile audio unlock) */
373
+ /**
374
+ * If true (default), `waitCSSPreloaderTap()` blocks until the user
375
+ * clicks the preloader. Set to `false` to make `waitCSSPreloaderTap()`
376
+ * resolve immediately (skip-flag for games that don't want a manual
377
+ * gate). Useful for mobile audio unlock — the click satisfies the
378
+ * browser's user-gesture requirement.
379
+ */
374
380
  tapToStart?: boolean;
375
- /** "Tap to start" label text */
381
+ /** Label shown in the SVG text element while waiting for tap. Default: 'TAP TO START'. */
376
382
  tapToStartText?: string;
377
383
  /** Minimum display time in ms (so the user sees the brand, even if loading is fast) */
378
384
  minDisplayTime?: number;
@@ -380,17 +386,10 @@ interface LoadingScreenConfig {
380
386
  cssPreloaderHTML?: string;
381
387
  }
382
388
 
383
- /**
384
- * Creates a lightweight CSS-only preloader that appears instantly,
385
- * BEFORE PixiJS/WebGL is initialized.
386
- *
387
- * Displays the Energy8 logo SVG with an animated loader bar.
388
- */
389
389
  declare function createCSSPreloader(container: HTMLElement, config?: LoadingScreenConfig): void;
390
- /**
391
- * Remove the CSS preloader with a smooth fade-out transition.
392
- */
393
- declare function removeCSSPreloader(container: HTMLElement): void;
390
+ declare function setCSSPreloaderProgress(progress: number): void;
391
+ declare function waitCSSPreloaderTap(): Promise<void>;
392
+ declare function removeCSSPreloader(_container: HTMLElement): Promise<void>;
394
393
 
395
394
  /**
396
395
  * Shared Energy8 SVG logo with an embedded loader bar.
@@ -509,5 +508,5 @@ interface NativeSimulationResult extends SimulationResult {
509
508
  replay?: NativeReplayParams;
510
509
  }
511
510
 
512
- export { DevBridge, EventEmitter, LOADER_BAR_MAX_WIDTH, PlatformSession, buildLogoSVG, createCSSPreloader, createPlatformSession, removeCSSPreloader };
511
+ export { DevBridge, EventEmitter, LOADER_BAR_MAX_WIDTH, PlatformSession, buildLogoSVG, createCSSPreloader, createPlatformSession, removeCSSPreloader, setCSSPreloaderProgress, waitCSSPreloaderTap };
513
512
  export type { ActionDefinition, AssetBundle, AssetEntry, AssetManifest, BetLevelsConfig, DevBridgeConfig, DistributionBucket, GameDefinition, LoadingScreenConfig, LuaEngineConfig, LuaPlayResult, MaxWinConfig, NativeSimulationConfig, NativeSimulationResult, PersistentStateConfig, PlatformSessionConfig, PlatformSessionEvents, SDKOptions, SessionConfig, SimulationConfig, SimulationRawAccumulators, SimulationResult, StageStats, TransitionRule };