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
- ESP32AudioScheduler — Audio scheduler for ESP32 targets.
- ESP32_DAC_AudioBackend — Audio backend for ESP32 classic / S2 internal 8-bit DAC.
- ESP32_I2S_AudioBackend — Audio backend implementation for ESP32 using I2S.
- NativeAudioScheduler — Audio scheduler for native builds.
- SDL2_AudioBackend — Audio backend implementation for SDL2 (Windows/Linux/Mac).
- SDL2_Drawer — SDL2-backed draw surface for native desktop builds.
- TFT_eSPI_Drawer — Concrete implementation of DrawSurface for ESP32 using the TFT_eSPI library.
- U8G2_Drawer — Implementation of DrawSurface using the U8G2 library for monochromatic OLED displays.
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
- ActorPool — Fixed-size pool for managing draggable actors
- ActorTouchController — Handles touch-based dragging of game actors
- DisplayPreset — Display presets for common displays
- GT911Adapter — GT911 I2C touch controller driver
- InputConfig — Configuration structure for the InputManager.
- InputManager — Handles input from physical buttons, keyboard (on PC), and touch/mouse.
- TouchAdapterBase — Base class requirements for touch adapters (conceptual)
- TouchCalibration — Calibration parameters for coordinate transformation
- TouchEvent — Compact touch event structure (12 bytes total, naturally aligned)
- TouchEventDispatcher — Pull-based touch event dispatcher
- TouchEventFlags — Flags for touch events
- TouchEventHistory — Ring buffer for touch events (for gesture detection)
- TouchEventQueue — Ring buffer for touch events (192 bytes total)
- TouchEventType — High-level touch event types for gesture detection
- TouchFactory — Factory for creating touch system configurations
- TouchManager — Touch event aggregation layer
- TouchPoint — Normalized touch data structure.
- TouchPointBuffer — Ring buffer for storing touch points
- TouchRotation — Display rotation modes for calibration
- TouchState — Internal states for touch gesture detection
- TouchStateData — Per-touch-ID state tracking
- TouchStateMachine — State machine for touch gesture detection
- XPT2046Adapter — XPT2046 SPI touch controller driver
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
- PhysicsSnapshot — Captures physics state for determinism validation
- PhysicsTestSuite — Comprehensive testing for Flat Solver
- StressTestScene — Scene for stress testing physics performance.
