@energy8platform/shell 0.2.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/dist/html.cjs.js +3894 -0
- package/dist/html.cjs.js.map +1 -0
- package/dist/html.d.ts +616 -0
- package/dist/html.esm.js +3879 -0
- package/dist/html.esm.js.map +1 -0
- package/dist/index.cjs.js +1593 -0
- package/dist/index.cjs.js.map +1 -0
- package/dist/index.d.ts +554 -0
- package/dist/index.esm.js +1582 -0
- package/dist/index.esm.js.map +1 -0
- package/dist/pixi.cjs.js +5740 -0
- package/dist/pixi.cjs.js.map +1 -0
- package/dist/pixi.d.ts +682 -0
- package/dist/pixi.esm.js +5726 -0
- package/dist/pixi.esm.js.map +1 -0
- package/package.json +79 -0
- package/src/core/EventEmitter.ts +55 -0
- package/src/core/ShellController.ts +234 -0
- package/src/core/colors.ts +32 -0
- package/src/core/fonts-digits.ts +12 -0
- package/src/core/fonts.ts +13 -0
- package/src/core/format.ts +39 -0
- package/src/core/i18n.ts +96 -0
- package/src/core/index.ts +35 -0
- package/src/core/keyboard.ts +229 -0
- package/src/core/locales.ts +864 -0
- package/src/core/motion.ts +10 -0
- package/src/core/renderer.ts +121 -0
- package/src/core/state.ts +31 -0
- package/src/core/theme.ts +81 -0
- package/src/core/types.ts +269 -0
- package/src/core/version.ts +3 -0
- package/src/ui/html/HtmlRenderer.ts +292 -0
- package/src/ui/html/components/BottomBar.ts +240 -0
- package/src/ui/html/components/BuyBonus.ts +326 -0
- package/src/ui/html/components/GameInfo.ts +384 -0
- package/src/ui/html/components/Modal.ts +36 -0
- package/src/ui/html/components/ReplayModal.ts +58 -0
- package/src/ui/html/components/Settings.ts +59 -0
- package/src/ui/html/components/pickers.ts +146 -0
- package/src/ui/html/icons-preview.svg +224 -0
- package/src/ui/html/icons.ts +31 -0
- package/src/ui/html/index.ts +36 -0
- package/src/ui/html/motion-dom.ts +29 -0
- package/src/ui/html/primitives.ts +85 -0
- package/src/ui/html/shell.css.ts +528 -0
- package/src/ui/html/theme-css.ts +21 -0
- package/src/ui/pixi/PixiRenderer.ts +350 -0
- package/src/ui/pixi/components/BottomBar.ts +477 -0
- package/src/ui/pixi/components/BuyBonus.ts +763 -0
- package/src/ui/pixi/components/GameInfo.ts +559 -0
- package/src/ui/pixi/components/Modal.ts +40 -0
- package/src/ui/pixi/components/ReplayModal.ts +80 -0
- package/src/ui/pixi/components/Settings.ts +117 -0
- package/src/ui/pixi/components/pickers.ts +170 -0
- package/src/ui/pixi/context.ts +52 -0
- package/src/ui/pixi/icons.ts +45 -0
- package/src/ui/pixi/index.ts +56 -0
- package/src/ui/pixi/motion-pixi.ts +58 -0
- package/src/ui/pixi/pixi-icon.ts +119 -0
- package/src/ui/pixi/primitives/card.ts +227 -0
- package/src/ui/pixi/primitives/controls.ts +243 -0
- package/src/ui/pixi/primitives/flex.ts +335 -0
- package/src/ui/pixi/primitives/overlay.ts +181 -0
- package/src/ui/pixi/primitives/scroll.ts +117 -0
- package/src/ui/pixi/primitives/widgets.ts +680 -0
- package/src/ui/pixi/text.ts +131 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":["../src/core/EventEmitter.ts","../src/core/state.ts","../src/core/colors.ts","../src/core/theme.ts","../src/core/format.ts","../src/core/locales.ts","../src/core/i18n.ts","../src/core/keyboard.ts","../src/core/version.ts","../src/core/ShellController.ts","../src/core/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,554 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Minimal typed event emitter — internal utility for platform-core.
|
|
3
|
+
*
|
|
4
|
+
* Supports `void` event types — events that carry no data can be emitted
|
|
5
|
+
* without arguments: `emitter.emit('eventName')`.
|
|
6
|
+
*
|
|
7
|
+
* Mirrors the EventEmitter shipped from game-engine's core, copied here
|
|
8
|
+
* so platform-core has no upward dependency on game-engine.
|
|
9
|
+
*/
|
|
10
|
+
declare class EventEmitter<TEvents extends {}> {
|
|
11
|
+
private listeners;
|
|
12
|
+
on<K extends keyof TEvents>(event: K, handler: (data: TEvents[K]) => void): this;
|
|
13
|
+
once<K extends keyof TEvents>(event: K, handler: (data: TEvents[K]) => void): this;
|
|
14
|
+
off<K extends keyof TEvents>(event: K, handler: (data: TEvents[K]) => void): this;
|
|
15
|
+
emit<K extends keyof TEvents>(...args: TEvents[K] extends void ? [event: K] : [event: K, data: TEvents[K]]): void;
|
|
16
|
+
removeAllListeners(event?: keyof TEvents): this;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
type ShellMode = 'base' | 'freeSpins' | 'replay';
|
|
20
|
+
interface CurrencyConfig {
|
|
21
|
+
symbol: string;
|
|
22
|
+
position: 'left' | 'right';
|
|
23
|
+
/** Maximum fraction digits (default 2). Win / total-win readouts are rounded to this precision;
|
|
24
|
+
* balance / bet / prices stay fixed at `minDecimals`. */
|
|
25
|
+
maxDecimals?: number;
|
|
26
|
+
/** Minimum fraction digits (defaults to `maxDecimals`). For win / total-win, trailing zeros are
|
|
27
|
+
* trimmed down to this many places so small wins keep their significant digits (e.g. 0.0673)
|
|
28
|
+
* while round amounts stay compact (e.g. 0.30). Everything else is shown at exactly this many. */
|
|
29
|
+
minDecimals?: number;
|
|
30
|
+
separator?: {
|
|
31
|
+
thousands?: string;
|
|
32
|
+
decimal?: string;
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
interface BonusOption {
|
|
36
|
+
id: string;
|
|
37
|
+
/** 'bonus' buys into a bonus round, 'feature' toggles a base-game modifier (e.g. Ante).
|
|
38
|
+
* Drives the card/button label and accent. Defaults to 'bonus'. */
|
|
39
|
+
type?: 'feature' | 'bonus';
|
|
40
|
+
title: string;
|
|
41
|
+
description: string;
|
|
42
|
+
/** Transparent art image shown at the top of the card (no background plate). */
|
|
43
|
+
thumbnail?: string;
|
|
44
|
+
volatility?: 1 | 2 | 3 | 4 | 5;
|
|
45
|
+
/** Card price = priceMultiplier × current bet, rendered in the shell currency. */
|
|
46
|
+
priceMultiplier: number;
|
|
47
|
+
/** Per-option accent override. Falls back to the type default (bonus → purple, feature → gold). */
|
|
48
|
+
accentColor?: string;
|
|
49
|
+
/** Override the card UI. Return the card's inner content; the shell keeps the grid wrapper,
|
|
50
|
+
* accent vars and live re-pricing, and runs the normal buy flow when you call `ctx.select()`.
|
|
51
|
+
* Core uses `unknown`; each renderer re-exports a typed alias (ui/html → HTMLElement,
|
|
52
|
+
* ui/pixi → Container). */
|
|
53
|
+
custom?: (ctx: BonusCardContext) => unknown;
|
|
54
|
+
}
|
|
55
|
+
/** Context passed to a `BonusOption.custom` renderer. Render the card however you like and wire
|
|
56
|
+
* your own control to `select()` — the buy/confirm flow stays internal to the shell. */
|
|
57
|
+
interface BonusCardContext {
|
|
58
|
+
bonus: BonusOption;
|
|
59
|
+
/** Current bet. */
|
|
60
|
+
bet: number;
|
|
61
|
+
/** Card price = `bonus.priceMultiplier × bet`. */
|
|
62
|
+
price: number;
|
|
63
|
+
/** `price` formatted in the shell currency. */
|
|
64
|
+
priceText: string;
|
|
65
|
+
/** True when the option can't be bought right now (unaffordable / busy / buy-bonus disabled);
|
|
66
|
+
* reflect it in your UI. `select()` is a no-op while disabled. */
|
|
67
|
+
disabled: boolean;
|
|
68
|
+
/** Card accent (per-option override or the type default); also set as the `--card-acc` CSS var. */
|
|
69
|
+
accent: string;
|
|
70
|
+
/** Proceed through the shell's normal flow: opens the confirm modal, then emits `buyBonusSelect`
|
|
71
|
+
* / activates the feature. No-op while `disabled`. */
|
|
72
|
+
select: () => void;
|
|
73
|
+
}
|
|
74
|
+
interface ThemeConfig {
|
|
75
|
+
/** Palette scheme: 'dark' (default) for dark games, 'light' for light backgrounds. */
|
|
76
|
+
scheme?: 'dark' | 'light';
|
|
77
|
+
/** Brand accent — active states, the SPIN hover glow, and the BUY BONUS button.
|
|
78
|
+
* (Per-bonus card accents are set on each `BonusOption.accentColor`.) */
|
|
79
|
+
accent?: string;
|
|
80
|
+
}
|
|
81
|
+
/** One paytable entry: a symbol (text/image) and its win tiers, rendered "<count> x<multiplier>". */
|
|
82
|
+
interface PaytableRow {
|
|
83
|
+
symbol: {
|
|
84
|
+
text?: string;
|
|
85
|
+
image?: string;
|
|
86
|
+
};
|
|
87
|
+
wins: Array<{
|
|
88
|
+
count?: string;
|
|
89
|
+
multiplier: number;
|
|
90
|
+
}>;
|
|
91
|
+
}
|
|
92
|
+
/** One payline over a cols×rows grid: the row index (0 = top) the line takes in each column. */
|
|
93
|
+
interface PaylineDef {
|
|
94
|
+
/** length must equal grid.cols; each value in 0..rows-1 */
|
|
95
|
+
pattern: number[];
|
|
96
|
+
label?: string;
|
|
97
|
+
}
|
|
98
|
+
/** A single grid cell, 0-based, row 0 = top. */
|
|
99
|
+
type CellRef = [col: number, row: number];
|
|
100
|
+
/** A named winning shape: an arbitrary set of grid cells (not one-per-column like a payline),
|
|
101
|
+
* shown as a grid illustration with its name and optional description. */
|
|
102
|
+
interface ShapeDef {
|
|
103
|
+
/** The lit cells, in any pattern. */
|
|
104
|
+
cells: CellRef[];
|
|
105
|
+
name: string;
|
|
106
|
+
description?: string;
|
|
107
|
+
}
|
|
108
|
+
/** How a game pays — drives the GameInfo win-section illustration. One section = one kind.
|
|
109
|
+
* `example`/`winExample`/`loseExample` are optional; omit them for an auto-drawn illustration
|
|
110
|
+
* sized to `grid`. */
|
|
111
|
+
type WinSection = {
|
|
112
|
+
type: 'wins';
|
|
113
|
+
title?: string;
|
|
114
|
+
order?: number;
|
|
115
|
+
grid: {
|
|
116
|
+
cols: number;
|
|
117
|
+
rows: number;
|
|
118
|
+
};
|
|
119
|
+
/** Optional prose shown alongside the illustration. */
|
|
120
|
+
description?: string;
|
|
121
|
+
} & ({
|
|
122
|
+
kind: 'classic';
|
|
123
|
+
lines: Array<number[] | PaylineDef>;
|
|
124
|
+
} | {
|
|
125
|
+
kind: 'cluster';
|
|
126
|
+
minCount: number;
|
|
127
|
+
example?: CellRef[];
|
|
128
|
+
} | {
|
|
129
|
+
kind: 'anywhere';
|
|
130
|
+
minCount: number;
|
|
131
|
+
example?: CellRef[];
|
|
132
|
+
} | {
|
|
133
|
+
kind: 'ways';
|
|
134
|
+
winExample?: CellRef[];
|
|
135
|
+
loseExample?: CellRef[];
|
|
136
|
+
} | {
|
|
137
|
+
kind: 'shapes';
|
|
138
|
+
shapes: ShapeDef[];
|
|
139
|
+
});
|
|
140
|
+
/** A playable mode / bonus-buy option, shown for comparison (informational only). */
|
|
141
|
+
interface GameMode {
|
|
142
|
+
title: string;
|
|
143
|
+
price?: string;
|
|
144
|
+
rtp?: number;
|
|
145
|
+
maxWin?: string;
|
|
146
|
+
description?: string;
|
|
147
|
+
}
|
|
148
|
+
/** A preset game-info section. `order` overrides placement; by default `modes` comes
|
|
149
|
+
* first, `controls` second, and the rest follow in declaration order. */
|
|
150
|
+
type GameInfoSection = {
|
|
151
|
+
type: 'modes';
|
|
152
|
+
title?: string;
|
|
153
|
+
order?: number;
|
|
154
|
+
modes: GameMode[];
|
|
155
|
+
} | {
|
|
156
|
+
type: 'controls';
|
|
157
|
+
title?: string;
|
|
158
|
+
order?: number;
|
|
159
|
+
} | {
|
|
160
|
+
type: 'hotkeys';
|
|
161
|
+
title?: string;
|
|
162
|
+
order?: number;
|
|
163
|
+
} | {
|
|
164
|
+
type: 'paytable';
|
|
165
|
+
title?: string;
|
|
166
|
+
order?: number;
|
|
167
|
+
rows: PaytableRow[];
|
|
168
|
+
} | WinSection | {
|
|
169
|
+
type: 'custom';
|
|
170
|
+
title?: string;
|
|
171
|
+
order?: number;
|
|
172
|
+
node?: unknown;
|
|
173
|
+
html?: string;
|
|
174
|
+
};
|
|
175
|
+
interface GameInfoContent {
|
|
176
|
+
sections?: GameInfoSection[];
|
|
177
|
+
}
|
|
178
|
+
/** Autoplay limits. Presence of this object (vs `null`) is what enables autoplay. */
|
|
179
|
+
interface AutoplayConfig {
|
|
180
|
+
/** Maximum selectable spin count in the autoplay picker. Caps the built-in presets and
|
|
181
|
+
* drops the unlimited (∞) choice; if it isn't already a preset it becomes the top choice.
|
|
182
|
+
* Omit for the default presets (including ∞). */
|
|
183
|
+
maxCount?: number;
|
|
184
|
+
}
|
|
185
|
+
interface ShellFeatures {
|
|
186
|
+
turbo: 0 | 1 | 2 | 3;
|
|
187
|
+
/** Master keyboard-shortcut switch. Defaults to `true`; set `false` to disable ALL hotkeys
|
|
188
|
+
* (overrides `spacebar` and any future hotkey). */
|
|
189
|
+
hotkeys?: boolean;
|
|
190
|
+
/** Spacebar starts a spin in base mode. Defaults to `true`; set `false` to disable the
|
|
191
|
+
* keyboard shortcut (e.g. jurisdictions that forbid quick-spin keys). */
|
|
192
|
+
spacebar?: boolean;
|
|
193
|
+
/** Autoplay: `null` (or omitted) disables it; an object enables it (optionally with limits). */
|
|
194
|
+
autoplay?: AutoplayConfig | null;
|
|
195
|
+
buyBonus: BonusOption[] | false;
|
|
196
|
+
}
|
|
197
|
+
interface AutoplayOptions {
|
|
198
|
+
active: boolean;
|
|
199
|
+
remaining: number;
|
|
200
|
+
}
|
|
201
|
+
interface FreeSpinsState {
|
|
202
|
+
/** Spin index for the `current / total` counter. Set to `null` (or omit) to instead show just
|
|
203
|
+
* `total` as a single number — drive a countdown by decrementing `total` each spin. */
|
|
204
|
+
current?: number | null;
|
|
205
|
+
total: number;
|
|
206
|
+
totalWin: number;
|
|
207
|
+
}
|
|
208
|
+
/** One footer button of a generic modal. Clicking it runs `on` (if any), then closes the modal. */
|
|
209
|
+
interface ModalAction {
|
|
210
|
+
title: string;
|
|
211
|
+
/** Button fill colour (any CSS colour). Omit for a neutral/secondary button. */
|
|
212
|
+
color?: string;
|
|
213
|
+
on?: () => void;
|
|
214
|
+
}
|
|
215
|
+
/** Options for `shell.openReplay()` — a non-dismissable replay summary modal.
|
|
216
|
+
* `bonusId` is matched against `features.buyBonus` to label the mode and read the cost
|
|
217
|
+
* multiplier. There is no ✕ and the backdrop never closes it; the only action is START
|
|
218
|
+
* REPLAY, which closes the modal, runs `onReplay`, then reopens it. */
|
|
219
|
+
interface ReplayModalOptions {
|
|
220
|
+
bonusId: string;
|
|
221
|
+
/** Base bet the replay was recorded at. */
|
|
222
|
+
bet: number;
|
|
223
|
+
payoutMultiplier: number;
|
|
224
|
+
/** Runs after the modal closes; the modal reopens once it resolves (immediately for sync). */
|
|
225
|
+
onReplay: () => void | Promise<void>;
|
|
226
|
+
}
|
|
227
|
+
/** Options for `shell.openModal()` — a generic, externally-triggered card modal. */
|
|
228
|
+
interface ModalOptions {
|
|
229
|
+
/** Show the ✕ in the overlay's top-right corner. */
|
|
230
|
+
availableClose: boolean;
|
|
231
|
+
title: string;
|
|
232
|
+
body: string;
|
|
233
|
+
/** Footer buttons; each closes the modal (after running its `on`). */
|
|
234
|
+
actions?: ModalAction[];
|
|
235
|
+
/** Backdrop blur in px (defaults to the shell's standard blur). */
|
|
236
|
+
blurLevel?: number;
|
|
237
|
+
/** Optional keyboard handler — called by the shell keyboard controller while this modal is
|
|
238
|
+
* open. Return true to consume the key (prevents bar actions + Escape close); false to let
|
|
239
|
+
* the controller handle it (Escape → closeModal). */
|
|
240
|
+
onKey?: (e: KeyboardEvent) => boolean;
|
|
241
|
+
}
|
|
242
|
+
interface ShellConfig {
|
|
243
|
+
theme?: ThemeConfig;
|
|
244
|
+
gameInfo: GameInfoContent;
|
|
245
|
+
language: string;
|
|
246
|
+
/** Game version shown in the game-info footer (e.g. '1.2.0'). Defaults to '1.0.0'. The footer
|
|
247
|
+
* stamp is `${version}.${engineVersionWithoutDots}` — e.g. game 1.0.0 on engine 0.24.6 → '1.0.0.0246'. */
|
|
248
|
+
version?: string;
|
|
249
|
+
/** When true, all built-in shell text is shown in the social-casino vocabulary (derived from
|
|
250
|
+
* English via word-swap rules), regardless of `language`. Game-supplied content is untouched. */
|
|
251
|
+
isSocial?: boolean;
|
|
252
|
+
currency: CurrencyConfig;
|
|
253
|
+
availableBets: number[];
|
|
254
|
+
defaultBet: number;
|
|
255
|
+
currentBet: number | null;
|
|
256
|
+
balance: number;
|
|
257
|
+
win: number;
|
|
258
|
+
mode: ShellMode;
|
|
259
|
+
/** Mark this shell as a read-only historical-round replay. A replay never shows the player's
|
|
260
|
+
* balance (there's no live wallet), even while its free-spins phase runs in `freeSpins` mode.
|
|
261
|
+
* Defaults to `mode === 'replay'`; set explicitly when a replay starts in another mode. */
|
|
262
|
+
replay?: boolean;
|
|
263
|
+
features: ShellFeatures;
|
|
264
|
+
/** Override the BUY BONUS bar button's action: when set, tapping it calls this instead of
|
|
265
|
+
* opening the built-in buy-bonus overlay (e.g. the game shows its own bonus UI). The button
|
|
266
|
+
* is shown whenever this OR `features.buyBonus` is set. */
|
|
267
|
+
onBonusBuy?: () => void;
|
|
268
|
+
}
|
|
269
|
+
/** ShellConfig after the controller applies defaults (version, isSocial, replay, theme). No mount. */
|
|
270
|
+
type ResolvedShellConfig = Required<Pick<ShellConfig, 'language' | 'currency' | 'availableBets' | 'defaultBet' | 'balance' | 'win' | 'mode' | 'features' | 'gameInfo' | 'version' | 'isSocial' | 'replay'>> & Pick<ShellConfig, 'currentBet' | 'theme' | 'onBonusBuy'>;
|
|
271
|
+
interface ShellState {
|
|
272
|
+
mode: ShellMode;
|
|
273
|
+
/** Sticky replay marker — true for a historical-round replay, regardless of the current
|
|
274
|
+
* `mode`. Set once (from config or when `mode` becomes 'replay') and never cleared, since a
|
|
275
|
+
* shell instance is either a live game or a replay viewer for its whole lifetime. */
|
|
276
|
+
replay: boolean;
|
|
277
|
+
balance: number;
|
|
278
|
+
win: number;
|
|
279
|
+
bet: number;
|
|
280
|
+
availableBets: number[];
|
|
281
|
+
busy: boolean;
|
|
282
|
+
autoplay: AutoplayOptions;
|
|
283
|
+
turbo: number;
|
|
284
|
+
buyBonusEnabled: boolean;
|
|
285
|
+
freeSpins: FreeSpinsState;
|
|
286
|
+
/** The currently activated `feature` option (e.g. Ante), or null. Drives the
|
|
287
|
+
* effective-bet readout tint and the BUY BONUS → DISABLE toggle on the bar. */
|
|
288
|
+
activeFeature: BonusOption | null;
|
|
289
|
+
}
|
|
290
|
+
interface ShellEvents {
|
|
291
|
+
spin: void;
|
|
292
|
+
betChange: number;
|
|
293
|
+
autoplayStart: AutoplayOptions;
|
|
294
|
+
autoplayStop: void;
|
|
295
|
+
turboChange: number;
|
|
296
|
+
buyBonusSelect: {
|
|
297
|
+
id: string;
|
|
298
|
+
};
|
|
299
|
+
featureActivate: {
|
|
300
|
+
id: string;
|
|
301
|
+
};
|
|
302
|
+
featureDeactivate: {
|
|
303
|
+
id: string;
|
|
304
|
+
};
|
|
305
|
+
menuOpen: void;
|
|
306
|
+
settingsOpen: void;
|
|
307
|
+
infoOpen: void;
|
|
308
|
+
settingChange: {
|
|
309
|
+
key: string;
|
|
310
|
+
value: unknown;
|
|
311
|
+
};
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
declare const DEFAULT_ACCENT = "#8b5cf6";
|
|
315
|
+
/** Resolved colour tokens for the shell — scheme palette + the scheme-independent
|
|
316
|
+
* "plaque" language shared by the control bar and overlays, plus the game-overridable accent. */
|
|
317
|
+
interface ShellTokens {
|
|
318
|
+
fg: string;
|
|
319
|
+
muted: string;
|
|
320
|
+
icon: string;
|
|
321
|
+
iconActive: string;
|
|
322
|
+
surface: string;
|
|
323
|
+
hairline: string;
|
|
324
|
+
veil: string;
|
|
325
|
+
veilStrong: string;
|
|
326
|
+
track: string;
|
|
327
|
+
soft: string;
|
|
328
|
+
spin: string;
|
|
329
|
+
spinFg: string;
|
|
330
|
+
plaqueDark: string;
|
|
331
|
+
plaqueGlass: string;
|
|
332
|
+
plaqueGlassHover: string;
|
|
333
|
+
plaqueSolid: string;
|
|
334
|
+
plaqueLine: string;
|
|
335
|
+
plaqueLabel: string;
|
|
336
|
+
bar: string;
|
|
337
|
+
btn: string;
|
|
338
|
+
btnInk: string;
|
|
339
|
+
accent: string;
|
|
340
|
+
backdrop: string;
|
|
341
|
+
white: string;
|
|
342
|
+
winOk: string;
|
|
343
|
+
winNo: string;
|
|
344
|
+
}
|
|
345
|
+
declare const SCHEMES: readonly ["dark", "light"];
|
|
346
|
+
declare function resolveTheme(theme?: ThemeConfig): ShellTokens;
|
|
347
|
+
|
|
348
|
+
type ShellLayoutMode = 'wide' | 'mobile';
|
|
349
|
+
/** The view side the controller drives. A renderer holds its own mount target (DOM element /
|
|
350
|
+
* Pixi app) and translates state → pixels; it never owns logic. */
|
|
351
|
+
interface ShellRenderer {
|
|
352
|
+
/** Bind to the brain. Called once during createShell, before the first renderBar. */
|
|
353
|
+
mount(host: ShellHost): void;
|
|
354
|
+
/** (Re)build the bottom bar from host.state. MUST cancel any in-flight money count-up first. */
|
|
355
|
+
renderBar(): void;
|
|
356
|
+
/** Switch bar layout. The controller derives wide|mobile from host.notifyResize. */
|
|
357
|
+
setLayout(layout: ShellLayoutMode): void;
|
|
358
|
+
/** Apply colour tokens (CSS vars in DOM / repaint in Pixi). */
|
|
359
|
+
applyTheme(tokens: ShellTokens): void;
|
|
360
|
+
/** Count a money readout from→to on the freshly-rendered bar (DOM rAF / Pixi ticker). */
|
|
361
|
+
animateMoney(field: 'balance' | 'win', from: number, to: number): void;
|
|
362
|
+
/** Build + show an overlay from a controller-supplied model; return a handle for key routing
|
|
363
|
+
* and programmatic close. Returns void when nothing was shown. */
|
|
364
|
+
openOverlay(req: OverlayRequest): OverlayHandle | void;
|
|
365
|
+
/** Tear down any open overlay. */
|
|
366
|
+
closeOverlay(): void;
|
|
367
|
+
/** If the open overlay registered a sound-icon refresher, the controller calls this to refresh it. */
|
|
368
|
+
refreshSoundIcon?(on: boolean): void;
|
|
369
|
+
/** Fade out + remove all nodes; resolve when gone. */
|
|
370
|
+
destroy(): Promise<void> | void;
|
|
371
|
+
/** Insets a scene should avoid (only the bottom bar is reserved; the rest is full-bleed). */
|
|
372
|
+
readonly safeArea?: SafeArea;
|
|
373
|
+
/** Height of the bottom control bar in px (0 before first layout / when there's no bar). */
|
|
374
|
+
readonly barHeight?: number;
|
|
375
|
+
/** Show/hide the whole shell (bar + overlays). */
|
|
376
|
+
setVisible?(visible: boolean): void;
|
|
377
|
+
}
|
|
378
|
+
/** Bottom-bar inset a host reserves for scene content. */
|
|
379
|
+
interface SafeArea {
|
|
380
|
+
top: number;
|
|
381
|
+
right: number;
|
|
382
|
+
bottom: number;
|
|
383
|
+
left: number;
|
|
384
|
+
}
|
|
385
|
+
/** The surface facade createShell() guarantees on the returned shell, delegating to the renderer
|
|
386
|
+
* (inert defaults when the renderer omits a member). Hosts embedding a shell read these. */
|
|
387
|
+
interface ShellSurface {
|
|
388
|
+
readonly safeArea: SafeArea;
|
|
389
|
+
readonly barHeight: number;
|
|
390
|
+
setVisible(visible: boolean): void;
|
|
391
|
+
}
|
|
392
|
+
/** What the renderer (and its components) read from the brain. */
|
|
393
|
+
interface ShellHost {
|
|
394
|
+
readonly state: ShellState;
|
|
395
|
+
readonly config: ResolvedShellConfig;
|
|
396
|
+
readonly tokens: ShellTokens;
|
|
397
|
+
readonly layout: ShellLayoutMode;
|
|
398
|
+
readonly soundOn: boolean;
|
|
399
|
+
/** Resolve a built-in string (translation + optional socialize). */
|
|
400
|
+
t(text: string): string;
|
|
401
|
+
/** Currency-aware money formatting (win=true ⇒ variable decimals). */
|
|
402
|
+
formatCurrency(n: number, win?: boolean): string;
|
|
403
|
+
/** Typed event emit — same signature as the shells. */
|
|
404
|
+
emit: EventEmitter<ShellEvents>['emit'];
|
|
405
|
+
/** Renderer reports its surface size; the controller recomputes layout + re-renders. */
|
|
406
|
+
notifyResize(w: number, h: number): void;
|
|
407
|
+
/** Flip shared sound state (emits settingChange + refreshes an open Settings icon). */
|
|
408
|
+
setSound(on: boolean): void;
|
|
409
|
+
/** An open Settings overlay registers an icon updater here (null clears it on close). */
|
|
410
|
+
setSoundRefresh(fn: ((on: boolean) => void) | null): void;
|
|
411
|
+
/** Logic-bearing actions invoked by renderer controls. */
|
|
412
|
+
readonly actions: ShellActions;
|
|
413
|
+
}
|
|
414
|
+
/** Every state-changing thing a control can do. Each runs logic in the controller, emits the
|
|
415
|
+
* matching event, and triggers a re-render. Renderers MUST route input through these. */
|
|
416
|
+
interface ShellActions {
|
|
417
|
+
spin(): void;
|
|
418
|
+
stepBet(dir: 1 | -1): void;
|
|
419
|
+
setBet(n: number): void;
|
|
420
|
+
cycleTurbo(): void;
|
|
421
|
+
toggleAutoplay(): void;
|
|
422
|
+
startAutoplay(remaining: number): void;
|
|
423
|
+
stopAutoplay(): void;
|
|
424
|
+
openMenu(): void;
|
|
425
|
+
openSettings(): void;
|
|
426
|
+
openInfo(): void;
|
|
427
|
+
openBuyBonus(): void;
|
|
428
|
+
openBetPicker(): void;
|
|
429
|
+
openAutoplayPicker(): void;
|
|
430
|
+
selectBuyBonus(id: string): void;
|
|
431
|
+
activateFeature(b: BonusOption): void;
|
|
432
|
+
deactivateFeature(): void;
|
|
433
|
+
setSound(on: boolean): void;
|
|
434
|
+
closeOverlay(): void;
|
|
435
|
+
}
|
|
436
|
+
interface OverlayHandle {
|
|
437
|
+
/** Overlay-specific keys (e.g. arrows in a picker). Return true to consume. */
|
|
438
|
+
onKey?(e: KeyboardEvent): boolean;
|
|
439
|
+
/** Programmatically close this overlay. */
|
|
440
|
+
close(): void;
|
|
441
|
+
}
|
|
442
|
+
type OverlayRequest = {
|
|
443
|
+
kind: 'settings';
|
|
444
|
+
} | {
|
|
445
|
+
kind: 'gameInfo';
|
|
446
|
+
} | {
|
|
447
|
+
kind: 'buyBonus';
|
|
448
|
+
} | {
|
|
449
|
+
kind: 'betPicker';
|
|
450
|
+
} | {
|
|
451
|
+
kind: 'autoplayPicker';
|
|
452
|
+
} | {
|
|
453
|
+
kind: 'replay';
|
|
454
|
+
opts: ReplayModalOptions;
|
|
455
|
+
} | {
|
|
456
|
+
kind: 'modal';
|
|
457
|
+
opts: ModalOptions;
|
|
458
|
+
};
|
|
459
|
+
|
|
460
|
+
interface CreateShellOptions extends ShellConfig {
|
|
461
|
+
renderer: ShellRenderer;
|
|
462
|
+
}
|
|
463
|
+
/** Apply defaults to the raw config (the mount target lives on the renderer, not here). */
|
|
464
|
+
declare function resolveConfig(config: ShellConfig): ResolvedShellConfig;
|
|
465
|
+
/** The renderer-agnostic brain. Owns state, events, keyboard, i18n, theme, overlay flow and the
|
|
466
|
+
* game-facing public API; drives a ShellRenderer for the view. Implements ShellHost so the
|
|
467
|
+
* renderer + its components read everything they need through one interface. */
|
|
468
|
+
declare class ShellController extends EventEmitter<ShellEvents> implements ShellHost {
|
|
469
|
+
readonly config: ResolvedShellConfig;
|
|
470
|
+
state: ShellState;
|
|
471
|
+
tokens: ShellTokens;
|
|
472
|
+
layout: ShellLayoutMode;
|
|
473
|
+
soundOn: boolean;
|
|
474
|
+
readonly engineVersion = "0.2.0";
|
|
475
|
+
readonly actions: ShellActions;
|
|
476
|
+
private renderer;
|
|
477
|
+
private i18n;
|
|
478
|
+
private kbd?;
|
|
479
|
+
private overlay;
|
|
480
|
+
private soundRefresh;
|
|
481
|
+
private prevBalance;
|
|
482
|
+
private prevWin;
|
|
483
|
+
private destroyed;
|
|
484
|
+
constructor(opts: CreateShellOptions);
|
|
485
|
+
t(text: string): string;
|
|
486
|
+
formatCurrency(n: number, win?: boolean): string;
|
|
487
|
+
formatWin(value: number): string;
|
|
488
|
+
notifyResize(w: number, h: number): void;
|
|
489
|
+
private buildActions;
|
|
490
|
+
private attachKeyboard;
|
|
491
|
+
private pullFocus;
|
|
492
|
+
private show;
|
|
493
|
+
openMenu(): void;
|
|
494
|
+
openSettings(): void;
|
|
495
|
+
openInfo(): void;
|
|
496
|
+
openBuyBonus(): void;
|
|
497
|
+
openBetPicker(): void;
|
|
498
|
+
openAutoplayPicker(): void;
|
|
499
|
+
openReplay(opts: ReplayModalOptions): void;
|
|
500
|
+
openModal(opts: ModalOptions): void;
|
|
501
|
+
/** Programmatically dismiss whatever overlay/modal is open. No-op when nothing is shown. */
|
|
502
|
+
closeModal(): void;
|
|
503
|
+
setSound(on: boolean): void;
|
|
504
|
+
setSoundRefresh(fn: ((on: boolean) => void) | null): void;
|
|
505
|
+
activateFeature(bonus: BonusOption): void;
|
|
506
|
+
deactivateFeature(): void;
|
|
507
|
+
private money;
|
|
508
|
+
setBalance(n: number): void;
|
|
509
|
+
setWin(n: number): void;
|
|
510
|
+
setBet(n: number): void;
|
|
511
|
+
setMode(mode: ShellMode): void;
|
|
512
|
+
setBusy(busy: boolean): void;
|
|
513
|
+
setAutoplay(a: AutoplayOptions): void;
|
|
514
|
+
setTurbo(level: number): void;
|
|
515
|
+
setBuyBonusEnabled(enabled: boolean): void;
|
|
516
|
+
setFreeSpins(fs: FreeSpinsState): void;
|
|
517
|
+
setTheme(theme: ThemeConfig): void;
|
|
518
|
+
setLanguage(lang: string): void;
|
|
519
|
+
setSocial(isSocial: boolean): void;
|
|
520
|
+
setLayout(layout: ShellLayoutMode): void;
|
|
521
|
+
destroy(): Promise<void>;
|
|
522
|
+
}
|
|
523
|
+
|
|
524
|
+
/** Rewrite restricted gambling terms in `text` to social-safe phrasing, preserving case. */
|
|
525
|
+
declare function socialize(text: string): string;
|
|
526
|
+
type Lang = 'de' | 'en' | 'es' | 'fi' | 'fr' | 'hi' | 'id' | 'ja' | 'ko' | 'pl' | 'pt' | 'ru' | 'tr' | 'vi' | 'zh' | 'da';
|
|
527
|
+
declare function normalizeLang(code: string | null | undefined): Lang;
|
|
528
|
+
interface I18nOptions {
|
|
529
|
+
language: string;
|
|
530
|
+
isSocial?: boolean;
|
|
531
|
+
messages?: Partial<Record<Lang, Record<string, string>>>;
|
|
532
|
+
}
|
|
533
|
+
interface I18n {
|
|
534
|
+
readonly lang: Lang;
|
|
535
|
+
t(src: string): string;
|
|
536
|
+
}
|
|
537
|
+
declare function createI18n(opts: I18nOptions): I18n;
|
|
538
|
+
|
|
539
|
+
/** The @energy8platform/shell package version, stamped into the game-info footer. */
|
|
540
|
+
declare const PACKAGE_VERSION = "0.2.0";
|
|
541
|
+
|
|
542
|
+
/** A shell: the renderer-agnostic controller plus the surface facade (safeArea/barHeight/setVisible)
|
|
543
|
+
* an embedding host reads. `createShell`, `createGameShell` and `createPixiShell` all return this. */
|
|
544
|
+
type Shell = ShellController & ShellSurface;
|
|
545
|
+
/** Create a shell with an explicit renderer instance (custom or a built-in HtmlRenderer/PixiRenderer).
|
|
546
|
+
* Built-in renderers also have the createGameShell/createPixiShell sugar in /html and /pixi.
|
|
547
|
+
*
|
|
548
|
+
* The returned controller is augmented with the `ShellSurface` facade, delegating to the renderer's
|
|
549
|
+
* optional surface members (inert defaults when it has none) — so any renderer, custom included, is
|
|
550
|
+
* drivable by an embedding host (e.g. game-engine's createSlotGame) without Pixi-specific glue. */
|
|
551
|
+
declare function createShell(opts: CreateShellOptions): Shell;
|
|
552
|
+
|
|
553
|
+
export { DEFAULT_ACCENT, PACKAGE_VERSION, SCHEMES, ShellController, createI18n, createShell, normalizeLang, resolveConfig, resolveTheme, socialize };
|
|
554
|
+
export type { AutoplayConfig, AutoplayOptions, BonusCardContext, BonusOption, CellRef, CreateShellOptions, CurrencyConfig, FreeSpinsState, GameInfoContent, GameInfoSection, GameMode, I18n, I18nOptions, Lang, ModalAction, ModalOptions, OverlayHandle, OverlayRequest, PaylineDef, PaytableRow, ReplayModalOptions, ResolvedShellConfig, SafeArea, ShapeDef, Shell, ShellActions, ShellConfig, ShellEvents, ShellFeatures, ShellHost, ShellLayoutMode, ShellMode, ShellRenderer, ShellState, ShellSurface, ShellTokens, ThemeConfig, WinSection };
|