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 (MPSC) lock-free ring buffer for AudioCommands.
  • AudioConfig — Configuration for the Audio subsystem.
  • AudioEngine — Facade class for the NES-style 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.
  • EnvelopeState — Holds ADSR envelope state for a single voice.
  • InstrumentPreset — Defines instrument characteristics for playback.
  • LfoState — Holds LFO (Low-Frequency Oscillator) state for pitch or volume modulation.
  • MusicNote — Represents a single note in a melody.
  • MusicPlayer — Simple sequencer to play MusicTracks using the AudioEngine.

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.
  • TransitionState — State machine for scene transitions.
  • 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 providing default primitive rendering.
  • Camera2D — 2D camera for viewport management and smooth scrolling.
  • CameraEffectsSystem — Manages up to 4 simultaneous camera effects with round-robin insertion.
  • DirtyGrid — Two-buffer dirty cell grid (8×8 px cells) for selective framebuffer clears.
  • DisplayType — Identifies the type of display driver to use.
  • DrawSurface — Abstract interface for platform-specific drawing operations.
  • EffectSlot — Per-slot state for a single camera effect (20 bytes).
  • Font — Descriptor for a bitmap font using 1bpp sprites.
  • FontManager — Static utility class for managing bitmap fonts.
  • LayerAttributes — All tiles with attributes in a single tilemap layer.
  • LayerType — Classifies draw layers for dirty-region marking (static backgrounds vs dynamic content).
  • MultiSprite — Multi-layer, multi-color sprite built from 1bpp layers.
  • 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.
  • ResolutionPreset — Logical resolution choices for memory-constrained targets.
  • ResolutionPresets — Factory for creating DisplayConfig from resolution presets.
  • ScrollBehavior — Defines how scrolling behaves in layouts.
  • Sprite — Compact sprite descriptor for monochrome bitmapped sprites.
  • Sprite2bpp — Sprite descriptor for 2bpp (4-color) multi-color sprites.
  • Sprite4bpp — Sprite descriptor for 4bpp (16-color) multi-color sprites.
  • SpriteAnimation — Lightweight, step-based sprite animation controller.
  • SpriteAnimationFrame — Single animation frame that can reference either a Sprite or a MultiSprite.
  • SpriteLayer — Single monochrome layer used by layered sprites.
  • TileAnimation — Single tile animation definition (compile-time constant).
  • TileAnimationManager — Manages tile animations for a tilemap.
  • TileAttribute — Single attribute key-value pair for tile metadata.
  • TileAttributeEntry — All attributes for a single tile at a specific position.
  • TileMapGeneric — Generic tilemap structure supporting 1bpp, 2bpp, or 4bpp tile graphics.
  • TilemapSpriteDirtyMode — Suppress per-sprite dirty marks while drawing tilemaps (static layer or selective animated marking).
  • TouchConfig — Configuration for a touch controller (XPT2046 or GT911).
  • TouchController — Supported touch controller types.
  • TransitionDirection — Direction of the transition effect.
  • TransitionEffect — Manages a single scene transition with zero runtime allocation.
  • TransitionType — Types of scene transitions.
  • 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
  • WipeDirection — Corner-to-corner directions for DiagonalWipe transitions.

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.
  • SnapPolicy — Controls floor snap behavior after slide resolution.
  • 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.