Reel Controller
Drives a set of Pixi reel columns: spins them, staggers their stops, plays anticipation and celebrates wins.
The visual counterpart to the slot maths. It owns the spin animation; the maths decides the outcome and hands it over as stop positions.
Wire each Reel Column to a Column N input, or turn on Auto Layout and let the controller build and place the grid from a column and row count.
The port list is long. It is grouped exactly as the property panel groups it:
| Group | What it covers |
|---|---|
| Data | Strips, stop positions, symbol images and videos, the spin result. |
| Columns | One input per reel column node. |
| Timing | Stagger between column stops, minimum spin duration. |
| Anticipation | The slow-down when a scatter count makes the next reel matter. |
| Auto Layout | Build and fit the grid instead of placing columns by hand. |
| Win Celebration | Highlight style, duration, stagger, and the payout text drawn over a win. |
| Cascade | Cascading / tumbling reels: mode, style and duration. |
| Mode | Turbo. |
A spin is: pulse Spin, then feed Stop Positions from the maths. On All Stopped is where you evaluate and pay.
Inputs
Data
| Data | Description |
|---|---|
| Reel Strips (array) | |
| Stop Positions (array) | |
| Symbol Images (array) | |
| Symbol Videos (array) | |
| Video Replace Image (boolean) | |
| Video Speed (number) | |
| Play Video On Win (boolean) | |
| Spin Result (object) | |
| Number Of Symbols (number) |
Columns
| Data | Description |
|---|---|
| Column 0 (node) | |
| Column 1 (node) | |
| Column 2 (node) | |
| Column 3 (node) | |
| Column 4 (node) | |
| Column 5 (node) | |
| Column 6 (node) | |
| Column 7 (node) | |
| Column 8 (node) | |
| Column 9 (node) | |
| Column 10 (node) | |
| Column 11 (node) |
Timing
| Data | Description |
|---|---|
| Stagger Delay (number) | |
| Min Spin Duration (number) |
Anticipation
Anticipation was rebuilt on 8 September 2026: reels are judged one at a time, escalate through three levels, and the start signal fires per reel as its tease begins. It is off by default.
| Data | Description |
|---|---|
| Enable Anticipation (boolean) | Off by default. |
| When To Anticipate (enum) | progressive (each reel judged when its turn comes), all-remaining, or last-reel. |
| Scatter Symbol ID (number) | The symbol that counts; -1 disables. |
| Scatters Before Anticipation (number) | How many scatters must already show before the next reel teases (default 2). |
| Scatters Needed To Win (number) | The count that pays; with Stop If Impossible on, a reel stops teasing once that count is out of reach. |
| Stop If Impossible (boolean) | See above. |
| Scatters Per Reel (number) | How many scatters one reel can add, for the reachability check. |
| Anticipation Reels (string) | Allow-list of 0-based reels, e.g. 3,4 or 3-4. Empty = any reel. |
| Max Anticipating Reels (number) | Cap on how many reels may tease in one spin; 0 = automatic (3). |
| Preview Mode (boolean) | Forces the last two reels to tease on every spin, for tuning. |
| Level 1/2/3 · Hold (ms) (number) | How long each level holds the reel. |
| Level 1/2/3 · Animation (enum) | The tease animation per level. |
| Level 1/2/3 · Reel Speed (number) | Speed factor per level (below 1 slows, above 1 speeds up). |
| Animation Strength (number) | Scales the effect; higher levels multiply it. |
| Reel Highlight (enum) | Outline drawn around a teasing reel. |
| Highlight Colour / Size / Pulse | Highlight styling. |
| Slow-Down Time (ms) (number) | How long the reel takes to ease to the level's speed (default 260). |
| Dim Other Reels (boolean) / Dim Amount (number) | Fades the reels that are not teasing. |
Scatters are counted from the controller's own spin result. A graph that feeds each column's targetSymbols directly bypasses the controller, so nothing anticipates.
Actions
| Data | Description |
|---|---|
| Can Quick Spin (boolean) |
| Signal | Description |
|---|---|
| Spin | |
| Stop | |
| Cascade | |
| Preload Textures | |
| Initialize |
Mode
| Data | Description |
|---|---|
| Turbo Mode (boolean) |
Auto Layout
| Data | Description |
|---|---|
| Auto Layout (boolean) | |
| Columns (number) | |
| Rows (number) | |
| Cell Width (number) | |
| Cell Height (number) | |
| Column Padding (number) | |
| Center Grid (boolean) | |
| Fit Mode (enum) | |
| Fit Padding (number) |
Win Celebration
| Data | Description |
|---|---|
| Celebration Style (enum) | |
| Final State (enum) | |
| Duration (ms) (number) | |
| Stagger Delay (ms) (number) | |
| Loop (Legacy) (boolean) |
| Signal | Description |
|---|---|
| Celebrate Win | |
| Clear Win |
Win Celebration: Payout
| Data | Description |
|---|---|
| enablePayoutText (boolean) | |
| Font Family (string) | |
| Font Size (number) | |
| Text Color (color) | |
| Text Animation 1 (enum) | |
| Text Animation 2 (enum) |
Win Celebration: Data
| Data | Description |
|---|---|
| Winning Cells (array) | |
| Winning Lines (array) | |
| Position Order (enum) | |
| Is 1-Based (boolean) |
Cascade
| Data | Description |
|---|---|
| Enable Cascade (boolean) | |
| Cascade Mode (enum) | |
| Cascade Style (enum) | |
| Cascade Duration (ms) (number) | |
| Auto Cascade after Win (boolean) |
Outputs
Events
| Signal | Description |
|---|---|
| On Spin Start | |
| On Column Stop | |
| On Column Impact | |
| On All Stopped | |
| On Anticipation Start | Fires per reel as its tease begins. |
| On Anticipation End | Fires when a reel's tease ends. |
| On Cascade Complete | |
| Done | |
| Textures Loaded | |
| On Celebration Start | |
| On Celebration End | |
| On Next Animation |
State
| Data | Description |
|---|---|
| Stopped Column Index (number) | |
| Is Spinning (boolean) |
Data
| Data | Description |
|---|---|
| Current Symbols (array) | |
| Stop Positions (array) |
Dimensions
| Data | Description |
|---|---|
| Grid Width (number) | |
| Grid Height (number) |
Win Celebration
| Data | Description |
|---|---|
| Active Cell Col (number) | |
| Active Cell Row (number) | |
| Winning Cells (array) |
This is a frontend node. It cannot be deployed as part of a maths component — it draws things, which a backend function cannot do. Keep it out of the maths sheet.