Skip to content

API Reference (Generated)

Auto-generated API documentation from C++ header files.

Audio

  • ApuCore — Shared NES-style APU core used by every AudioScheduler.
  • AudioBackend — Abstract interface for platform-specific audio drivers.
  • AudioChannel — Represents the internal state of a single audio channel.
  • AudioCommand — Internal command to communicate between game and audio threads.
  • AudioCommandQueue — Multi-Producer Single-Consumer lock-free ring buffer for AudioCommands.
  • AudioConfig — Configuration for the Audio subsystem.
  • AudioEngine — Core class for the NES-like audio subsystem.
  • AudioEvent — A fire-and-forget sound event triggered by the game.
  • AudioScheduler — Abstract interface for the audio execution context.
  • DefaultAudioScheduler — Backend-driven scheduler used on platforms without a dedicated audio task.
  • InstrumentPreset — Defines instrument characteristics for playback.
  • MusicNote — Represents a single note in a melody.
  • MusicPlayer — Simple sequencer to play MusicTracks.

Core

  • Actor — An Entity capable of physical interaction and collision.
  • CollisionShape — Defines the geometric shape used for collision detection.
  • Engine — The main engine class that manages the game loop and core subsystems.
  • Entity — Abstract base class for all game objects.
  • EntityType — Categorizes entities for type-safe casting and logic differentiation.
  • LimitRect — Defines a rectangular boundary for actor movement.
  • LogLevel — Enumeration of log levels.
  • PhysicsActor — An actor with basic 2D physics properties using adaptable Scalar type.
  • PhysicsBodyType — Defines the simulation behavior of a PhysicsActor.
  • Rect — Represents a 2D rectangle, typically used for hitboxes or bounds.
  • Scene — Represents a game level or screen containing entities.
  • SceneManager — Manages the stack of active scenes.
  • WorldCollisionInfo — Stores flags indicating which world boundaries were hit in the current frame.

Drivers

Graphics

  • Anchor — Defines anchor points for positioning UI elements.
  • BaseDrawSurface — Optional base class for DrawSurface implementations that provides default primitive rendering.
  • Camera2D — 2D camera system for managing viewports and scrolling.
  • DisplayType — Identifies the type of display driver to use.
  • DrawSurface — Abstract interface for platform-specific drawing operations.
  • Font — Descriptor for a bitmap font using 1bpp sprites.
  • FontManager — Static utility class for managing bitmap fonts.
  • Particle — Represents a single particle in the particle system.
  • ParticleConfig — Configuration parameters for a particle emitter.
  • ParticleEmitter — Manages a pool of particles to create visual effects.
  • Renderer — High-level graphics rendering system.
  • ScrollBehavior — Defines how scrolling behaves in layouts.
  • Sprite2bpp — Sprite descriptor for 2bpp (4-color) multi-color sprites.
  • Sprite4bpp — Sprite descriptor for 4bpp (16-color) multi-color sprites.
  • TileMapGeneric — Generic tilemap structure supporting 1bpp, 2bpp, or 4bpp tile graphics.
  • TouchConfig — Configuration for touch controller
  • TouchController — Supported touch controller types
  • UIAnchorLayout — Layout that positions elements at fixed anchor points on the screen.
  • UIButton — A clickable button UI element.
  • UICheckBox — A clickable checkbox UI element.
  • UIElement — Base class for all user interface elements (buttons, labels, etc.).
  • UIGridLayout — Grid layout container for organizing elements in a matrix.
  • UIHitTest — AABB hit testing for touch UI widgets
  • UIHorizontalLayout — Horizontal layout container with scroll support.
  • UILabel — A simple text label UI element.
  • UILayout — Base class for UI layout containers.
  • UIManager — Registry of touch UI elements for event routing (non-owning pointers).
  • UIPaddingContainer — Container that wraps a single UI element and applies padding.
  • UIPanel — Visual container that draws a background and border around a child element.
  • UITouchButton — Touch-optimized button widget.
  • UITouchCheckbox — Touch-optimized checkbox widget.
  • UITouchElement — UIElement with embedded UITouchWidget data for touch interaction.
  • UITouchSlider — Touch-optimized slider widget.
  • UITouchWidget — Base touch widget structure
  • UIVerticalLayout — Vertical layout container with scroll support.
  • UIWidgetFlags — Flags for widget behavior
  • UIWidgetState — Current state of a touch widget
  • UIWidgetType — Types of touch UI widgets

Input

Math

  • Fixed16 — Fixed-point 16.16 number implementation optimized for RISC-V.
  • Vector2 — 2D vector using the configured Scalar type (float or Fixed16).

Physics

  • Circle — Represents a 2D circle for collision detection.
  • CollisionSystem — Manages physics simulation and collision detection for all actors.
  • Contact — Represents a contact point between two physics bodies.
  • KinematicActor — A physics body moved via script/manual velocity with collision detection.
  • KinematicCollision — Contains information about a collision involving a KinematicActor.
  • RigidActor — A physics body fully simulated by the engine.
  • Segment — Represents a 2D line segment for collision detection.
  • SensorActor — A static body that acts as a trigger: detects overlap but produces no physical response.
  • SpatialGrid — Optimized spatial partitioning with separate static/dynamic layers.
  • StaticActor — A physics body that does not move.
  • TileBehaviorLayer — Runtime representation of exported behavior layer for O(1) flag lookup.
  • TileCollisionBehavior — Defines how a tile collider behaves in the physics system.
  • TileCollisionBuilder — Helper class for creating physics bodies from exported behavior layers.
  • TileCollisionBuilderConfig — Configuration for tile collision building.
  • TileConsumptionConfig — Configuration for tile consumption operations.
  • TileConsumptionHelper — Helper class for consuming tiles (removing bodies and updating visuals).
  • TileFlags — Bit flags for tile behavior attributes (8-bit, 1 byte per tile). Optimized for ESP32 runtime with bit operations only.

Platforms

  • MockAudioBackend — Mock implementation of AudioBackend for unit testing.
  • PlatformCapabilities — Represents the hardware capabilities of the current platform.
  • SPIClass — Mocks the Arduino SPI class for native platform.

Test

Released under the MIT License.