mini_arcade_core.scenes.systems.builtins.grid¶
Reusable grid/discrete-step gameplay helpers.
Classes¶
One integer grid cell coordinate. |
|
Rectangular grid bounds measured in cells. |
|
World-space layout for a rectangular cell grid. |
|
Mutable state for fixed-interval gameplay stepping. |
|
Declarative fixed-cadence simulation rule. |
|
Execute one or more fixed-timestep callbacks from variable frame dt. |
|
Declarative spawn rule that chooses one currently free cell in a grid. |
|
Spawn entities into currently free grid cells. |
Functions¶
|
Collect occupied cells from arbitrary values. |
|
Return free cells inside bounds after subtracting occupied cells. |
|
Deterministic default cell chooser. |
Module Contents¶
- class mini_arcade_core.scenes.systems.builtins.grid.GridCoord[source]¶
One integer grid cell coordinate.
- col: int¶
- row: int¶
- class mini_arcade_core.scenes.systems.builtins.grid.GridBounds[source]¶
Rectangular grid bounds measured in cells.
- cols: int¶
- rows: int¶
- class mini_arcade_core.scenes.systems.builtins.grid.GridLayout[source]¶
World-space layout for a rectangular cell grid.
- bounds: GridBounds¶
- cell_width: float¶
- cell_height: float¶
- origin_x: float = 0.0¶
- origin_y: float = 0.0¶
- cell_origin(coord: GridCoord) tuple[float, float][source]¶
Return the top-left world coordinate for a grid cell.
- cell_center(coord: GridCoord) tuple[float, float][source]¶
Return the center world coordinate for a grid cell.
- mini_arcade_core.scenes.systems.builtins.grid.occupied_grid_cells(values: Iterable[object], *, coord_getter: Callable[[object], GridCoord | None], include: Callable[[object], bool] | None = None) set[GridCoord][source]¶
Collect occupied cells from arbitrary values.
- mini_arcade_core.scenes.systems.builtins.grid.free_grid_cells(bounds: GridBounds, occupied: Iterable[GridCoord]) tuple[GridCoord, Ellipsis][source]¶
Return free cells inside bounds after subtracting occupied cells.
- mini_arcade_core.scenes.systems.builtins.grid.choose_first_grid_cell(_ctx: object, cells: tuple[GridCoord, Ellipsis]) GridCoord | None[source]¶
Deterministic default cell chooser.
- class mini_arcade_core.scenes.systems.builtins.grid.CadenceState[source]¶
Mutable state for fixed-interval gameplay stepping.
- accumulator: float = 0.0¶
- tick_count: int = 0¶
- steps_this_frame: int = 0¶
- class mini_arcade_core.scenes.systems.builtins.grid.CadenceBinding[source]¶
Bases:
Generic[TCtx]Declarative fixed-cadence simulation rule.
- state_getter: Callable[[TCtx], CadenceState]¶
- interval_seconds: float¶
- max_steps_per_frame: int = 4¶
- class mini_arcade_core.scenes.systems.builtins.grid.CadenceSystem[source]¶
Bases:
Generic[TCtx]Execute one or more fixed-timestep callbacks from variable frame dt.
- name: str = 'common_cadence'¶
- phase: int¶
- order: int = 20¶
- bindings: tuple[CadenceBinding[TCtx], Ellipsis] = ()¶
- class mini_arcade_core.scenes.systems.builtins.grid.GridCellSpawnBinding[source]¶
Bases:
Generic[TCtx]Declarative spawn rule that chooses one currently free cell in a grid.
- bounds_getter: Callable[[TCtx], GridBounds]¶
- on_spawned: Callable[[TCtx, tuple[mini_arcade_core.engine.entities.BaseEntity, Ellipsis], GridCoord], None] | None = None¶
- insert_into_world: bool = True¶