PR pixi-reels

SymbolData

pixi-reels


pixi-reels / index / SymbolData

Interface: SymbolData

Defined in: config/types.ts:115

Per-symbol configuration data.

Properties

PropertyTypeDescriptionDefined in
size?{ h: number; w: number; }Footprint in cells. Default { w: 1, h: 1 }. When w * h > 1 this symbol is a “big symbol”. at landing it occupies an w × h block of cells anchored at the (col, row) where its id appears in the result. Big-symbol registration is rejected on MultiWays slots.config/types.ts:162
size.hnumber-config/types.ts:162
size.wnumber-config/types.ts:162
unmask?booleanIf true, the engine parents this symbol’s view to viewport.unmaskedContainer instead of the reel’s masked container. the symbol renders above the reel mask, useful for oversized win animations (expanding wilds, splash frames) that should not be clipped at the cell boundary. Coordinate space: when unmasked, the engine sets the view’s X to reel.container.x and adds reel.container.y to the view’s Y so the at-rest position matches the reel’s grid cell. Motion limitation: ReelMotion writes view.y in reel-local coordinates. While the reel is spinning, an unmasked symbol on the strip will appear shifted vertically by the reel’s offset (the reel.container.y translation is only applied on activate, not on every motion frame). Treat unmask: true as a landed-state flag. it is correct at rest and during static frames, but not designed to stay visually accurate while the reel is spinning. If you need a mid-spin “stays visible above mask” overlay, use a cell pin instead. Pyramid layouts not supported: when any reel has a non-zero offsetY (pyramid / trapezoid offsets), motion.snapToGrid() and motion.displace() will write reel-local Y to the unmasked view. shifting the rendered position by reel.container.y. The builder throws at config time if both conditions are present. Use cell pins for above-mask overlays on pyramid slots. Mask-strategy auto-pick: when any registered symbol sets unmask: true and symbolGap.x > 0, the builder switches the default RectMaskStrategy to SharedRectMaskStrategy so that neighboring (masked) symbols don’t get clipped at the column gap next to the unmasked overlay. Passing .maskStrategy(...) explicitly always wins. For symbols that need to overlap across reel boundaries while unmasked, prefer SharedRectMaskStrategy.config/types.ts:155
weightnumberRelative weight for random generation (higher = more frequent).config/types.ts:117
zIndex?numberDisplay layering order. Higher = in front.config/types.ts:119