@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.
- package/dist/index.cjs.js +337 -28
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.esm.js +337 -28
- package/dist/index.esm.js.map +1 -1
- package/dist/loading.cjs.js +337 -28
- package/dist/loading.cjs.js.map +1 -1
- package/dist/loading.d.ts +1 -0
- package/dist/loading.esm.js +337 -28
- package/dist/loading.esm.js.map +1 -1
- package/dist/vite.cjs.js +104 -24
- package/dist/vite.cjs.js.map +1 -1
- package/dist/vite.d.ts +4 -1
- package/dist/vite.esm.js +104 -24
- package/dist/vite.esm.js.map +1 -1
- package/package.json +1 -1
- package/src/loading/CSSPreloader.ts +102 -18
- package/src/loading/splash.ts +116 -0
- package/src/loading/variants/index.ts +2 -0
- package/src/loading/variants/slottech.ts +141 -0
- package/src/vite/spinPlugin.ts +113 -25
package/dist/vite.cjs.js
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
var node_child_process = require('node:child_process');
|
|
4
4
|
var node_fs = require('node:fs');
|
|
5
5
|
var node_module = require('node:module');
|
|
6
|
+
var node_net = require('node:net');
|
|
6
7
|
var node_url = require('node:url');
|
|
7
8
|
var node_os = require('node:os');
|
|
8
9
|
var node_path = require('node:path');
|
|
@@ -21,6 +22,36 @@ var _documentCurrentScript = typeof document !== 'undefined' ? document.currentS
|
|
|
21
22
|
* Источник истины протокола: casino-platform/e8/crates/e8-server/proto/
|
|
22
23
|
* engine.proto (репо движка); ниже — синхронизированная копия.
|
|
23
24
|
*/
|
|
25
|
+
/** стартовый порт gRPC, если не задан явно и нет E8_SERVER_PORT */
|
|
26
|
+
const DEFAULT_SPIN_PORT = 50151;
|
|
27
|
+
/** сколько портов подряд пробуем от стартового, прежде чем сдаться */
|
|
28
|
+
const PORT_SCAN_RANGE = 20;
|
|
29
|
+
/** сколько раз перезапускаем поиск, если сервер не поднялся на выбранном порту */
|
|
30
|
+
const START_ATTEMPTS = 3;
|
|
31
|
+
/**
|
|
32
|
+
* Свободен ли порт. Биндимся на 0.0.0.0 — e8-server слушает все интерфейсы,
|
|
33
|
+
* так что занятость на любом из них ему помешает.
|
|
34
|
+
*/
|
|
35
|
+
function isPortFree(port) {
|
|
36
|
+
return new Promise((resolve) => {
|
|
37
|
+
const probe = node_net.createServer();
|
|
38
|
+
probe.once('error', () => resolve(false));
|
|
39
|
+
probe.once('listening', () => probe.close(() => resolve(true)));
|
|
40
|
+
probe.listen(port, '0.0.0.0');
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Первый свободный порт начиная со `start`. Нужен, потому что порт по
|
|
45
|
+
* умолчанию один на все игры: без этого второй `npm run dev` не забиндил бы
|
|
46
|
+
* свой e8-server и молча ходил бы в чужой (с чужим --games-dir).
|
|
47
|
+
*/
|
|
48
|
+
async function findFreePort(start, range = PORT_SCAN_RANGE) {
|
|
49
|
+
for (let p = start; p < start + range; p++) {
|
|
50
|
+
if (await isPortFree(p))
|
|
51
|
+
return p;
|
|
52
|
+
}
|
|
53
|
+
throw new Error(`[e8] нет свободного порта в диапазоне ${start}..${start + range - 1}`);
|
|
54
|
+
}
|
|
24
55
|
/**
|
|
25
56
|
* Поиск бинаря e8-server в порядке их NativeSimulationRunner:
|
|
26
57
|
* явный binPath → env E8_SERVER_BINARY →
|
|
@@ -135,7 +166,10 @@ message HealthRequest {}
|
|
|
135
166
|
message HealthResponse { bool ok = 1; uint32 games_loaded = 2; string sessions_backend = 3; }
|
|
136
167
|
`;
|
|
137
168
|
function spinPlugin(opts = {}) {
|
|
138
|
-
const
|
|
169
|
+
const basePort = opts.port ?? (Number(process.env.E8_SERVER_PORT) || DEFAULT_SPIN_PORT);
|
|
170
|
+
// фактический порт: при `external` — ровно basePort, иначе подбирается в
|
|
171
|
+
// configureServer и дальше читается замыканиями grpc()/логами
|
|
172
|
+
let port = basePort;
|
|
139
173
|
const serverSeed = opts.serverSeed ?? 'e8-dev-seed';
|
|
140
174
|
let child = null;
|
|
141
175
|
let client = null;
|
|
@@ -207,6 +241,68 @@ function spinPlugin(opts = {}) {
|
|
|
207
241
|
roundId,
|
|
208
242
|
};
|
|
209
243
|
}
|
|
244
|
+
/**
|
|
245
|
+
* Дождаться готовности сервера и запомнить gameId/entry_actions.
|
|
246
|
+
* `isDead` даёт выйти сразу, если наш процесс умер (не забиндил порт) —
|
|
247
|
+
* иначе ждали бы 30 секунд впустую.
|
|
248
|
+
*/
|
|
249
|
+
async function connect(isDead = () => false) {
|
|
250
|
+
for (let i = 0; i < 100; i++) {
|
|
251
|
+
if (isDead())
|
|
252
|
+
return false;
|
|
253
|
+
try {
|
|
254
|
+
const games = await call('ListGames', {});
|
|
255
|
+
if (!gameId)
|
|
256
|
+
gameId = games.games[0]?.game_id ?? '';
|
|
257
|
+
const info = games.games.find((g) => g.game_id === gameId);
|
|
258
|
+
entryActions = info?.entry_actions ?? [];
|
|
259
|
+
console.log(`[e8] connected: :${port} game=${gameId} script=${info?.script_sha256?.slice(0, 12)} entry=[${entryActions}]`);
|
|
260
|
+
return true;
|
|
261
|
+
}
|
|
262
|
+
catch {
|
|
263
|
+
await new Promise((res) => setTimeout(res, 300));
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
return false;
|
|
267
|
+
}
|
|
268
|
+
/**
|
|
269
|
+
* Поднять собственный e8-server на свободном порту. Порт проверяется до
|
|
270
|
+
* спавна, но между проверкой и биндом есть гонка (и порт мог занять другой
|
|
271
|
+
* e8-server) — поэтому при неудачном старте ищем дальше со следующего.
|
|
272
|
+
*/
|
|
273
|
+
async function startServer() {
|
|
274
|
+
const bin = resolveServerBinary(opts.binPath);
|
|
275
|
+
let from = basePort;
|
|
276
|
+
for (let attempt = 0; attempt < START_ATTEMPTS; attempt++) {
|
|
277
|
+
try {
|
|
278
|
+
port = await findFreePort(from);
|
|
279
|
+
}
|
|
280
|
+
catch (e) {
|
|
281
|
+
console.error(e.message);
|
|
282
|
+
return;
|
|
283
|
+
}
|
|
284
|
+
if (port !== basePort) {
|
|
285
|
+
console.log(`[e8] порт ${basePort} занят → e8-server на :${port}`);
|
|
286
|
+
}
|
|
287
|
+
const args = ['--port', String(port), '--sessions', 'memory', '--watch'];
|
|
288
|
+
if (opts.gamesDir)
|
|
289
|
+
args.push('--games-dir', opts.gamesDir);
|
|
290
|
+
else if (opts.spinPath) {
|
|
291
|
+
const dir = opts.spinPath.replace(/\/[^/]+$/, '') || '.';
|
|
292
|
+
args.push('--games-dir', dir);
|
|
293
|
+
}
|
|
294
|
+
let exited = false;
|
|
295
|
+
child = node_child_process.spawn(bin, args, { stdio: 'inherit' });
|
|
296
|
+
child.once('exit', () => (exited = true));
|
|
297
|
+
client = grpc();
|
|
298
|
+
if (await connect(() => exited))
|
|
299
|
+
return;
|
|
300
|
+
child?.kill();
|
|
301
|
+
child = null;
|
|
302
|
+
from = port + 1;
|
|
303
|
+
}
|
|
304
|
+
console.error(`[e8] e8-server не поднялся за ${START_ATTEMPTS} попытки от :${basePort}`);
|
|
305
|
+
}
|
|
210
306
|
async function play(body) {
|
|
211
307
|
const action = body.action ?? 'spin';
|
|
212
308
|
const params = body.params ? JSON.stringify(body.params) : '';
|
|
@@ -264,31 +360,15 @@ function spinPlugin(opts = {}) {
|
|
|
264
360
|
// движка (их LuaEngine на .spin-тексте тихо не поднимется).
|
|
265
361
|
enforce: 'pre',
|
|
266
362
|
async configureServer(server) {
|
|
267
|
-
if (
|
|
268
|
-
|
|
269
|
-
if (
|
|
270
|
-
|
|
271
|
-
else if (opts.spinPath) {
|
|
272
|
-
const dir = opts.spinPath.replace(/\/[^/]+$/, '') || '.';
|
|
273
|
-
args.push('--games-dir', dir);
|
|
363
|
+
if (opts.external) {
|
|
364
|
+
client = grpc();
|
|
365
|
+
if (!(await connect())) {
|
|
366
|
+
console.error(`[e8] нет сервера на 127.0.0.1:${port} (external: true)`);
|
|
274
367
|
}
|
|
275
|
-
child = node_child_process.spawn(resolveServerBinary(opts.binPath), args, { stdio: 'inherit' });
|
|
276
|
-
server.httpServer?.on('close', () => child?.kill());
|
|
277
368
|
}
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
const games = await call('ListGames', {});
|
|
282
|
-
if (!gameId)
|
|
283
|
-
gameId = games.games[0]?.game_id ?? '';
|
|
284
|
-
const info = games.games.find((g) => g.game_id === gameId);
|
|
285
|
-
entryActions = info?.entry_actions ?? [];
|
|
286
|
-
console.log(`[e8] connected: game=${gameId} script=${info?.script_sha256?.slice(0, 12)} entry=[${entryActions}]`);
|
|
287
|
-
break;
|
|
288
|
-
}
|
|
289
|
-
catch {
|
|
290
|
-
await new Promise((res) => setTimeout(res, 300));
|
|
291
|
-
}
|
|
369
|
+
else {
|
|
370
|
+
await startServer();
|
|
371
|
+
server.httpServer?.on('close', () => child?.kill());
|
|
292
372
|
}
|
|
293
373
|
server.middlewares.use('/__lua-play', (req, res) => {
|
|
294
374
|
if (req.method !== 'POST') {
|
package/dist/vite.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite.cjs.js","sources":["../src/vite/spinPlugin.ts","../src/vite/index.ts"],"sourcesContent":[null,null],"names":["accessSync","fsConstants","fileURLToPath","join","createRequire","mkdtempSync","tmpdir","writeFileSync","spawn"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"vite.cjs.js","sources":["../src/vite/spinPlugin.ts","../src/vite/index.ts"],"sourcesContent":[null,null],"names":["createNetServer","accessSync","fsConstants","fileURLToPath","join","createRequire","mkdtempSync","tmpdir","writeFileSync","spawn"],"mappings":"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"}
|
package/dist/vite.d.ts
CHANGED
|
@@ -8,7 +8,10 @@ interface SpinPluginOptions {
|
|
|
8
8
|
gamesDir?: string;
|
|
9
9
|
/** id игры из декларации game "..." (default: первая загруженная) */
|
|
10
10
|
gameId?: string;
|
|
11
|
-
/**
|
|
11
|
+
/**
|
|
12
|
+
* Стартовый порт gRPC (default: E8_SERVER_PORT → 50151). Если занят —
|
|
13
|
+
* берётся следующий свободный, кроме случая `external`, где порт точный.
|
|
14
|
+
*/
|
|
12
15
|
port?: number;
|
|
13
16
|
/** server_seed дев-сессий (детерминированный replay) */
|
|
14
17
|
serverSeed?: string;
|
package/dist/vite.esm.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { spawn } from 'node:child_process';
|
|
2
2
|
import { mkdtempSync, writeFileSync, accessSync, constants } from 'node:fs';
|
|
3
3
|
import { createRequire } from 'node:module';
|
|
4
|
+
import { createServer } from 'node:net';
|
|
4
5
|
import { fileURLToPath } from 'node:url';
|
|
5
6
|
import { tmpdir } from 'node:os';
|
|
6
7
|
import { join } from 'node:path';
|
|
@@ -18,6 +19,36 @@ import { join } from 'node:path';
|
|
|
18
19
|
* Источник истины протокола: casino-platform/e8/crates/e8-server/proto/
|
|
19
20
|
* engine.proto (репо движка); ниже — синхронизированная копия.
|
|
20
21
|
*/
|
|
22
|
+
/** стартовый порт gRPC, если не задан явно и нет E8_SERVER_PORT */
|
|
23
|
+
const DEFAULT_SPIN_PORT = 50151;
|
|
24
|
+
/** сколько портов подряд пробуем от стартового, прежде чем сдаться */
|
|
25
|
+
const PORT_SCAN_RANGE = 20;
|
|
26
|
+
/** сколько раз перезапускаем поиск, если сервер не поднялся на выбранном порту */
|
|
27
|
+
const START_ATTEMPTS = 3;
|
|
28
|
+
/**
|
|
29
|
+
* Свободен ли порт. Биндимся на 0.0.0.0 — e8-server слушает все интерфейсы,
|
|
30
|
+
* так что занятость на любом из них ему помешает.
|
|
31
|
+
*/
|
|
32
|
+
function isPortFree(port) {
|
|
33
|
+
return new Promise((resolve) => {
|
|
34
|
+
const probe = createServer();
|
|
35
|
+
probe.once('error', () => resolve(false));
|
|
36
|
+
probe.once('listening', () => probe.close(() => resolve(true)));
|
|
37
|
+
probe.listen(port, '0.0.0.0');
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Первый свободный порт начиная со `start`. Нужен, потому что порт по
|
|
42
|
+
* умолчанию один на все игры: без этого второй `npm run dev` не забиндил бы
|
|
43
|
+
* свой e8-server и молча ходил бы в чужой (с чужим --games-dir).
|
|
44
|
+
*/
|
|
45
|
+
async function findFreePort(start, range = PORT_SCAN_RANGE) {
|
|
46
|
+
for (let p = start; p < start + range; p++) {
|
|
47
|
+
if (await isPortFree(p))
|
|
48
|
+
return p;
|
|
49
|
+
}
|
|
50
|
+
throw new Error(`[e8] нет свободного порта в диапазоне ${start}..${start + range - 1}`);
|
|
51
|
+
}
|
|
21
52
|
/**
|
|
22
53
|
* Поиск бинаря e8-server в порядке их NativeSimulationRunner:
|
|
23
54
|
* явный binPath → env E8_SERVER_BINARY →
|
|
@@ -132,7 +163,10 @@ message HealthRequest {}
|
|
|
132
163
|
message HealthResponse { bool ok = 1; uint32 games_loaded = 2; string sessions_backend = 3; }
|
|
133
164
|
`;
|
|
134
165
|
function spinPlugin(opts = {}) {
|
|
135
|
-
const
|
|
166
|
+
const basePort = opts.port ?? (Number(process.env.E8_SERVER_PORT) || DEFAULT_SPIN_PORT);
|
|
167
|
+
// фактический порт: при `external` — ровно basePort, иначе подбирается в
|
|
168
|
+
// configureServer и дальше читается замыканиями grpc()/логами
|
|
169
|
+
let port = basePort;
|
|
136
170
|
const serverSeed = opts.serverSeed ?? 'e8-dev-seed';
|
|
137
171
|
let child = null;
|
|
138
172
|
let client = null;
|
|
@@ -204,6 +238,68 @@ function spinPlugin(opts = {}) {
|
|
|
204
238
|
roundId,
|
|
205
239
|
};
|
|
206
240
|
}
|
|
241
|
+
/**
|
|
242
|
+
* Дождаться готовности сервера и запомнить gameId/entry_actions.
|
|
243
|
+
* `isDead` даёт выйти сразу, если наш процесс умер (не забиндил порт) —
|
|
244
|
+
* иначе ждали бы 30 секунд впустую.
|
|
245
|
+
*/
|
|
246
|
+
async function connect(isDead = () => false) {
|
|
247
|
+
for (let i = 0; i < 100; i++) {
|
|
248
|
+
if (isDead())
|
|
249
|
+
return false;
|
|
250
|
+
try {
|
|
251
|
+
const games = await call('ListGames', {});
|
|
252
|
+
if (!gameId)
|
|
253
|
+
gameId = games.games[0]?.game_id ?? '';
|
|
254
|
+
const info = games.games.find((g) => g.game_id === gameId);
|
|
255
|
+
entryActions = info?.entry_actions ?? [];
|
|
256
|
+
console.log(`[e8] connected: :${port} game=${gameId} script=${info?.script_sha256?.slice(0, 12)} entry=[${entryActions}]`);
|
|
257
|
+
return true;
|
|
258
|
+
}
|
|
259
|
+
catch {
|
|
260
|
+
await new Promise((res) => setTimeout(res, 300));
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
return false;
|
|
264
|
+
}
|
|
265
|
+
/**
|
|
266
|
+
* Поднять собственный e8-server на свободном порту. Порт проверяется до
|
|
267
|
+
* спавна, но между проверкой и биндом есть гонка (и порт мог занять другой
|
|
268
|
+
* e8-server) — поэтому при неудачном старте ищем дальше со следующего.
|
|
269
|
+
*/
|
|
270
|
+
async function startServer() {
|
|
271
|
+
const bin = resolveServerBinary(opts.binPath);
|
|
272
|
+
let from = basePort;
|
|
273
|
+
for (let attempt = 0; attempt < START_ATTEMPTS; attempt++) {
|
|
274
|
+
try {
|
|
275
|
+
port = await findFreePort(from);
|
|
276
|
+
}
|
|
277
|
+
catch (e) {
|
|
278
|
+
console.error(e.message);
|
|
279
|
+
return;
|
|
280
|
+
}
|
|
281
|
+
if (port !== basePort) {
|
|
282
|
+
console.log(`[e8] порт ${basePort} занят → e8-server на :${port}`);
|
|
283
|
+
}
|
|
284
|
+
const args = ['--port', String(port), '--sessions', 'memory', '--watch'];
|
|
285
|
+
if (opts.gamesDir)
|
|
286
|
+
args.push('--games-dir', opts.gamesDir);
|
|
287
|
+
else if (opts.spinPath) {
|
|
288
|
+
const dir = opts.spinPath.replace(/\/[^/]+$/, '') || '.';
|
|
289
|
+
args.push('--games-dir', dir);
|
|
290
|
+
}
|
|
291
|
+
let exited = false;
|
|
292
|
+
child = spawn(bin, args, { stdio: 'inherit' });
|
|
293
|
+
child.once('exit', () => (exited = true));
|
|
294
|
+
client = grpc();
|
|
295
|
+
if (await connect(() => exited))
|
|
296
|
+
return;
|
|
297
|
+
child?.kill();
|
|
298
|
+
child = null;
|
|
299
|
+
from = port + 1;
|
|
300
|
+
}
|
|
301
|
+
console.error(`[e8] e8-server не поднялся за ${START_ATTEMPTS} попытки от :${basePort}`);
|
|
302
|
+
}
|
|
207
303
|
async function play(body) {
|
|
208
304
|
const action = body.action ?? 'spin';
|
|
209
305
|
const params = body.params ? JSON.stringify(body.params) : '';
|
|
@@ -261,31 +357,15 @@ function spinPlugin(opts = {}) {
|
|
|
261
357
|
// движка (их LuaEngine на .spin-тексте тихо не поднимется).
|
|
262
358
|
enforce: 'pre',
|
|
263
359
|
async configureServer(server) {
|
|
264
|
-
if (
|
|
265
|
-
|
|
266
|
-
if (
|
|
267
|
-
|
|
268
|
-
else if (opts.spinPath) {
|
|
269
|
-
const dir = opts.spinPath.replace(/\/[^/]+$/, '') || '.';
|
|
270
|
-
args.push('--games-dir', dir);
|
|
360
|
+
if (opts.external) {
|
|
361
|
+
client = grpc();
|
|
362
|
+
if (!(await connect())) {
|
|
363
|
+
console.error(`[e8] нет сервера на 127.0.0.1:${port} (external: true)`);
|
|
271
364
|
}
|
|
272
|
-
child = spawn(resolveServerBinary(opts.binPath), args, { stdio: 'inherit' });
|
|
273
|
-
server.httpServer?.on('close', () => child?.kill());
|
|
274
365
|
}
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
const games = await call('ListGames', {});
|
|
279
|
-
if (!gameId)
|
|
280
|
-
gameId = games.games[0]?.game_id ?? '';
|
|
281
|
-
const info = games.games.find((g) => g.game_id === gameId);
|
|
282
|
-
entryActions = info?.entry_actions ?? [];
|
|
283
|
-
console.log(`[e8] connected: game=${gameId} script=${info?.script_sha256?.slice(0, 12)} entry=[${entryActions}]`);
|
|
284
|
-
break;
|
|
285
|
-
}
|
|
286
|
-
catch {
|
|
287
|
-
await new Promise((res) => setTimeout(res, 300));
|
|
288
|
-
}
|
|
366
|
+
else {
|
|
367
|
+
await startServer();
|
|
368
|
+
server.httpServer?.on('close', () => child?.kill());
|
|
289
369
|
}
|
|
290
370
|
server.middlewares.use('/__lua-play', (req, res) => {
|
|
291
371
|
if (req.method !== 'POST') {
|
package/dist/vite.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite.esm.js","sources":["../src/vite/spinPlugin.ts","../src/vite/index.ts"],"sourcesContent":[null,null],"names":["fsConstants"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"vite.esm.js","sources":["../src/vite/spinPlugin.ts","../src/vite/index.ts"],"sourcesContent":[null,null],"names":["createNetServer","fsConstants"],"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.
|
|
3
|
+
"version": "0.30.8",
|
|
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",
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import type { LoadingScreenConfig } from '../types';
|
|
2
2
|
import { VARIANTS, DEFAULT_VARIANT_NAME } from './variants';
|
|
3
3
|
import type { PreloaderVariantHandle } from './variants';
|
|
4
|
+
import {
|
|
5
|
+
BRAND_FLOOR_MS,
|
|
6
|
+
SPLASH_CSS,
|
|
7
|
+
SPLASH_DURATION_MS,
|
|
8
|
+
buildSplashHTML,
|
|
9
|
+
} from './splash';
|
|
4
10
|
|
|
5
11
|
const PRELOADER_ID = '__ge-css-preloader__';
|
|
6
12
|
const REMOVE_FADE_TIMEOUT_MS = 600;
|
|
@@ -15,6 +21,12 @@ interface PreloaderState {
|
|
|
15
21
|
styleEl: HTMLStyleElement;
|
|
16
22
|
/** Live binding to the selected variant's DOM; `null` for custom-HTML (inert lifecycle). */
|
|
17
23
|
handle: PreloaderVariantHandle | null;
|
|
24
|
+
/** The powered-by layer, until it has played out and been detached. */
|
|
25
|
+
splashEl: HTMLDivElement | null;
|
|
26
|
+
/** Pending detach of `splashEl` — cleared on removal so it can't fire late. */
|
|
27
|
+
splashTimer: ReturnType<typeof setTimeout> | null;
|
|
28
|
+
/** Mount time, the origin the splash + brand-floor gate is measured from. */
|
|
29
|
+
startedAt: number;
|
|
18
30
|
showPercentage: boolean;
|
|
19
31
|
tapToStart: boolean;
|
|
20
32
|
tapToStartText: string;
|
|
@@ -32,6 +44,17 @@ function clampProgress(p: number): number {
|
|
|
32
44
|
return Math.max(0, Math.min(1, p));
|
|
33
45
|
}
|
|
34
46
|
|
|
47
|
+
/**
|
|
48
|
+
* Milliseconds still owed before the game may take over: the powered-by splash
|
|
49
|
+
* plus the floor that keeps the game's own brand readable behind it. Zero once
|
|
50
|
+
* that window has passed, so a slow boot pays nothing.
|
|
51
|
+
*/
|
|
52
|
+
function brandGateDelay(): number {
|
|
53
|
+
if (!state) return 0;
|
|
54
|
+
const elapsed = Date.now() - state.startedAt;
|
|
55
|
+
return Math.max(0, SPLASH_DURATION_MS + BRAND_FLOOR_MS - elapsed);
|
|
56
|
+
}
|
|
57
|
+
|
|
35
58
|
export function createCSSPreloader(
|
|
36
59
|
container: HTMLElement,
|
|
37
60
|
config?: LoadingScreenConfig,
|
|
@@ -60,6 +83,15 @@ export function createCSSPreloader(
|
|
|
60
83
|
overlay.id = PRELOADER_ID;
|
|
61
84
|
overlay.innerHTML = customHTML || variant.buildContentHTML(config);
|
|
62
85
|
|
|
86
|
+
// The platform's powered-by pre-roll, layered over the variant's content
|
|
87
|
+
// inside the SAME overlay — one element to tear down, and no frame where the
|
|
88
|
+
// page shows through between the two. Appended last so it wins the stacking
|
|
89
|
+
// order. The variant content is still mounted underneath from the first
|
|
90
|
+
// frame, so `setCSSPreloaderProgress` has a live target throughout the
|
|
91
|
+
// splash and nothing has to be buffered and replayed on handover.
|
|
92
|
+
overlay.insertAdjacentHTML('beforeend', buildSplashHTML());
|
|
93
|
+
const splashEl = overlay.lastElementChild as HTMLDivElement;
|
|
94
|
+
|
|
63
95
|
const styleEl = document.createElement('style');
|
|
64
96
|
// Shared overlay infrastructure (positioning / background / fade) plus the
|
|
65
97
|
// variant's own content styling and animations.
|
|
@@ -82,6 +114,7 @@ export function createCSSPreloader(
|
|
|
82
114
|
pointer-events: none;
|
|
83
115
|
}
|
|
84
116
|
${variant.css}
|
|
117
|
+
${SPLASH_CSS}
|
|
85
118
|
`;
|
|
86
119
|
|
|
87
120
|
// The absolute overlay needs a positioned ancestor to size against. Override ONLY a container
|
|
@@ -103,12 +136,26 @@ ${variant.css}
|
|
|
103
136
|
// to bind to and the handle stays null (lifecycle API becomes inert).
|
|
104
137
|
const handle = customHTML ? null : variant.mount(overlay, config);
|
|
105
138
|
|
|
139
|
+
// Detach the splash once its CSS timeline has played out. Keeping a spent,
|
|
140
|
+
// fully-transparent layer in the tree would otherwise sit over the content
|
|
141
|
+
// for the rest of the boot.
|
|
142
|
+
const splashTimer = setTimeout(() => {
|
|
143
|
+
splashEl.remove();
|
|
144
|
+
if (state) {
|
|
145
|
+
state.splashEl = null;
|
|
146
|
+
state.splashTimer = null;
|
|
147
|
+
}
|
|
148
|
+
}, SPLASH_DURATION_MS);
|
|
149
|
+
|
|
106
150
|
state = {
|
|
107
151
|
container,
|
|
108
152
|
prevPosition,
|
|
109
153
|
overlay,
|
|
110
154
|
styleEl,
|
|
111
155
|
handle,
|
|
156
|
+
splashEl,
|
|
157
|
+
splashTimer,
|
|
158
|
+
startedAt: Date.now(),
|
|
112
159
|
showPercentage: config?.showPercentage === true,
|
|
113
160
|
tapToStart: config?.tapToStart !== false,
|
|
114
161
|
tapToStartText: config?.tapToStartText ?? 'TAP TO START',
|
|
@@ -135,25 +182,56 @@ export function waitCSSPreloaderTap(): Promise<void> {
|
|
|
135
182
|
);
|
|
136
183
|
}
|
|
137
184
|
if (state.removed) return Promise.resolve();
|
|
138
|
-
if (!state.tapToStart) return Promise.resolve();
|
|
139
185
|
if (state.tapPromise) return state.tapPromise;
|
|
140
186
|
|
|
141
|
-
state.
|
|
142
|
-
|
|
187
|
+
const requireTap = state.tapToStart;
|
|
188
|
+
|
|
189
|
+
// Only the tap path takes over the status text and freezes progress; with
|
|
190
|
+
// tapToStart:false the bar keeps filling behind the gate as it always did.
|
|
191
|
+
if (requireTap) {
|
|
192
|
+
state.handle?.showTapText(state.tapToStartText);
|
|
193
|
+
state.overlay.style.cursor = 'pointer';
|
|
194
|
+
state.tapState = 'waiting';
|
|
195
|
+
}
|
|
143
196
|
|
|
144
|
-
state.tapState = 'waiting';
|
|
145
197
|
state.tapPromise = new Promise<void>((resolve) => {
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
state
|
|
198
|
+
let settled = false;
|
|
199
|
+
// Shared exit for every path — the gates below, and removeCSSPreloader
|
|
200
|
+
// short-circuiting a pending wait during teardown.
|
|
201
|
+
const finish = () => {
|
|
202
|
+
if (settled) return;
|
|
203
|
+
settled = true;
|
|
204
|
+
if (state) {
|
|
205
|
+
if (state.tapHandler) {
|
|
206
|
+
state.overlay.removeEventListener('pointerdown', state.tapHandler);
|
|
207
|
+
state.tapHandler = null;
|
|
208
|
+
}
|
|
209
|
+
if (requireTap) state.tapState = 'resolved';
|
|
210
|
+
state.tapResolve = null;
|
|
211
|
+
}
|
|
153
212
|
resolve();
|
|
154
213
|
};
|
|
155
|
-
state!.
|
|
156
|
-
|
|
214
|
+
state!.tapResolve = finish;
|
|
215
|
+
|
|
216
|
+
// Gate 1 — the powered-by splash plus the brand floor. This is what stands
|
|
217
|
+
// between the splash and the game when tapToStart is false; without it a
|
|
218
|
+
// fast boot would cut to gameplay while the splash was still animating.
|
|
219
|
+
const gates: Promise<unknown>[] = [
|
|
220
|
+
new Promise<void>((r) => setTimeout(r, brandGateDelay())),
|
|
221
|
+
];
|
|
222
|
+
|
|
223
|
+
// Gate 2 — the player's tap, when one is required.
|
|
224
|
+
if (requireTap) {
|
|
225
|
+
gates.push(
|
|
226
|
+
new Promise<void>((r) => {
|
|
227
|
+
const handler = (_e: Event) => r();
|
|
228
|
+
state!.tapHandler = handler;
|
|
229
|
+
state!.overlay.addEventListener('pointerdown', handler, { once: true });
|
|
230
|
+
}),
|
|
231
|
+
);
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
void Promise.all(gates).then(finish);
|
|
157
235
|
});
|
|
158
236
|
|
|
159
237
|
return state.tapPromise;
|
|
@@ -162,16 +240,22 @@ export function waitCSSPreloaderTap(): Promise<void> {
|
|
|
162
240
|
export function removeCSSPreloader(_container: HTMLElement): Promise<void> {
|
|
163
241
|
if (!state || state.removed) return Promise.resolve();
|
|
164
242
|
|
|
243
|
+
// Drop the splash's pending detach — the whole overlay is going away, and a
|
|
244
|
+
// late callback would touch a torn-down state.
|
|
245
|
+
if (state.splashTimer !== null) {
|
|
246
|
+
clearTimeout(state.splashTimer);
|
|
247
|
+
state.splashTimer = null;
|
|
248
|
+
}
|
|
249
|
+
state.splashEl = null;
|
|
250
|
+
|
|
165
251
|
// Detach the pending pointer listener (if any) and resolve a pending tap.
|
|
252
|
+
// Teardown beats the brand gate on purpose: this is also the boot-error path
|
|
253
|
+
// in GameApplication, which must not sit for seconds behind a brand floor.
|
|
166
254
|
if (state.tapHandler) {
|
|
167
255
|
state.overlay.removeEventListener('pointerdown', state.tapHandler);
|
|
168
256
|
state.tapHandler = null;
|
|
169
257
|
}
|
|
170
|
-
if (state.
|
|
171
|
-
state.tapState = 'resolved';
|
|
172
|
-
state.tapResolve();
|
|
173
|
-
state.tapResolve = null;
|
|
174
|
-
}
|
|
258
|
+
if (state.tapResolve) state.tapResolve();
|
|
175
259
|
|
|
176
260
|
state.removed = true;
|
|
177
261
|
const { overlay, styleEl, container, prevPosition } = state;
|