pixi-reels 2.0.0 → 2.1.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/CHANGELOG.md +46 -0
- package/dist/core/Reel.d.ts +37 -10
- package/dist/core/Reel.d.ts.map +1 -1
- package/dist/core/ReelSet.d.ts +15 -0
- package/dist/core/ReelSet.d.ts.map +1 -1
- package/dist/core/ReelSetBuilder.d.ts +19 -0
- package/dist/core/ReelSetBuilder.d.ts.map +1 -1
- package/dist/{debug-DLQkFWGB.js → debug-C9HA2vFk.js} +221 -114
- package/dist/debug-C9HA2vFk.js.map +1 -0
- package/dist/debug-Ca_UsSgZ.cjs +4 -0
- package/dist/debug-Ca_UsSgZ.cjs.map +1 -0
- package/dist/frame/RandomSymbolProvider.d.ts +71 -14
- package/dist/frame/RandomSymbolProvider.d.ts.map +1 -1
- package/dist/frame/SymbolPool.d.ts +100 -0
- package/dist/frame/SymbolPool.d.ts.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/testing.cjs +1 -1
- package/dist/testing.js +1 -1
- package/package.json +2 -2
- package/dist/debug-DFdorSrM.cjs +0 -4
- package/dist/debug-DFdorSrM.cjs.map +0 -1
- package/dist/debug-DLQkFWGB.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,51 @@
|
|
|
1
1
|
# pixi-reels
|
|
2
2
|
|
|
3
|
+
## 2.1.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#204](https://github.com/schmooky/pixi-reels/pull/204) [`9f10dd5`](https://github.com/schmooky/pixi-reels/commit/9f10dd59cc2116957a0d77d944179b382ecb0809) Thanks [@igaming-bulochka](https://github.com/igaming-bulochka)! - Add: symbol pools. `builder.randomSymbols(pool, scope)` and the runtime `reelSet.randomSymbols` decide what the engine may draw for cells the game does not name. A pool is `{ weights?, exclude? }`; its scope is `{ reel?, slots?: 'spinning' | 'buffer' }`.
|
|
8
|
+
|
|
9
|
+
Until now `weights()` was one table for the whole set, and the only levers past it. `setExcludeSpinning` / `setExcludeBuffer` on `RandomSymbolProvider` were unreachable from a built set (the provider is deliberately not exported, and `Reel` keeps its reference private), so "keep this symbol out of the buffer cells" meant writing a `FrameMiddleware`. Two things games actually ask for now have a call:
|
|
10
|
+
|
|
11
|
+
```ts
|
|
12
|
+
// A coin may blur past mid-spin, but must never park half-visible
|
|
13
|
+
// above or below the grid.
|
|
14
|
+
reelSet.randomSymbols.set({ exclude: ["COIN"] }, { slots: "buffer" });
|
|
15
|
+
|
|
16
|
+
// Reel 2 runs hot on wilds for the feature, then back to the base table.
|
|
17
|
+
reelSet.randomSymbols.set({ weights: { WILD: 40 } }, { reel: 2 });
|
|
18
|
+
reelSet.randomSymbols.set(null, { reel: 2 });
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
The two ends of the strip can be governed separately: `slots` takes `'bufferStart'` and `'bufferEnd'` as well as `'buffer'` (both) and `'spinning'` (everything). `bufferStart` is the side at the smaller main coordinate - above on a vertical set, left on a horizontal one - the same end `ColumnTarget.bufferStart` addresses, whichever way the reel travels.
|
|
22
|
+
|
|
23
|
+
```ts
|
|
24
|
+
// Nothing peeks in from above; the cell below the grid is left alone.
|
|
25
|
+
reelSet.randomSymbols.set({ exclude: ["COIN"] }, { slots: "bufferStart" });
|
|
26
|
+
// ...on one reel only.
|
|
27
|
+
reelSet.randomSymbols.set(
|
|
28
|
+
{ exclude: ["COIN"] },
|
|
29
|
+
{ reel: 2, slots: "bufferEnd" }
|
|
30
|
+
);
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Layers resolve base weights -> global spinning -> per-reel spinning -> global buffer -> per-reel buffer -> global side -> per-reel side. Weights override per symbol id, exclusions accumulate, and a narrower layer can never re-admit what a wider one banned. A weight of `0` bans a symbol as surely as `exclude` does, in a pool and in `weights()` alike. Pools govern the RANDOM draw only. an explicit `setResult` / `initialFrame` target is the game speaking and always wins. `weights(scope?)` reports the effective table, so a game can assert its own configuration in a test; ask for `'buffer'` to see what both sides inherit, or for a side to see exactly what it draws from.
|
|
34
|
+
|
|
35
|
+
Two failure modes now fail loud instead of quietly doing nothing: naming an unregistered symbol id in a pool throws (with the registered ids listed), and a pool that leaves some reachable scope with nothing to draw throws at the call that caused it, naming the scope, rather than mid-spin on whichever reel wraps first. The rejected pool is not installed. `setExcludeSpinning` / `setExcludeBuffer` keep working as sugar over the global spinning / buffer pools.
|
|
36
|
+
|
|
37
|
+
`Reel.placeStrip` now random-fills each empty slot from the pool that slot belongs to. it used to apply the buffer rules to visible cells too, which mattered the moment "buffer" stopped meaning "everything a skip places".
|
|
38
|
+
|
|
39
|
+
### Patch Changes
|
|
40
|
+
|
|
41
|
+
- [#204](https://github.com/schmooky/pixi-reels/pull/204) [`9f10dd5`](https://github.com/schmooky/pixi-reels/commit/9f10dd59cc2116957a0d77d944179b382ecb0809) Thanks [@igaming-bulochka](https://github.com/igaming-bulochka)! - Fix: an `unmask: true` symbol in a BUFFER cell no longer renders above the mask, where it hung outside the grid in plain sight.
|
|
42
|
+
|
|
43
|
+
`unmask` lifts a view out of the reel's masked container. That is an at-rest presentation for a cell the player is looking at, and `notifyLanded()` has always lifted visible cells only. But the lift decision itself was made from the symbol id alone, so any at-rest write to a buffer slot lifted it as well. and a buffer slot is parked outside the window precisely because the mask should hide it.
|
|
44
|
+
|
|
45
|
+
The path that showed it in a real game was a skip. `StopPhase.onSkip` lands the full strip (buffers included) through `placeStrip`, so a skip taken once the bounce has started. i.e. after `notifyLanded()` put the reel back at rest. lifted every unmask symbol the target frame had in `bufferStart` / `bufferEnd`, and they stayed up there until the next spin pulled them back down. `Reel.reshape` growing a strip at rest did the same to its new tail cells.
|
|
46
|
+
|
|
47
|
+
The lift now takes the slot into account, so a buffer cell never lifts. A second case needed the reverse: a symbol lifted while it was VISIBLE can still travel into a buffer slot without being replaced. a nudge rotates the array and only the wrapped symbol goes through `_replaceSymbol`, so an unmask symbol nudged out of the window kept its seat above the mask. Every settle now re-masks any lifted view that ended up outside the window.
|
|
48
|
+
|
|
3
49
|
## 2.0.0
|
|
4
50
|
|
|
5
51
|
### Major Changes
|
package/dist/core/Reel.d.ts
CHANGED
|
@@ -358,6 +358,18 @@ export declare class Reel implements Disposable {
|
|
|
358
358
|
* returns the anchor symbol so animations target the actual visual.
|
|
359
359
|
*/
|
|
360
360
|
getSymbolAt(visibleCell: number): ReelSymbol;
|
|
361
|
+
/**
|
|
362
|
+
* Pull any lifted (unmasked) view that has ended up in a buffer slot back
|
|
363
|
+
* under the mask.
|
|
364
|
+
*
|
|
365
|
+
* `_replaceSymbol` never lifts a buffer slot, but a symbol lifted while it
|
|
366
|
+
* was VISIBLE can still travel into a buffer slot without being replaced:
|
|
367
|
+
* a nudge rotates the array and only the wrapped symbol goes through
|
|
368
|
+
* `_replaceSymbol`, so an unmask symbol nudged out of the window kept its
|
|
369
|
+
* seat above the mask and hung there outside the grid. Runs on every
|
|
370
|
+
* settle, where the strip's final slots are known.
|
|
371
|
+
*/
|
|
372
|
+
private _reMaskLiftedBufferSlots;
|
|
361
373
|
/**
|
|
362
374
|
* Swap the symbol at a single visible cell in-place, without restarting
|
|
363
375
|
* the spin or rebuilding the rest of the strip.
|
|
@@ -480,22 +492,37 @@ export declare class Reel implements Disposable {
|
|
|
480
492
|
* above the reel mask.
|
|
481
493
|
*/
|
|
482
494
|
private _isUnmasked;
|
|
495
|
+
/** Whether strip slot `index` sits outside the visible window. */
|
|
496
|
+
private _isBufferSlot;
|
|
483
497
|
/**
|
|
484
|
-
*
|
|
485
|
-
*
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
*
|
|
498
|
+
* Which pool slot `index` draws from: the visible window is `'spinning'`,
|
|
499
|
+
* and a buffer cell names its side so that side's pools apply.
|
|
500
|
+
*/
|
|
501
|
+
private _slotKind;
|
|
502
|
+
/**
|
|
503
|
+
* Whether the symbol at strip slot `index` should render above the mask
|
|
504
|
+
* RIGHT NOW. Unmask is an at-rest presentation of a VISIBLE cell:
|
|
505
|
+
*
|
|
506
|
+
* - while the reel is in motion (including the stop approach and
|
|
507
|
+
* bounce, when the result symbols are installed), every view
|
|
508
|
+
* (unmask ids included) stays in the masked reel container so
|
|
509
|
+
* nothing scrolls visibly outside the grid, and
|
|
510
|
+
* - a buffer slot never lifts at all. it is parked outside the window
|
|
511
|
+
* precisely so the mask hides it, and a lifted one hangs above or
|
|
512
|
+
* below the grid in plain sight until the next spin re-masks it.
|
|
513
|
+
* `placeStrip` writes buffer slots at rest on every skip, which is
|
|
514
|
+
* exactly when that used to happen.
|
|
515
|
+
*
|
|
516
|
+
* Landed visible-cell symbols are lifted by `notifyLanded()`;
|
|
490
517
|
* `notifySpinStart()` pulls them back down before the strip moves.
|
|
491
518
|
*/
|
|
492
519
|
private _effectiveUnmask;
|
|
493
520
|
/**
|
|
494
521
|
* Pick the right parent container for a symbol view based on its
|
|
495
|
-
* `unmask` flag and the reel's spin state. At-rest unmasked
|
|
496
|
-
* in `viewport.unmaskedContainer` (above
|
|
497
|
-
* else lives in this reel's own container
|
|
498
|
-
* `viewport.maskedContainer`).
|
|
522
|
+
* `unmask` flag, its slot, and the reel's spin state. At-rest unmasked
|
|
523
|
+
* symbols in a visible cell sit in `viewport.unmaskedContainer` (above
|
|
524
|
+
* the reel mask); everything else lives in this reel's own container
|
|
525
|
+
* (which is itself inside `viewport.maskedContainer`).
|
|
499
526
|
*/
|
|
500
527
|
private _parentForSymbolId;
|
|
501
528
|
/**
|
package/dist/core/Reel.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Reel.d.ts","sourceRoot":"","sources":["../../src/core/Reel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE/D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAG9C,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"Reel.d.ts","sourceRoot":"","sources":["../../src/core/Reel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE/D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAG9C,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAY,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACvF,OAAO,EAAuB,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAClF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAElE,OAAO,EAAgB,KAAK,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAS3D;;;;;;;GAOG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;;OAKG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;;;;;;;;OAYG;IACH,SAAS,EAAE,SAAS,GAAG,SAAS,CAAC;IACjC;;;;;;;;;;;;;;;;;OAiBG;IACH,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,oEAAoE;IACpE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;;;;;;;;;;;;;OAgBG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAeD,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACxC,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qEAAqE;IACrE,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH;;;;OAIG;IACH,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,YAAY,CAAC,EAAE,QAAQ,CAAC;IACxB;;;OAGG;IACH,YAAY,CAAC,EAAE,QAAQ,CAAC;CACzB;AAED;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,4BAA4B,CAAC;AAE3D;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,IAAK,YAAW,UAAU;IACrC,SAAgB,SAAS,EAAE,SAAS,CAAC;IACrC,SAAgB,MAAM,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC;IACjD,SAAgB,SAAS,EAAE,MAAM,CAAC;IAElC,uEAAuE;IAChE,OAAO,EAAE,UAAU,EAAE,CAAC;IAE7B,4DAA4D;IACrD,KAAK,EAAE,MAAM,CAAK;IAEzB,6BAA6B;IACtB,YAAY,EAAE,YAAY,CAAsB;IAmBvD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAW;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,oFAAoF;IACpF,OAAO,CAAC,SAAS,CAAS;IAC1B,wEAAwE;IACxE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IAEpC,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,SAAS,CAAe;IAChC,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAO;IAC7B,OAAO,CAAC,aAAa,CAAW;IAChC,OAAO,CAAC,aAAa,CAAW;IAChC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,WAAW,CAAS;IAE5B;;;;;OAKG;IACH,OAAO,CAAC,uBAAuB,CAAS;IACxC,OAAO,CAAC,mBAAmB,CAAS;IACpC;;;;;;OAMG;IACH,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,UAAU,CAAS;IAC3B;;;;;;OAMG;IACH,OAAO,CAAC,WAAW,CAAyB;IAC5C;;;;OAIG;IACH,OAAO,CAAC,WAAW,CAAuC;IAC1D;;;;;OAKG;IACH,OAAO,CAAC,YAAY,CAAuC;IAC3D;;;;;OAKG;IACH,OAAO,CAAC,cAAc,CAAsB;IAC5C;;;;;;;;OAQG;IACH,OAAO,CAAC,UAAU,CAA4C;IAC9D;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB,CAAyD;gBAGjF,MAAM,EAAE,UAAU,EAClB,aAAa,EAAE,aAAa,EAC5B,cAAc,EAAE,oBAAoB,EACpC,QAAQ,EAAE,YAAY;IAiFxB,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED,IAAI,UAAU,IAAI,OAAO,CAExB;IAED,IAAI,UAAU,CAAC,KAAK,EAAE,OAAO,EAE5B;IAED,8DAA8D;IAC9D,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED;;;;;OAKG;IACH,IAAI,WAAW,IAAI,MAAM,CAExB;IAED;;;;;;;;OAQG;IACH,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAKnB;;;;OAIG;IACH,OAAO,CAAC,UAAU;IAOlB,mEAAmE;IACnE,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,wEAAwE;IACxE,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,gFAAgF;IAChF,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,iFAAiF;IACjF,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,uEAAuE;IACvE,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,qFAAqF;IACrF,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED;;;;OAIG;IACH,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,yEAAyE;IACzE,IAAI,IAAI,IAAI,IAAI,CAEf;IAED,+DAA+D;IAC/D,IAAI,IAAI,IAAI,QAAQ,CAEnB;IAED,sEAAsE;IACtE,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAgC7B;;;;;;;;;;;OAWG;IACH,iBAAiB,IAAI,MAAM,EAAE;IAmB7B;;;;;;;;;OASG;IACH,SAAS,IAAI,YAAY;IAkDzB;;;;OAIG;IACH,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,UAAU;IA0J5C;;;;;;;;;;OAUG;IACH,OAAO,CAAC,wBAAwB;IAWhC;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IA4CxD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAsCG;IACG,KAAK,CACT,OAAO,EAAE,YAAY,EACrB,UAAU,CAAC,EAAE,MAAM,IAAI,GACtB,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAwUjC;;;;;;;;;OASG;IACH,SAAS,IAAI,IAAI;IAUjB;;;;;;OAMG;IACH,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAsGxC;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB;IAO5B;;;;;;;;;;;;;;OAcG;IACH,aAAa,IAAI,IAAI;IAWrB,OAAO,IAAI,IAAI;IAsCf;;;;OAIG;IACH,OAAO,CAAC,WAAW;IAInB,kEAAkE;IAClE,OAAO,CAAC,aAAa;IAIrB;;;OAGG;IACH,OAAO,CAAC,SAAS;IAMjB;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,gBAAgB;IAIxB;;;;;;OAMG;IACH,OAAO,CAAC,kBAAkB;IAM1B;;;;;;;;OAQG;IACH,OAAO,CAAC,gBAAgB;IAWxB;;;;;OAKG;IACH,OAAO,CAAC,aAAa;IAMrB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,OAAO,CAAC,wBAAwB;IA0ChC,OAAO,CAAC,qBAAqB;IAuB7B,OAAO,CAAC,gBAAgB;IA4BxB,OAAO,CAAC,cAAc;IAgGtB;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAU5B,OAAO,CAAC,oBAAoB;IAI5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAwCG;IACH,OAAO,CAAC,cAAc;CA4DvB"}
|
package/dist/core/ReelSet.d.ts
CHANGED
|
@@ -13,6 +13,7 @@ import { PhaseFactory } from '../spin/phases/PhaseFactory.js';
|
|
|
13
13
|
import { SpinningMode } from '../spin/modes/SpinningMode.js';
|
|
14
14
|
import { CellPin, CellPinOptions, MovePinOptions, CellCoord } from '../pins/CellPin.js';
|
|
15
15
|
import { ColumnTarget } from '../frame/ColumnTarget.js';
|
|
16
|
+
import { RandomSymbolControl } from '../frame/SymbolPool.js';
|
|
16
17
|
import { Cell } from '../cascade/tumbleAlgorithm.js';
|
|
17
18
|
export interface ReelSetParams {
|
|
18
19
|
config: ReelSetInternalConfig;
|
|
@@ -975,6 +976,20 @@ export declare class ReelSet extends Container implements Disposable {
|
|
|
975
976
|
/** Change speed and emit event. */
|
|
976
977
|
setSpeed(name: string): void;
|
|
977
978
|
get spotlight(): SymbolSpotlight;
|
|
979
|
+
/**
|
|
980
|
+
* Control over what the engine may draw when it fills a cell the game
|
|
981
|
+
* did not name: the strip streaming past during a spin, and the buffer
|
|
982
|
+
* cells parked either side of the visible window.
|
|
983
|
+
*
|
|
984
|
+
* ```ts
|
|
985
|
+
* reelSet.randomSymbols.set({ exclude: ['EMPTY'] });
|
|
986
|
+
* reelSet.randomSymbols.set({ weights: { WILD: 40 } }, { reel: 2 });
|
|
987
|
+
* reelSet.randomSymbols.set({ exclude: ['COIN'] }, { slots: 'buffer' });
|
|
988
|
+
* ```
|
|
989
|
+
*
|
|
990
|
+
* Build-time equivalent: `builder.randomSymbols(pool, scope)`.
|
|
991
|
+
*/
|
|
992
|
+
get randomSymbols(): RandomSymbolControl;
|
|
978
993
|
/** Get all reels. */
|
|
979
994
|
get reels(): readonly Reel[];
|
|
980
995
|
/** Get a reel by index. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReelSet.d.ts","sourceRoot":"","sources":["../../src/core/ReelSet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EACV,qBAAqB,EACrB,UAAU,EAEV,WAAW,EACX,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,gBAAgB,IAAI,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AACnH,OAAO,EAAE,IAAI,EAAG,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,eAAe,EAAG,MAAM,iCAAiC,CAAC;AACnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAEjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAmB,cAAc,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAG9G,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"ReelSet.d.ts","sourceRoot":"","sources":["../../src/core/ReelSet.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ import { MaskStrategy } from './ReelViewport.js';
|
|
|
5
5
|
import { ReelSet } from './ReelSet.js';
|
|
6
6
|
import { Orientation, Direction } from './ReelAxis.js';
|
|
7
7
|
import { SymbolRegistry } from '../symbols/SymbolRegistry.js';
|
|
8
|
+
import { SymbolPool, SymbolPoolScope } from '../frame/SymbolPool.js';
|
|
8
9
|
import { PhaseFactory } from '../spin/phases/PhaseFactory.js';
|
|
9
10
|
import { SpinningMode } from '../spin/modes/SpinningMode.js';
|
|
10
11
|
import { FrameMiddleware } from '../frame/FrameBuilder.js';
|
|
@@ -48,6 +49,7 @@ export declare class ReelSetBuilder {
|
|
|
48
49
|
private _bufferEnd;
|
|
49
50
|
private _symbolRegistry;
|
|
50
51
|
private _weights;
|
|
52
|
+
private _symbolPools;
|
|
51
53
|
private _speeds;
|
|
52
54
|
private _initialSpeed;
|
|
53
55
|
private _offset;
|
|
@@ -255,6 +257,23 @@ export declare class ReelSetBuilder {
|
|
|
255
257
|
symbols(configurator: (registry: SymbolRegistry) => void): this;
|
|
256
258
|
/** Set weights for random symbol generation. */
|
|
257
259
|
weights(weights: Record<string, number>): this;
|
|
260
|
+
/**
|
|
261
|
+
* Narrow what the engine may draw when it fills a cell you did not name.
|
|
262
|
+
*
|
|
263
|
+
* `weights()` sets the base table for every reel; this layers pools on
|
|
264
|
+
* top of it, so a symbol can be common on the strip and impossible in
|
|
265
|
+
* the buffer cells, or heavy on one reel only. Call it once per scope.
|
|
266
|
+
*
|
|
267
|
+
* Buffer pools apply ON TOP of the spinning ones (see `SymbolPoolScope`),
|
|
268
|
+
* and the same pools are reachable at run time as
|
|
269
|
+
* `reelSet.randomSymbols`, which is where a game mode switch belongs.
|
|
270
|
+
*
|
|
271
|
+
* @example
|
|
272
|
+
* .randomSymbols({ exclude: ['EMPTY'] }) // every reel
|
|
273
|
+
* .randomSymbols({ exclude: ['COIN'] }, { slots: 'buffer' }) // buffers only
|
|
274
|
+
* .randomSymbols({ weights: { WILD: 40 } }, { reel: 2 }) // reel 2 only
|
|
275
|
+
*/
|
|
276
|
+
randomSymbols(pool: SymbolPool, scope?: SymbolPoolScope): this;
|
|
258
277
|
/**
|
|
259
278
|
* Per-symbol metadata overrides (zIndex, unmask, or a custom weight that
|
|
260
279
|
* replaces the one from `weights()`). Merged into the final symbolsData map;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReelSetBuilder.d.ts","sourceRoot":"","sources":["../../src/core/ReelSetBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAEjC,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EACV,YAAY,EAEZ,eAAe,EACf,UAAU,EACV,QAAQ,EACT,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAgB,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAQpE,OAAO,EAAE,OAAO,EAAsB,MAAM,cAAc,CAAC;AAE3D,OAAO,EAAY,KAAK,WAAW,EAAE,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AAE3E,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"ReelSetBuilder.d.ts","sourceRoot":"","sources":["../../src/core/ReelSetBuilder.ts"],"names":[],"mappings":"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"}
|