### Component Modules and D6 Class (v0.2.4) Source: https://github.com/boardzilla/boardzilla-core/blob/main/CHANGELOG.md Introduced component modules, with the `D6` class as the first example, now available as a self-contained import. ```APIDOC import { D6 } from '@boardzilla/core/modules/D6'; class D6 { /* ... */ } ``` -------------------------------- ### Direct Import of Space and Piece (v0.2) Source: https://github.com/boardzilla/boardzilla-core/blob/main/CHANGELOG.md The `createGameClasses` function has been removed; `Space` and `Piece` classes can now be directly imported from the core module. ```APIDOC // Removed: createGameClasses() import { Space, Piece } from '@boardzilla/core'; ``` -------------------------------- ### Piece PutInto with Row/Column (v0.2) Source: https://github.com/boardzilla/boardzilla-core/blob/main/CHANGELOG.md The `Piece#putInto` method now accepts `row` and `column` parameters for more precise placement. ```APIDOC Piece: putInto(space: Space, row?: number, column?: number): void ``` -------------------------------- ### Enhanced Board Size Configuration (v0.2.3) Source: https://github.com/boardzilla/boardzilla-core/blob/main/CHANGELOG.md Board size settings now support more detailed matchers, including best-fit aspect ratios, scrollbar/letterbox options, and mobile orientation fixes. ```APIDOC BoardSizeConfig: { aspectRatios?: number[], overflow?: 'scroll' | 'letterbox', mobileOrientation?: 'portrait' | 'landscape' } ``` -------------------------------- ### Space Screen Methods for Visibility (v0.2.3) Source: https://github.com/boardzilla/boardzilla-core/blob/main/CHANGELOG.md The `Space` class now provides 'screen' methods to render its contents completely invisible to players. ```APIDOC Space: screen(): void unscreen(): void ``` -------------------------------- ### Game Settings Default Values (v0.2.13) Source: https://github.com/boardzilla/boardzilla-core/blob/main/CHANGELOG.md Game settings like `numberSetting` now support providing an initial default value during their definition. ```APIDOC numberSetting(defaultValue: number, ...) ``` -------------------------------- ### Piece Show/Hide Methods (v0.2.3) Source: https://github.com/boardzilla/boardzilla-core/blob/main/CHANGELOG.md Show and hide methods for game elements have been consolidated and are now exclusively available on the `Piece` class. ```APIDOC Piece: show(): void hide(): void ``` -------------------------------- ### Element Layout as Tabs (v0.2.11) Source: https://github.com/boardzilla/boardzilla-core/blob/main/CHANGELOG.md The `element#layoutAsTabs` method enables arranging multiple Spaces into a switchable tabbed layout. ```APIDOC element: layoutAsTabs(): void ``` -------------------------------- ### Action Step Continue If Impossible (v0.2.4) Source: https://github.com/boardzilla/boardzilla-core/blob/main/CHANGELOG.md Added `actionStep.continueIfImpossible` to allow a flow step to be skipped if no valid actions are available for it. ```APIDOC actionStep: continueIfImpossible: boolean ``` -------------------------------- ### Space Content Show/Hide Event Handlers (v0.2.3) Source: https://github.com/boardzilla/boardzilla-core/blob/main/CHANGELOG.md The `Space` class now includes new convenience methods for attaching event handlers for showing and hiding its content. ```APIDOC Space: onContentShow(handler: () => void): void onContentHide(handler: () => void): void ``` -------------------------------- ### Action Confirmation Prompt (v0.2.12) Source: https://github.com/boardzilla/boardzilla-core/blob/main/CHANGELOG.md Introduced `action#confirm` as an alternative method to add confirmation prompts for player actions. ```APIDOC action: confirm(): void ``` -------------------------------- ### Action Step Repeat Until (v0.2.4) Source: https://github.com/boardzilla/boardzilla-core/blob/main/CHANGELOG.md Introduced `actionStep.repeatUntil` to enable a set of actions to be repeated until a 'pass' action is performed. ```APIDOC actionStep: repeatUntil(condition: () => boolean): void ``` -------------------------------- ### PieceGrid Irregular Shape Support (v0.2) Source: https://github.com/boardzilla/boardzilla-core/blob/main/CHANGELOG.md The `PieceGrid` class now supports the placement and tiling of irregularly shaped pieces, featuring an extendible grid that correctly sizes them. ```APIDOC PieceGrid: addPiece(piece: Piece, shape: Shape): void ``` -------------------------------- ### Flippable Component (v0.2.8) Source: https://github.com/boardzilla/boardzilla-core/blob/main/CHANGELOG.md Added the `Flippable` component, providing front and back sides with animated flip transitions. ```APIDOC class Flippable { /* ... */ } ``` -------------------------------- ### Action Reorder Pieces (v0.2.5) Source: https://github.com/boardzilla/boardzilla-core/blob/main/CHANGELOG.md Added `action.reorder` to provide players with the ability to reorder a collection of pieces. ```APIDOC action: reorder(collection: Piece[], newOrder: number[]): void ``` -------------------------------- ### Action Swap Pieces (v0.2.5) Source: https://github.com/boardzilla/boardzilla-core/blob/main/CHANGELOG.md Introduced `action.swap` to enable players to exchange pieces with each other. ```APIDOC action: swap(piece1: Piece, piece2: Piece): void ``` -------------------------------- ### Stack Class for Decks (v0.2.8) Source: https://github.com/boardzilla/boardzilla-core/blob/main/CHANGELOG.md Introduced the `Stack` class, designed for managing decks within hidden elements and facilitating internal piece movements. ```APIDOC class Stack { /* ... */ } ``` -------------------------------- ### New Grid Subclasses of Space (v0.2) Source: https://github.com/boardzilla/boardzilla-core/blob/main/CHANGELOG.md New subclasses of `Space` have been added for various grid types, including `SquareGrid`, `HexGrid`, and `PieceGrid`, replacing the deprecated `Space#createGrid` method. ```APIDOC class SquareGrid extends Space { /* ... */ } class HexGrid extends Space { /* ... */ } class PieceGrid extends Space { /* ... */ } ``` -------------------------------- ### Element Layout as Drawer (v0.2.11) Source: https://github.com/boardzilla/boardzilla-core/blob/main/CHANGELOG.md The `element#layoutAsDrawer` method now allows a Space to be placed within an expandable drawer, replacing the previous drawer attribute. ```APIDOC element: layoutAsDrawer(): void ``` -------------------------------- ### Piece Shape and Edge Definition (v0.2) Source: https://github.com/boardzilla/boardzilla-core/blob/main/CHANGELOG.md Pieces now include `setShape` and `setEdges` methods for defining irregular shapes and labeling cells/edges to facilitate adjacency calculations. ```APIDOC Piece: setShape(shape: Shape): void setEdges(edges: Edge[]): void ``` -------------------------------- ### Element Layout as Popout Modal (v0.2.11) Source: https://github.com/boardzilla/boardzilla-core/blob/main/CHANGELOG.md The `element#layoutAsPopout` method allows a Space to be hidden behind a button, which, when clicked, opens the Space as a popout modal. ```APIDOC element: layoutAsPopout(): void ``` -------------------------------- ### Subflows for Branching Logic (v0.2.6) Source: https://github.com/boardzilla/boardzilla-core/blob/main/CHANGELOG.md Subflows enable defining new, independent flows that can branch off from the main game flow, allowing for complex sequences of actions. ```APIDOC Subflow: { /* ... */ } ``` -------------------------------- ### EveryPlayer Flow Current Player Argument (v0.2.13) Source: https://github.com/boardzilla/boardzilla-core/blob/main/CHANGELOG.md The `everyPlayer` flow now includes the currently acting player in its flow arguments, aligning with the behavior of `eachPlayer`. ```APIDOC everyPlayer(flowArgs: { currentPlayer: Player, ... }) ``` -------------------------------- ### Game Element Adjacency Selectors (v0.2.14) Source: https://github.com/boardzilla/boardzilla-core/blob/main/CHANGELOG.md Introduces `next` and `previous` selectors for game elements to easily find adjacent elements within the same space. ```APIDOC GameElement: next(): GameElement | null previous(): GameElement | null ``` -------------------------------- ### Core Class Renames: Board to Game, Game to GameManager (v0.1) Source: https://github.com/boardzilla/boardzilla-core/blob/main/CHANGELOG.md The `Board` class has been renamed to `Game`, inheriting all previously exposed API methods. The original `Game` class is now `GameManager` and is intended for internal use. ```APIDOC // Renamed: // Board -> Game // Game -> GameManager (internal) ``` -------------------------------- ### ChooseFrom Validation Feedback (v0.2.12) Source: https://github.com/boardzilla/boardzilla-core/blob/main/CHANGELOG.md When a `validate` function is provided to `chooseFrom`, invalid choices now display error messages upon being clicked. ```APIDOC chooseFrom(options: any[], validate: (choice: any) => boolean | string): any ``` -------------------------------- ### Game Register Classes Removal (v0.2) Source: https://github.com/boardzilla/boardzilla-core/blob/main/CHANGELOG.md The `Game#registerClasses` method is no longer required and can be removed from game implementations. ```APIDOC // Removed: Game.registerClasses() ``` -------------------------------- ### Shaped Grids (v0.2) Source: https://github.com/boardzilla/boardzilla-core/blob/main/CHANGELOG.md Grids can now be configured with specific shapes, allowing for non-rectangular grid layouts, such as a hex grid within a square boundary. ```APIDOC Grid: setShape(shape: Shape): void ``` -------------------------------- ### Player Hidden Attributes (v0.2.4) Source: https://github.com/boardzilla/boardzilla-core/blob/main/CHANGELOG.md Added `Player.hiddenAttributes` to allow certain player attributes to be concealed from other players. ```APIDOC Player: hiddenAttributes: string[] ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.