just_game_engine library
Just Game Engine: a 2D game engine for Flutter.
This library is the engine and what hosts it in an app: Engine with
its subsystems and EngineContext; the ECS (World, Entity,
Component, System) with the engine's own components and systems;
scene loading (SceneLoader); level maps, sprites and animator graphs,
timelines, virtual cameras, physics, particles, effects, audio, input,
localization, dialogue and subtitles; and GameWidget, which shows a
game in a Flutter app, with GameLayers for widgets drawn over it.
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
final engine = Engine(
config: const EngineConfig(defaultSystems: DefaultSystems.all),
);
await engine.initialize(); // before the first frame
engine.world.createEntityWithComponents([
TransformComponent(),
CircleComponent(radius: 32),
]);
engine.start();
runApp(MaterialApp(home: GameWidget(engine: engine)));
}
Not in this library:
- Ready-made screen widgets — dialogue boxes, subtitles, localized text,
camera zoom controls, on-screen touch controls, rebinding lists — are
in
package:just_game_engine/widgets.dart. - Of the packages the engine is built on, only what a game uses through
the engine is re-exported: the run-time input API of
just_inputs, the math types ofjust_dart, the memory diagnostics ofjust_memory, the audio types ofjust_audio_engine, the physics types ofjust_physics_engine, the saved formats ofjust_game_engine_formatsand theSignalandComputedofjust_signals. For anything else, import the package. - Achievements, sign-in, leaderboards, currency, inventory and ads are
in the package
just_game_services, as opt-inEngineServices.
Classes
- Aabb3
-
A mutable axis-aligned box
[min, max]. - ActivationTrack
- The bound entity is active inside the blocks and inactive outside them.
- ActiveCameraBlend
- A blend in progress.
- AnimatedSpriteParticleRenderer
- Renders particles as animated sprites, advancing through frames over the particle's lifetime.
- AnimationEvent
- A named time marker within an animation.
- AnimationTarget
-
Something an
AnimatorSystemplays a graph's states on: a 3-D model's skeleton, or a kit's own kind of animation. - AnimationTargets
-
The AnimationTargets of one engine context, tried in the order they
were registered. Register a package's own from its
ContextExtension. - AnimatorBindings
- The sources a graph's parameter can be bound to, by id.
- AnimatorBlendMotion
- One clip of a blend tree, and where it sits.
- AnimatorBlendTree
- A state that plays several clips at once, weighted by parameters: walk to run by speed (1-D), or strafing in eight directions (2-D). A target that can't blend (a sprite) plays the heaviest motion.
- AnimatorComponent
- Runs an animation state machine on this entity: the graph decides which clip the entity's SpriteAnimationComponent plays.
- AnimatorCondition
-
One test a transition makes:
speed > 10,grounded == true. For a trigger the op and value are ignored — it holds while the trigger is set. - AnimatorGraph
- A whole state machine. Immutable: an editor replaces it.
- AnimatorParameter
- A named value transitions are conditioned on.
- AnimatorState
- A state: one clip, playing.
- AnimatorStateChange
- A state change, for whoever wants to react: sound, particles, a debugger.
- AnimatorSystem
- Runs every AnimatorComponent: fills its bound parameters, takes the transition that should fire, and tells the entity's SpriteAnimationComponent which clip to play — or, for an entity without one, the first of the context's AnimationTargets that drives it (a 3-D model's skeleton).
- AnimatorTransition
- A way from one state to another, taken when every condition holds.
- Archetype
- An Archetype groups all entities that share the exact same set of component types. Components of each type are stored in contiguous lists (one "column" per type), giving systems cache-friendly iteration.
- ArenaStats
- AsepriteAtlasParser
-
Parses Aseprite's JSON export format (both array and hash
frames). - Asset
- Base class for all assets
- AssetLoader
- Base asset loader interface
- AssetManager
- Main asset manager class
- AssetRefFieldType
- A path into the asset bundle. Stored as text; the editor offers a picker.
- AssetScope
- A scoped handle for reference-counted asset management.
- AtlasAnimationClip
-
A named, reusable sequence of AtlasFrames that forms one animation
(e.g.
"run","idle","jump_rise"). - AtlasAsset
- An Asset wrapping a fully-parsed and texture-loaded SpriteAtlas.
- AtlasAssetLoader
- AssetLoader that creates AtlasAsset instances.
- AtlasFrame
- A single frame within an AtlasAnimationClip, pairing a SpriteRegion name with how long that frame is displayed.
- AtlasParser
- Common interface for all sprite atlas parsers.
- AtlasRegionSprite
- A Sprite showing one SpriteRegion of an atlas the way its exporter packed it.
- AttractorForce
- Point attractor — pulls particles toward center.
- Audio3DListener
- Where the listener is and which way it faces: its position, the direction it looks in, and its up.
- Audio3DPosition
- A point, or a direction, in world space, for spatial audio.
- AudioAsset
- Audio asset (placeholder for audio data)
- AudioAssetLoader
- Audio asset loader
- AudioBackend
- Abstract contract every platform backend must implement.
- AudioBus
- A named mixer bus that aggregates voices from a logical channel.
- AudioBusGraph
- Owns all AudioBus instances and resolves effective volume for a channel.
- AudioClip
- A single audio asset that can be loaded, played, paused, and stopped.
- AudioEffect
- Parameter bag for a single DSP effect.
- AudioEngine
- Central audio facade for just_game_engine.
- AudioListenerComponent
- Marks the entity that hears: 3-D sounds are panned and faded for where it is and which way it faces.
- AudioSourceComponent
- Component describing an audio source attached to an entity.
- AudioSpatial
- How a 3-D sound is heard from the listener: how it fades with distance, how much moving changes its pitch, and how far it is muffled.
- AudioSpatialMix
- What one 3-D sound sounds like from the listener, as AudioSpatial.mix works it out.
- AudioStream
- Streams a large audio file without loading the whole buffer into memory.
- AudioStreamComponent
- Component that streams a large audio file without buffering it entirely.
- AudioSystem
- System that drives audio playback from ECS entities.
- AudioTrack
- Starts sounds: TimelineBlock.value is the file, TimelineBlock.amount the volume. A sound starts when time passes the block's start going forwards; scrubbing in an editor stays quiet.
- AutoSyncSystem
- A system that automatically syncs signals after each frame.
- BatchableSprite
- Marker interface for renderables that can be GPU-batched.
- BinaryAsset
- Binary asset
- BinaryAssetLoader
- Binary asset loader
- BindingDisplay
-
Turns bindings into what a player reads:
Space,W/A/S/D,Shift + E,Ⓐ. - BindingOverrides
- A player's own bindings: binding (or part) id → control path. Stored apart from the asset, so the game's defaults are never touched.
- BlendListManager
- Plays its children as a sequence of held shots.
- BlockTrack
- A track of TimelineBlocks.
- BodyPair
- Pair of physics bodies for collision checking.
- BooleanFieldType
-
A bool, saved as JSON
true/falseand read back as it is. - BoundaryForce
- Restricts particles to an axis-aligned rectangle.
- BoundarySystem
- Boundary system - Keeps entities within bounds
- Box2DJoint
- Wraps a native Box2D joint and implements JointConstraint as a no-op (Box2D solves the constraint internally each step).
- Box2DPhysicsEngine
- Box2D v3.2 physics engine adapter exposing the same duck-typed API as the pure-Dart PhysicsEngine.
- BuiltInTilesets
-
The tilesets that come with the engine, by their
builtin:path. - BundleSpriteAssetLoader
-
Loads through an asset manager — the engine's (
context.assets) — which caches by path. With none given it keeps an AssetManager of its own. - CacheBudgetStats
- CacheInputOverrideStore
- Players' own bindings, kept beside the engine's cache — a file on desktop and mobile, local storage on the web.
- CacheManager
- Manages caching of various game resources.
- Camera
- The output camera: a view of the world and the maths to draw through it.
- CameraBlend
- How long a change of shot takes, and how it eases.
- CameraBlendListComponent
- Manager: plays its children as a sequence of shots — a cutscene.
- CameraBlendRule
-
A blend for one pair of cameras, by entity name.
'*'matches any. - CameraBlendStep
- One shot of a blend list.
- CameraBlendTable
- Per-pair blends, over the brain's default.
- CameraBoundsComponent
- A rectangle a camera can be confined to, centred on its entity.
- CameraBoundsSource
- Something that can say where a camera is allowed to look.
- CameraBrain
- Decides what the camera shows.
- CameraBrainSystem
-
Evaluates the camera brain once per ECS update — or, with the brain's
updateModeset to CameraUpdateMode.frame, once per rendered frame (it is a FrameSystem), following targets between updates. - CameraChildBlender
- Blends from whichever child a manager was showing to the one it shows now. Kept in the manager's memory, so it starts fresh when the manager does.
- CameraConfinerComponent
- Keeps a virtual camera's view — not just its centre — inside the bounds of the entity called boundsName.
- CameraDefinitions
- Definitions for the camera components: a virtual camera and the stages that shape its shot. One per component, so each is saved, inspected and added from the picker like any other.
- CameraDollyComponent
- Body: a camera that rides a path.
- CameraEffect
- Abstract base class for camera visual effects.
- CameraEffectManager
- Owns a list of CameraEffect instances and routes rendering calls each frame.
- CameraFramingComponent
- Frames a virtual camera's target on screen.
- CameraGroupFramingComponent
- Body: sets the lens so a followed target group fits the view.
- CameraGroupMember
- Who a target group keeps in shot: one entity, or every entity with a tag.
- CameraImpulse
- Something that happened in the world that a camera should feel.
- CameraImpulseBus
- The impulses in the air. Owned by the camera brain, which ages them once a frame; cameras with a listener read from it.
- CameraImpulseListenerComponent
- Makes a virtual camera feel the impulses emitted near it.
- CameraImpulseSourceComponent
-
An authored impulse: what
CameraBrain.emitImpulseFromsends for this entity — a landing, an explosion, a door slamming. - CameraLens
- A camera's lens: its projection and what it can see.
-
CameraManager<
T extends Component> - Turns one component type into a camera made of child cameras.
- CameraManagerContext
- Everything a manager may look at while choosing among its children.
- CameraManagerRegistry
- Which manager runs for which component.
- CameraMixerComponent
- Manager: a weighted mix of its children, all at once.
- CameraNoiseComponent
- Continuous procedural motion on a virtual camera: the difference between a locked-off shot and one that feels held.
- CameraNoiseProfile
- A recipe for continuous camera motion, as layers of smooth noise.
- CameraRegistries
- The camera stages and managers an engine's brains run: one set per EngineContext (of), so a kit's ContextExtension can register its own once for every brain.
- CameraRigMemory
- What one virtual camera remembers between frames.
- CameraShotTrack
- Gives the shot to a virtual camera for a while: TimelineBlock.value is the camera entity's name, and its priority is raised by TimelineBlock.amount for the block's length. The camera brain blends to it and back as it does for any change of priority.
-
CameraStage<
T extends Component> - One step of a virtual camera's pipeline, driven by one component type.
- CameraStageContext
- Everything a stage may look at while shaping one camera's state.
- CameraStageRegistry
- Which stage runs for which component.
- CameraState
- Where a camera is, how far it is zoomed, how it is turned and through what lens it looks.
- CameraStateComponent
-
A named state a state-driven camera can read:
'grounded','falling','boss'. The game writes it; the camera follows it. - CameraStateDrivenComponent
- Manager: shows the child mapped to the current state of another entity.
- CameraSystem
- Owns the output mainCamera and the brain that drives it.
- CameraTargetGroupComponent
- Turns its entity into the weighted centre of several others.
- CameraTargetGroupSystem
- Moves each target group's entity to the weighted centre of its members.
- CameraTargetResolver
- Resolves the EntityTargets cameras name to entities, once a frame.
- CameraTriggerComponent
- A rectangle, centred on its entity, that switches a virtual camera by whether a target is inside it.
- CameraTriggerSystem
- Switches virtual cameras by whether a target is inside a trigger.
- CapsuleComponent
- Capsule shape component.
- CapsuleShape
- A capsule collision shape — the Minkowski sum of a line segment and a circle.
- ChainShape
- A chain of connected line segments for complex terrain and loop-the-loops.
- CharacterBody2D
-
A character gameplay moves rather than the simulation: it walks slopes
up to maxSlopeAngle, climbs steps up to stepHeight, keeps to the
floor going down, rides moving platforms, stands on one-way platforms and
jumps up through them, and pushes dynamic bodies — like
the 3-D
CharacterBody3D, field for field. It needs no RigidBody2D or Collider2D: its shape is its own, centred on the entity (plus offset). - CheckpointActivatedEvent
- Fired when a player entity touches and activates a checkpoint for the first time.
- CheckpointComponent
- Marks an entity as a checkpoint / respawn point.
- CheckpointSystem
- Checkpoint / respawn system.
- ChildrenComponent
- Children component - Tracks child entities
- ChoiceOption
- One option inside a ChoiceSetStatement.
- ChoiceSetStatement
- A set of player-selectable options at the same indentation level.
- CircleComponent
- Circle shape component.
- CircleParticleRenderer
- Renders each particle as a filled circle.
- CircleRenderable
- A circle of radius centred on the renderable's position, filled with fillColor and outlined in strokeColor when that is set; both colours are faded by opacity.
- CircleShape
- A circular collision shape.
- Collider2D
- The shape of its entity's RigidBody2D — or, without one, of a static body made for it. It follows the entity's scale. Set to ColliderShape2D.matchShape it takes the shape its entity is drawn as.
- ColliderDebuggerSystem
- Outlines every physics body (PhysicsBodyRefComponent) and every RaycastColliderComponent in color, above everything else (SystemPriorities.debug).
- ColliderGeometry
-
The collider a Collider2D stands for, in its body's own space: what
PhysicsSystemgives the simulation, what the debug outline draws, what an editor puts handles on. - CollisionDetector
- Utility for manual broad-phase collision queries outside PhysicsEngine.
- CollisionEnter2DEvent
- Two bodies have begun touching.
- CollisionExit2DEvent
- Two bodies have stopped touching.
- CollisionManifold
- Contains information about a collision between two bodies.
- CollisionShape
- Base class for collision shapes.
- CollisionStay2DEvent
-
Two bodies are still touching, each step after CollisionEnter2DEvent
— only when
PhysicsSystem.reportContactStayis on. - ColorFieldType
-
A Color, saved as its 32-bit ARGB value as a JSON int
(
0xAARRGGBB). - ColorTintEffect
- Animates the Renderable.tint colour of an entity's RenderableComponent from a starting colour to to over durationTicks ticks.
- CommandBuffer
-
A buffer that collects structural mutations (create, destroy, add/remove
component) during system updates and applies them in a batch after
iteration is complete — in the order they were queued, so
removeComponent<Sprite>(e)thenaddComponent(e, newSprite)ends with the new sprite. - CommandStatement
-
A generic
<<commandName arg1 arg2 …>>statement. - Component
- Base class for all components
-
ComponentCodec<
T extends Component> - Converts one component type to and from JSON.
-
ComponentDefinition<
T extends Component> - Everything the engine and editor need to know about one component type, in one place: how to build it, what it persists, how it looks in an inspector, how big it is, and how it draws.
- ComponentDefinitionRegistry
- Every component the engine can save, load, inspect, size and draw, keyed by type name, alias and Dart type.
- ComponentExtent
- The size a component implies, and how to change it.
- ComponentHints
- How a component appears in an inspector and component picker.
-
ComponentPainter<
T extends Component> - Draws a component that is not a RenderableComponent — text, a button, a progress bar, anything that renders itself from its own fields.
- ComponentPainterPass
- Draws every component whose ComponentDefinition carries a ComponentPainter, entity transform applied, ordered by ComponentPainter.layerOf.
-
ComponentSchema<
T extends Component> - A component described as data: a type name, a factory, and its fields.
-
ComponentSignal<
C extends Component, T> - A signal that wraps a component's property for reactive updates.
-
Computed<
T> - A computed signal that derives its value from other signals.
- ConditionalBranch
- One arm of a ConditionalStatement.
- ConditionalStatement
-
An
<<if>> … <<elseif>> … <<else>> … <<endif>>block. - ConfinerStage
- Finalize: keeps the whole view inside the named bounds.
- ContextExtension
- What a package teaches an engine: its component definitions, migrations, animator bindings, timeline track kinds, collision kinds and easings.
- ContextResource
- State a package keeps per context (see EngineContext.slot) that must be released with it.
- CoreComponentSchemas
-
Schemas for the core components the editor has always saved in its
descriptor shape (
{type, customComponentId, fields}). - CoreDefinitions
- Definitions for the core components whose save format predates definitions, one per built-in component.
- CullStateComponent
-
Opt-in view-culling state, maintained each frame by
ViewCullingSystem. - CustomPathParticleRenderer
- Renders each particle as an arbitrary developer-provided Path.
- CustomRenderable
- A custom renderable that uses a callback for rendering
- DecimalFieldType
-
A double, saved as a JSON number. Reading takes any number as a
double and clamps it to the constraints'
minandmax. - DefaultSystems
- Sets of DefaultSystems.
- DelayEffect
-
A no-op effect that occupies
durationTicksticks without mutating any component. Use it as a spacer inside SequenceEffect. - DeterministicEffect
- Abstract base for all deterministic tick-driven effects.
- DialogueChoice
- A single player choice after localization and condition evaluation have been applied.
- DialogueCommandContext
- Context passed to every DialogueCommandHandler.
- DialogueCommandRegistry
- Registry for named DialogueCommandHandlers.
- DialogueComponent
- Marks an entity (typically an NPC) as having associated dialogue.
- DialogueConditionRegistry
- Registry for named DialoguePredicates.
- DialogueEvent
- Structured event describing something that happened in a dialogue, for a game to put on its own event bus. The engine does not emit these itself.
- DialogueGraph
- A collection of DialogueNodes that together form a complete dialogue.
- DialogueLine
- A single dialogue line after localization and variable substitution have been applied.
- DialogueLocalizer
- Resolves localized dialogue strings at runtime.
- DialogueManager
- Central service for the Narrative/Dialogue System.
- DialogueNode
- An individual narrative unit inside a DialogueGraph.
- DialogueRunner
- Executes a DialogueGraph step-by-step and exposes the current state through reactive signals.
- DialogueStatement
- Base class for every statement in a parsed dialogue node.
- DialogueSystem
- ECS system that drives DialogueComponent and DialogueTriggerComponent entities.
- DialogueTriggerComponent
- Trigger zone that automatically starts dialogue when a player enters.
- DialogueVariableStore
-
Stores named dialogue variables used by
<<set>>and<<if>>statements. - DistanceJoint
- Keeps two bodies' centres minLength to maxLength apart.
- DistanceJoint2D
- Keeps two bodies a set distance apart, springily.
- DollyPath
-
A polyline measured by length, so
0.5is halfway along it however its points are spaced. Shared with the editor, which draws the same track. - DollyStage
-
Body: puts the camera on its track — at the point nearest the target, or
wherever
pathPositionsays. - DragForce
- Velocity-proportional drag (air resistance).
- Easings
-
The engine's easing functions — the single table behind the effects'
EasingTypeand the timelines'KeyEasings. - EdgeInsetsFieldType
-
Space around something:
{l, t, r, b}. - EffectBinaryCodec
- Compact binary codec for EffectSnapshot.
- EffectComponent
- ECS component that attaches an EffectPlayer to an entity.
- EffectContext
- Per-tick execution context for DeterministicEffect.applyTick.
- EffectHandle
- A cancellable reference to a scheduled DeterministicEffect.
- EffectPlayer
- Per-entity deterministic effect queue.
- EffectRuntime
- Pluggable multiplayer coordination interface for deterministic effects.
- EffectSerializer
- JSON serialiser for DeterministicEffect instances.
- EffectSnapshot
- A serialisable point-in-time snapshot of all active effects across all entities.
- EffectSystemECS
- ECS system that drives all EffectComponents each fixed-timestep tick.
- EffectTypes
-
The effect types that can be read back, keyed by
DeterministicEffect.effectType. The engine's eleven are always there;
a game registers its own into an engine's (
engine.context.effectTypes). builtIn holds only the engine's and cannot be changed. - Engine
- Main game engine class that orchestrates all subsystems
- EngineConfig
- Choices made once, when an Engine is made: what it is taught (extensions), what it runs beside the game (services), and how some subsystems are built.
- EngineContext
- Everything one engine knows that is not a subsystem: the component definitions and field types scenes are read with, and the per-package state packages hang on it.
- EnginePlugin
- Something that attaches to a running Engine to observe or extend it — a debug editor, a profiler, a replay recorder.
- EngineService
-
Something a game adds to its engine that lives as long as the engine
does — achievements, a wallet, sign-in, ads (package
just_game_services), or a game's own. - EngineTags
- Tags the engine's own code looks for.
- Entity
- Entity - A lightweight handle for components stored in an Archetype.
- EntityPrefab
- A reusable entity blueprint that can be instantiated many times.
- EntityRefFieldType
- The name of another entity. Stored as text: an entity is referred to by what the author called it, which survives a reload and a respawn where an id would not.
- EntitySignal
- A signal that tracks entity-level events like component changes.
- EntitySpatialGrid
-
A uniform grid for fast "which entities are roughly near this rect"
broad-phase queries — the same technique
just_physics_engine'sSpatialGriduses for collision broad-phase, generalized here to any ECS Entity instead of a physics body. - EntityTarget
- Who a component means — the entity a camera follows, what sets a trigger off — named rather than referenced, and looked up when it is needed.
- EntityTargetFieldType
-
Who a component means: an EntityTarget — the entity itself, one by
name, or entities by tag. Saved as
'self',{'name': …},{'tag': …}or null for nobody. - EnumerationFieldType
- An enum stored by name and parsed back with FieldConstraints.enumParser.
-
EnumFieldType<
E extends Enum> - An enum that knows its own values, so it needs no parser and the editor can list its options without being told them separately.
- EulerFieldType
-
A rotation as three Euler angles in radians,
{x, y, z}— the engine's one convention,q = qY · qX · qZ(seeQuaternion). The value is a Vector3 of angles. A 2-D scene shows only z, the angle in the plane. - EulerRotation
-
A rotation held as Euler angles in radians — the engine's one convention,
q = qY(y) · qX(x) · qZ(z)(see Quaternion). - EventBus
- A lightweight event bus for decoupled inter-system communication.
- EventSubscription
- Handle returned by EventBus.on to cancel a subscription.
- EventTrack
- A track of TimelineEvents, fired as the playhead crosses them and told to the playback's listener. The binding is not used: an event comes from the entity playing the timeline.
- ExpressionEvaluator
- Evaluates Yarn Spinner condition and assignment expressions at runtime.
- FadeEffect
- Animates the Renderable.opacity of an entity's RenderableComponent from a starting alpha to to over durationTicks ticks.
- FieldConstraints
- Bounds and parsers a field applies while decoding.
- FieldHint
- How one field appears in an inspector. Presentation only — the field's name, kind, limits and read/write come from its SchemaField.
- FieldRowHint
-
Several numeric fields of a component on one inspector row, as a vector's
axes are:
Dead zone W [0.10] H [0.10]. -
FieldType<
T> - How one kind of field value is written to and read from JSON.
- FieldTypeRegistry
- Field types by FieldType.id.
- FieldTypes
- The field types the engine ships with.
- FieldValueCodec
- Converts one field value to and from its JSON form.
- FirstPersonComponent
- Body stage: the camera at its target's eyes, turned by yaw and pitch — a first-person view.
- FirstPersonStage
- Body: at the target's eyes, looking where the component's yaw and pitch say.
- FixedJoint2D
- Holds two bodies rigidly together (Box2D calls it a weld).
- FlowFieldSystem
- Grid-based "flow field" pathfinding toward a named target entity (the player, by default), routing around any entity carrying a NavigationObstacleComponent.
- ForceManager
- Applies global forces (gravity, wind, etc.) to a set of PhysicsBodys.
- FrameSystem
- A System that also runs once per rendered frame, after the frame's fixed updates and before it is drawn — for what must move at the display's rate rather than the simulation's: a camera following a body between physics steps, a look that reads this frame's mouse movement.
- FrameView
- The camera of one frame, in the forms a renderer needs — reused frame to frame, so reading it allocates nothing.
- FramingStage
- Body: keeps the target inside its dead zone, easing when it leaves and never letting it out of the soft zone.
- Frustum
- The six planes bounding what a camera sees, each facing inwards.
- FrustumViewVolume
- What a camera in space sees: its frustum.
- GameAssetBundle
- A named group of assets that load and unload together.
- GameCamera
- Minimal camera interface consumed by ECS render systems.
- GameEvent
- Base class for all events dispatched through the EventBus.
- GameLayer
- Something drawn over the game as real Flutter widgets.
- GameLayerController
- One view's instance of a GameLayer.
- GameLayers
- The layers registered on an engine, and which are switched off.
- GameLoop
- Main game loop implementation
- GamepadControls
-
The controls of a standard gamepad, named by position — the button at
the bottom of the face is
buttonSouthwhether it says A or ✕ — and tied to the W3C standard layoutjust_gamepadsreports every pad in. - GamepadDevice
- One pad. Two pads are two devices — which is what lets two players each have their own.
- GamepadSource
- Where gamepads come from. JustGamepadsSource in a game; a fake in tests.
- GameTerminal
- Manages all in-game terminal state: visibility, text input, scrollback history, and the command registry.
- GameWidget
- Main game widget that renders the game
- GeneratedEntityComponent
- Tags an entity that a system made from other data while the game runs — the static bodies a tile map's collision is built from, say.
- GravityForce
- Constant gravitational acceleration.
- GridSheetAtlasParser
-
Parses the engine's older "grid sheet" animation JSON, so files written
for the retired
AnimatedSpriteComponentstill play: - GroupFramingStage
- Body, ahead of framing: sets the lens so a followed target group fits.
- HealthComponent
- Health component - HP system
- HealthSignals
- A collection of signals for health component.
- HealthSystem
- Health system - Handles death and health regeneration
- HierarchySystem
- Former home of parent → child transform propagation.
- IEnableable
- Interface for systems that can be enabled/disabled
- ILifecycle
- Interface for objects with lifecycle management
- ImageAsset
- Image/Texture asset
- ImageAssetLoader
- Image asset loader
- ImpulseListenerStage
- Noise: what the impulses in the air do to this shot.
- InputAction
- A live action: what its bindings say now, and what just happened.
- InputActionAsset
-
Everything a game's input is: its action maps, the control schemes, the
on-screen controls and the player rules. Saved as a
.input.jsonfile. - InputActionMap
- A group of actions switched on and off together.
- InputActions
- The asset, live, for one set of devices: its maps and actions, read from those devices only. The service has a shared one for all devices; each player has their own.
- InputComponent
-
One player's input, copied onto the entity they control each step by
the input system, by action name — so gameplay reads
input.isDown('jump')and never asks which device or which player. - InputControl
- One thing on a device a binding can name.
- InputDevice
- One source of input — the keyboard, the mouse, a gamepad, the on-screen controls.
-
InputEvent<
T> - Something that happens to players — one joined, one's pad went — that any number of listeners hear.
- InputOverrideStore
- Where players' overrides are kept. The engine keeps them in its cache; tests keep them in memory.
- InputService
- A game's input: its devices, the asset, and every live copy of the asset (a shared one, and one per player).
- InputSubscription
- A way to stop listening.
- InputSystem
-
Reads each InputComponent's player from the InputService and writes
every action of maps into it by its short name —
jump,move— so gameplay code reads names, not devices. - IntegerFieldType
-
An int, saved as a JSON number. Reading truncates any number to an
int and clamps it to the constraints'
min(rounded up) andmax(rounded down). - IPausable
- Interface for systems that can be paused
- IRenderable
- Interface for systems that can be rendered
- IUpdatable
- Interface for systems that can be updated every frame
- Joint2D
-
What a joint holds its entity's body to — in step with the 3-D
Joint3D. The joint is on one entity (A, which has a body: a RigidBody2D and a Collider2D) and names the other (connectedBody, B).PhysicsJointBindingSystemmakes it once both bodies exist, and again when a setting changes. - JointConstraint
- Base class for all joint constraints.
- JsonAsset
- JSON asset
- JsonAssetLoader
- JSON asset loader
- JumpStatement
-
<<jump NodeTitle>>— unconditionally jumps to another node. - JustGamepadsSource
-
The real pads, through
just_gamepads. Shares the manager with anything else that uses it, and never disposes it. - KeyboardDevice
- The keyboard. Keys are by position; see KeyboardKeys.
- KeyboardKeys
- Every key a binding can name.
- KeyCurve
- Keys in time order, and the value between them.
- KeyEasings
- Easing functions by name, so a key in a file can ask for one: shapes a single bezier cannot make, like a bounce. A key saves the name, so the names never change.
- KeyTangent
- A bezier handle, as an offset from its key: dt seconds, dv value.
- LayerComponent
- Draw order and editor grouping for an entity.
- LetterboxEffect
- Animated cinematic letterbox — solid bars at the top and bottom of the screen.
- LevelLayers
- Conventional LayerComponent.layer values.
- LevelMapComponent
-
Puts a map in the level — its tile layers — at its entity's position. A
scene has one: its Level Map. What is placed on a layer of it is a child
of its entity naming the layer (
LayerComponent.mapLayer). - LevelMapData
- A level map.
- LevelMapDefinitions
- The level-map subsystem's component definitions: one, for LevelMapComponent.
- LevelMapFiles
- The names of map files.
- LevelMapHandle
- Reading and changing a map while the game runs.
- LevelMapLoadFailure
- A map LevelMaps.preload could not load.
- LevelMapRuntime
- What the running game made of one map: the document it reads, its own changes on top, the tilesets and images it loaded, and its drawing.
- LevelMaps
- Finding maps in a world.
- LevelMapSystem
-
Brings every
LevelMapComponentto life: loads its map (from the scene or a file) and tilesets, and gives its entity one render item per layer, so each layer sorts among the level's drawing on its own. - LifetimeComponent
- Lifetime component - Entity that expires after time
- LifetimeSystem
- Lifetime system - Destroys expired entities
- Light2D
- Lights a 2-D scene that has Lighting2D on: sprites, shapes and tile layers are shaded by it — by the bumps their materials' normal maps draw — and, where castsShadows, darkened behind what casts shadows.
- Lighting2D
- Turns 2-D lighting on for the scene it is in: the frame is drawn, then lit by every Light2D near the view over ambient light. A scene without one — or with it off — is drawn as it is, and pays nothing for lighting.
- Lighting2DPass
-
Lights the frame when the world has a Lighting2D on: the frame and its
normals (
RenderSystem.renderNormals) drawn throughshaders/lighting_2d.frag, lit by up to maxLights Light2Ds — those reaching the view, the nearest its middle first — over the ambient light. Lights that cast shadows are stopped by what casts them (ShadowCaster2D, Level Map layers that cast them): their shapes drawn into a mask (RenderSystem.renderOccluders), how far each light reaches every way found from it (shaders/shadow_map_2d.frag). What the engine puts first inRenderingEngine.screenPasses. - LineComponent
- Line shape component.
- LineParticleRenderer
- Renders each particle as a line from Particle.previousPosition to Particle.position, creating a motion-blur streak effect.
- LineRenderable
- A renderable line
- LineStatement
- A single spoken line, optionally attributed to a character.
- ListFieldType
- A list of plain JSON values, saved and read back as it is — no element is converted.
- LoaderOverride
- What EngineContext.overrideLoaders changed, and how to put it back.
- LocaleStringTable
- An immutable flat mapping from string key → localized string for one Locale.
- LocalizationManager
- Engine-wide localization service.
- LocalizationScope
- Provides a LocalizationManager to the widget subtree via LocalizationScope.of.
- LookActions
-
Ready-made look actions for a camera that turns, in the shape
LookInputreads. Look comes as two actions because it comes two ways: - LookAtComponent
- Aim stage: points the camera at its target, wherever the body put it.
- LookAtStage
- Aim: turns the camera, wherever its body put it, to look at its target.
- LookInput
- A camera's look, read once per rendered frame from the two look actions (LookActions):
- LookSettings
- How look input becomes a turn. Immutable; a settings screen makes a new one with copyWith and gives it to LookInput.settings.
- MapBodyComponent
- On each body a map's collision is built from: which map and layer it came from, what kind of collision, and which cells.
- MapBodySpec
- One static body a layer's collision is made of, from its tiles.
- MapCollisionKind
- What a tile's collision kind means at runtime.
- MapCollisionKinds
- The collision kinds tiles can use.
- MapCollisionSystem
- Gives every map layer marked collides the static bodies its tiles' collision shapes describe.
- MapFieldType
- A map of plain JSON values, saved and read back as it is — no entry is converted.
- MapGeometry
- The geometry of a map's grid, in map-local pixels (world units, with the map's entity at the origin).
- MapLayerData
- One layer of a map: its tiles. What else is on it — the entities placed there — are children of the map's entity that name the layer.
- MapLayerPainter
- Draws a map's layers.
- MapLayerRenderItem
- One map layer's tiles, as one of the level's things to draw: it sorts among sprites and shapes by the layer's own sort layer and z-order, and the entities on the layer draw just after it.
- Material2D
-
Draws an entity's sprite through a 2-D material file
(
*.material2d.json): an outline, a flash, a dissolve, a wave — the effects the file switches on (Material2DEffects). - Material2DBatch
-
Sprites drawn with one 2-D material from one sheet, queued to be drawn
together: one
drawVerticescall through the material's shader, each sprite a quad, with what differs per sprite — its frame, tint, place and overridden values — in a small params image made at flush. - Material2DEffect
- A switch in a 2-D material: off unless the file turns it on.
- Material2DEffects
- Every effect a 2-D material can switch on, in the order a material applies them (and a file saves them).
- Material2DFile
-
A 2-D material saved in its own file (
*.material2d.json): effects for sprites, shapes and tile layers (Material2DKind.sprite), or for the whole frame from a camera (Material2DKind.screen). - Material2DLibrary
-
The 2-D material files (
*.material2d.json) an engine's entities are drawn with (Material2D), and the shader that draws them. - Material2DParam
- One value of a Material2DEffect.
- Material2DShader
-
The layout
shaders/material_2d.fragreads. Change one, change both. - MaterialChain
- Walks a variant's parents and lays each file over the one before.
- MaterialOverridesFieldType
-
An entity's own values for its material —
Material2D.overrides,ScreenMaterial.overrides,MaterialOverrides3D.values— saved as a map by key, whose channels are the numbers in it a timeline can key: each animatable number, a pair askey#0andkey#1. (A colour is changed from code: keyed as one number it would not blend as a colour.) - Matrix4
- 4D Matrix. Values are stored in column major order.
- MemoryCleanupResult
- MemoryInputOverrideStore
- MemoryProfiler
- MemoryProfileSnapshot
- MemoryScope
- MemoryStats
- MigrationHooks
- The rules a package adds to the scene and timeline migrations, on top of the engine's own — its old component shapes brought forward.
- MigrationNote
- Something one migration step noticed that a person may want to know.
- MigrationResult
- A scene brought up to the current format, and what was found on the way.
- MigrationRun
- One migration in progress: the hooks it runs with and what it finds. Handed to every step, so two migrations never share what they found.
- MixerManager
- Shows every weighted child at once.
- ModelAsset
- A 3-D model, as the engine sees one: its bounds and, for picking and mesh colliders, its triangles. Drawing it is someone else's business.
- ModelGeometry
- Triangles on the CPU: three indices per triangle into positions.
- MotionBlurEffect
- Directional motion blur driven by camera velocity.
- MouseControls
- The mouse's controls.
- MouseDevice
- The mouse. MouseControls.delta and MouseControls.scroll add up what happened since the last update and start again from zero at each; their running totals (InputControl.readTotal) never start again, for reading once per rendered frame instead.
- MouseJoint
- Pulls a body toward a target point using a spring force.
- MoveEffect
- Translates an entity's position from its captured start to to over durationTicks ticks.
- MovementSystem
- Movement system - Applies velocity to transform
- MoverShape
- The shape a character moves as, centred on its position: a capsule standing upright, or a box with slightly rounded corners.
- MusicManager
- Convenience wrapper around AudioEngine for background music.
- NarrativeSignals
- All reactive state exposed by a running DialogueRunner.
-
Marks an entity as a static obstacle for
FlowFieldSystempathfinding — rasterized into the walkability grid as a circle of radius centered on the entity'sTransformComponent.position. - NestedTimelineTrack
- Runs other timelines inside this one: TimelineBlock.value is the timeline's path, played for the bound entity as its "self".
- NineSliceSprite
- Nine-slice sprite for UI elements
- NoiseForce
- Noise-based perturbation using 2-D value noise.
- NoiseOctave
- One layer of noise: how fast and how far.
- NoiseStage
- Noise: continuous handheld motion over the settled shot.
- OffsetFieldType
-
An Offset, saved as
{dx, dy}; a missing or non-numeric part reads as 0. - OffsetListFieldType
-
A list of Offsets — a polygon's points, say — saved as a list of
{dx, dy}maps. Reading skips entries that are not maps. - OnScreenDevice
-
The controls a game draws on a touch screen, as a device: the widget
that draws them sets them, and bindings read them like any other button
or stick —
<OnScreen>/jump. - OrbitFollowComponent
- Body stage: a third-person camera circling its target at distance, turned by yaw and pitch.
- OrbitFollowStage
- Body: circles the target at a distance, turned by the component's yaw and pitch, the pivot easing after the target.
- ParallaxBackground
- A multi-layer parallax background.
- ParallaxComponent
- Parallax component — a ParallaxBackground drawn behind the world.
- ParallaxLayer
- A single layer in a parallax background.
- ParallaxRenderSystem
- Scrolls and draws every entity's ParallaxComponent.
- ParallaxSystem
- Parallax subsystem that manages multiple ParallaxBackground instances.
- ParallelEffect
- Runs all child effects simultaneously.
- ParentComponent
- Hangs an entity under a parent: it moves, turns and scales with it.
- Particle
- An individual particle managed by a ParticleEmitter.
- ParticleEffect
- Base class for custom particle behaviors.
- ParticleEffects
- Ready-made particle effect factories.
- ParticleEmitter
- Particle emitter — the core class of the advanced particle system.
- ParticleEmitterComponent
- ECS component that attaches a ParticleEmitter to an entity.
- ParticleForce
- A force that mutates a Particle's Particle.velocity each tick.
- ParticleRenderer
- Base class for all particle renderers.
- ParticleSystemECS
- ECS system that drives ParticleEmitterComponent entities every frame.
- PathEffect
- Moves an entity along a path defined by waypoints over durationTicks.
- Physics2DQueries
-
Rays, sweeps and overlaps against the bodies system keeps in
physics. Each takes the layers it sees (
layerMask, bitnfor layern), an entity to look through (ignore, the asker itself, say), and whether sensors count. - PhysicsBody
- Physics body — the core simulation object in the physics engine.
- PhysicsBodyRefComponent
- Links an entity to a subsystem PhysicsBody for automatic position sync.
- PhysicsCharacters2D
-
The CharacterBody2D side of
PhysicsSystem, which owns one and runs it each update before stepping — as the 3-DPhysicsSystem3Dmoves its characters. - PhysicsDefinitions2D
-
The definitions of RigidBody2D, Collider2D, CharacterBody2D and the
2-D joints. Each is
Dimensions.twoD, in thePhysicsgroup. - PhysicsEngine
- Main physics engine class
- PhysicsHit2D
- What a 2-D query hit.
- PhysicsJointBindingSystem
- Makes the 2-D joints (DistanceJoint2D, FixedJoint2D, SliderJoint2D, WheelJoint2D) in the physics engine, between the body of the entity a joint is on and the body of its Joint2D.connectedBody.
- PhysicsLayerFieldType
- A collision layer, 0 to 15, saved as its number. Reading clamps it into range.
- PhysicsLayerMaskFieldType
- A set of collision layers as a 16-bit mask, saved as its number — or null, saved as null, for "as the project's grid says".
- PhysicsLayers
- What collides with what, by layer: up to count layers, each with a name, and a grid saying which pairs of them collide.
- PhysicsShapeFieldType
-
A physics CollisionShape, stored as
{kind, ...dimensions}. - PhysicsSystem
-
Physics system — the ECS front end for PhysicsEngine, in step with
the 3-D
PhysicsSystem3D. - PlanarSpatialIndex
- A SpatialIndex over the x/y footprint of everything — an EntitySpatialGrid — ignoring depth, as 2-D does.
- PlanarViewVolume
- What a 2-D camera sees: a rectangle of the world, at every depth.
- Plane
-
The plane of points
pwithnormal · p + constant = 0. - PlayerInput
- One player: their devices, their scheme, and their own live copy of the asset, reading only their devices.
- PlayerInputManager
- Local multiplayer: who is playing, with what, and who joins next.
- PlayerRespawnEvent
- Fired by CheckpointSystem.respawn to request the player be moved to their last saved respawn position.
- PluginHost
- The plugins attached to one engine.
- PointerLock
- Locks the mouse pointer to the game window, for mouse look.
- PolygonComponent
- Polygon shape component.
- PolygonDecompose
- Convex decomposition for collision shapes.
- PolygonShape
- A convex polygonal collision shape using SAT (Separating Axis Theorem).
- PoolManager
- PoolStats
- PostProcessPass
- A single fullscreen post-process shader pass.
- PostProcessSystem
- Manages fullscreen post-process shader passes on behalf of the ECS world.
- PredictionEffectRuntime
- EffectRuntime for client-side prediction with rollback.
- PrefabApply
- Writes what an instance changes into its prefab, so that every instance has it: an editor's Apply.
- PrefabCollapse
- Works out what an instance changes, from its entities as they are now against what its prefab makes on its own: what an editor saves.
- PrefabEntity
- One entity of a PrefabFile.
- PrefabExpander
- Turns prefab instances into the entities they make: the prefab's own, each nested instance in it made in turn, and the instance's changes applied. Plain JSON in, plain JSON out — the engine, the editor and the command line expand the same way.
- PrefabFile
-
A prefab saved in its own file (
*.prefab.json): entities — one at the top, the rest under it — that scenes and other prefabs place as an instance, changing what they need to (PrefabInstance). - PrefabInstance
- An instance of a prefab — in a scene, or in another prefab — and what it changes: fields (overrides), names and switches of the entities in it, entities removed, components added and removed. Everything else is the prefab's, so an edit to the prefab reaches every instance.
- PrefabInstanceComponent
- On the top entity of a prefab instance: which prefab file it is (path) and what this instance changed when it was loaded (block).
- PrefabLibrary
-
The prefab files (
*.prefab.json) one engine has read, by path: what scenes holding instances of them and spawners placing them make their entities from. - PrefabLink
- On every entity a prefab instance made (its top one too): the instance's top entity (instance) and where in the prefab it is (path, a path of the prefab's ids).
- PrefabNode
- One entity a prefab instance makes: where it is in the prefab (path, a path of ids), its name and switch, the entity it is under (parent, a path too; null at the top) and its components as saved — copies, to change freely.
- PrefabOverride
-
One field of a component changed in an instance: on the entity at
target (a path of ids,
c3/x9forx9inside the instancec3), component's field is value (as saved). - PropertyAccess
-
A field, reached through its component's definition in the field's saved
(JSON) form. That form is the same for every field type — a number, a
bool, a string, an ARGB int, or a map of numbers like
{x, y}— which is why one track kind animates them all, a package's own types included. - PropertyTrack
- Animates one field of one component on the bound entity along a curve of keys. The field is named by saved names — component, field, and channel for one number of a map-valued field — so the track fits any entity that has it.
- PropertyTrackRunner
- The running half of a PropertyTrack: finds the field on the bound entity — again when the entity or its components change — and writes the curve's value there on every apply.
- Quaternion
-
A mutable rotation quaternion
(x, y, z, w), Hamilton convention. - Ray
- A ray in 2-D world space with an origin, normalised direction, and maximum travel distance.
- Ray3
- A half-line from origin along direction.
- RayBodyHit
- The result of a ray cast against a PhysicsBody.
- RaycastColliderComponent
- Marks an entity as participating in ray-cast queries and defines its circular collision shape.
- RaycastHit
- The result of a single ray–entity intersection.
- RaycastSystem
- ECS system that provides ray-vs-collider intersection tests against every entity that has a TransformComponent and a RaycastColliderComponent.
- RayRenderable
- Draws a glowing line from start to end that fades to transparent over lifetime seconds.
- RayTrace
- Complete result of a RayTracer.trace call.
- RayTracer
-
Performs multi-bounce ray tracing against RaycastColliderComponent entities
that have RaycastColliderComponent.isReflective set to
true. - RayTraceSegment
- A single path segment of a multi-bounce ray trace.
- ReactiveSystem
- A system that only processes entities with dirty (changed) components.
- RebindCanceled
- RebindCompleted
- RebindingOperation
- Listens for the next control pressed, to bind it.
- RebindResult
- How a rebind ended.
- RectangleComponent
- Rectangle shape component.
- RectangleRenderable
- A renderable rectangle shape
- RectangleShape
- A rectangular collision shape (simplified Polygon).
- RefreshableExtension
- A ContextExtension that can put its definitions in place again, as the code now makes them, after a hot reload — so an editor shows a field just added to one of its components. See EngineContext.refreshDefinitions.
- Renderable
- Base class for all renderable objects
- RenderableComponent
- Renderable component - Links to a Renderable object
- RenderContext
- What a ComponentPainter is given per frame.
- RenderHookChain
- Several render callbacks called in order.
- RenderingEngine
- Main rendering engine class responsible for graphics rendering
- RenderItem
- One drawable an entity owns, sorted into the same draw order as every renderable in the world.
- RenderItemsComponent
- The RenderItems an entity draws. Runtime only: whatever creates the items (a loading system, usually) attaches this, and nothing saves it.
- RenderPass
- One stage of RenderSystem's frame, run inside the camera transform.
- RenderStatsSink
-
Something that adds up what a frame's drawing cost:
RenderingEngine, whosestatsthen count the ECS world's drawing along with its own. - RenderSystem
- Render system - Renders ECS world-space renderables and UI components.
- RepeatEffect
- Repeats a single child effect a fixed number of times.
- RepellerForce
- Point repeller — pushes particles away from center.
-
ResolvedMaterial<
T> - A material file with every parent laid under it, and what went wrong on the way.
- RevoluteJoint
- A hinge: the two bodies turn about a shared anchor.
- RigidBody
- Represents a rigid body with 2D force accumulation (convenience wrapper).
- RigidBody2D
-
Makes its entity a body that
PhysicsSystemsimulates: how it moves, how heavy it is, what it is made of. It needs a Collider2D on the same entity for its shape; a collider without one is a static body. - RotateEffect
- Animates an entity's TransformComponent.angle from its captured start to to (radians) over durationTicks ticks.
- RoundedPolygonShape
- A convex polygon with rounded corners.
- ScaleEffect
- Animates an entity's TransformComponent.scale from its captured start to to over durationTicks ticks.
- SceneAssets
- Where scenes live in a game's assets, and how to find them.
- SceneFormat
- The saved scene format's version, and how older files are brought up to date.
- SceneLoader
- Loads levels saved by the editor into a World, with no editor present.
- SceneManifest
-
assets/scenes/scenes.json: the scenes the game plays, in order. - SceneMigration
- One step of the scene-format migration chain: from version from to from + 1.
- SceneMigrations
- Every migration, in order.
- SceneNames
- The rules for a scene's name: a Dart identifier that is not a keyword, unique ignoring case.
- SceneRenderer
- Draws the world from a FrameView — the slot a 3-D rendering backend fills.
- SceneStarters
- The scene a new level starts from, as its file holds it.
- SchemaField
- One persisted property of a component.
- ScreenFadeEffect
- Full-screen colour overlay with animated alpha.
- ScreenMaterial
-
Draws the whole view through a 2-D material of the
screenkind (*.material2d.json): a vignette, a colour grade, scanlines, a CRT bulge, big pixels — the effects the file switches on. - ScreenMaterialPass
-
Draws the frame through the world's ScreenMaterial: of those enabled
on active entities, the one with the highest order. What the engine
installs as its
RenderingEngine.screenPass. - ScreenPass
-
Drawn over the whole frame from an image of it — a screen material's
vignette, colour grade or pixelation, say — by
RenderingEngine: when active, the frame is drawn into an image (everything up to the overlay hooks of orderRenderingEngine.screenPassOrder, an editor's own drawing left out), which paint then draws over the view. - ScreenPassPlan
- How a frame is drawn through its ScreenPasses.
- ScrubHint
- Drag-to-scrub feel for a numeric field in an inspector. Limits are not here: they come from SchemaField.min/SchemaField.max, so what the inspector allows and what a load accepts cannot drift apart.
- SegmentShape
- A line-segment collision shape for static terrain and one-way platforms.
- SensorEnter2DEvent
-
Something has entered a sensor (a body with
RigidBody2D.isSensor). - SensorExit2DEvent
- Something has left a sensor.
- SequenceEffect
- Runs a list of child effects one after another in order.
- ServiceContext
- What a started EngineService gets from its engine.
- ServiceHost
-
The EngineServices of one engine (
engine.services), in start order. - SetStatement
-
<<set $variable = expression>>(ortofor=) — assigns a value to a Yarn variable;<<declare $variable = expression>>— gives it a first value, only when it has none yet. - ShaderComponent
- Attaches a custom GLSL ui.FragmentShader to an ECS entity.
- ShaderFilterSupport
-
Guards every
ImageFilter.shaderthe engine makes. - ShadowCaster2D
- Makes its entity's sprite or shape cast shadows from the Light2Ds that cast them, in a scene with Lighting2D on: light stops at its shape, and what is behind it from the light is in shadow.
- ShakeEffect
- Applies a damped oscillating positional shake to TransformComponent.
- ShapeCastResult
- The result of a circle shape cast against a PhysicsBody.
- ShapeGradient
- Serializable-style gradient config used by shape components.
- ShapePaintCache
- One shape's fill and stroke paints, brought up to date only when what they are made from changes.
- ShapePainting
- Draws rectangles, circles and polygons the way the shape components do: filled (when asked) in ShapePaintStyle fill, then outlined in the stroke style.
- ShapePaintStyle
- Unified shape paint style that combines color tint and optional gradient.
- ShapePaintStyleFieldType
- A ShapePaintStyle: colour, blend mode and optional gradient.
- ShapeSheet
- What a shape drawn through a 2-D material is drawn from: the shape drawn into an image in its own space, its box (bounds) and how many image pixels a unit of that space is (resolution).
- ShapeSheets
- Each entity's shape drawn into an image, kept while it looks the same.
-
Signal<
T> - A reactive primitive that holds a value and notifies listeners when it changes.
- SimpleMovementComponent
- Moves an entity straight from a vector action — no physics. For top-down games, cursors and quick tests.
- SimpleMovementSystem
- Applies a vector action straight to TransformComponent.
- SliderJoint2D
- Lets two bodies slide along one axis: a drawer, a piston, a lift (Box2D calls it prismatic).
- SolidBox
- A box, axis-aligned in its entity's space.
- SolidCapsule
- A capsule standing along Y: a cylinder halfHeight × 2 tall with a half-sphere on each end.
- SolidCylinder
- A cylinder standing along Y.
- SolidHeightField
- Ground as a grid of heights — a terrain: sampleCount by sampleCount samples cellSize apart, row by row along Z, each along X, its first at (x, y, z). Each height is how far up the ground is there (+Y is down: it is subtracted). holeHeight or more marks a hole: nothing there.
- SolidHull
- The convex hull of a set of points: a cone, a wedge, one piece of an arch.
- SolidMesh
- A surface of triangles — a road swept along a path, a bridge — for what stands still or is moved by hand (static and kinematic bodies): one thrown about by forces needs convex parts.
- SolidPart
- One convex part of a SolidShapeSource's shape.
- SolidShapeSource
- A component whose look is a solid of known shape — a 3-D primitive such as a box, a sphere or a staircase — so that a collider can take the same shape without being told it twice.
- SolidSphere
- A sphere.
- SoundEffectManager
- Convenience wrapper around AudioEngine for one-shot & looping SFX.
- SpatialGrid
- A uniform grid for broad-phase collision detection.
- SpatialIndex
- An index of entities by their bounds in the world, in 3-D.
- SpawnComponent
- Marks an entity as a spawn point: where the app creates something when the level starts. What is created is up to the app — the spawner names one of its Spawners.
- Spawner
- Something a spawn point can create, as the app registers it.
- SpawnerRefFieldType
- The id of a spawner the game registers, as a spawn point names it. Stored as text; the editor offers the spawners it was given.
- SpawnPoints
- Finding spawn points, the same way everywhere.
- Sprite
- A sprite that can be rendered
- SpriteAnimationComponent
- Plays a clip from a sprite atlas on this entity.
- SpriteAnimationSignal
- Something a playing sprite said: a frame event the artist placed, or SpriteAnimationSignal.completed when a clip that does not loop ends.
- SpriteAnimationSystem
- Plays SpriteAnimationComponents: loads the atlas, advances the clip by each frame's own duration, shows the frame, and reports events.
- SpriteAssetLoader
- Where sprite images and atlases come from.
- SpriteAtlas
- A parsed sprite atlas containing one or more SpriteAtlasPages plus a registry of named SpriteRegions and AtlasAnimationClips.
- SpriteAtlasPage
- A single texture page belonging to a SpriteAtlas.
- SpriteBatch
- A batched sprite renderer that issues a single Canvas.drawRawAtlas call.
- SpriteBatchRenderer
- Abstract contract for a sprite-batch renderer.
- SpriteClipTrack
- Plays clips on the bound entity's SpriteAnimationComponent. Between blocks the sprite goes back to the clip it was playing before — what was authored, unless something (an animator) had switched it. It sets what the sprite plays at run time, never what it saves.
- SpriteComponent
- A still image on this entity: a whole image file, or one region of a sprite atlas. SpriteLoadSystem loads it and keeps it showing.
- SpriteLoadSystem
- Shows a SpriteComponent: loads its image — or its region of an atlas — into a RenderableComponent, and keeps flip, tint and filtering current.
- SpriteParticleRenderer
- Renders each particle using a ui.Image, batched via Canvas.drawAtlas.
- SpriteRegion
- A named region within a SpriteAtlas — describes one sprite or animation frame packed onto an atlas page.
- SpriteSheet
- Sprite sheet for managing multiple sprites from one image
- SquareParticleRenderer
- Renders each particle as a filled square (axis-aligned, rotatable).
- StampCell
- One cell of a stamp: where it goes relative to the brush, and what.
- StarParticleRenderer
- Renders each particle as a 5-pointed star.
- StateDrivenManager
-
Shows the child mapped to another entity's
CameraStateComponent.state. - StopStatement
-
<<stop>>— immediately ends the dialogue session. - StringInterpolator
-
Performs
{variable}substitution and ICU-lite plural selection on a localized string template. - SubEmitterConfig
- Describes a child particle emitter that is spawned by a parent emitter's particles.
- SubtitleController
- Drives subtitle playback from a SubtitleTrack.
- SubtitleCue
- A single timed subtitle entry.
- SubtitleTrack
- An ordered list of SubtitleCue entries that make up a subtitle sequence.
- System
- Base class for all systems
- SystemManager
- System manager for coordinating engine subsystems
- SystemMemorySnapshot
- SystemPriorities
- Named priority constants for System.priority.
- TagComponent
-
The labels an entity carries —
player,enemy,boss— for systems, cameras and triggers to find it by. - TagDefinition
- One tag a project knows: its name, and how an editor shows it.
- TagLibrary
- The project's tags, in the order they are listed. Immutable: every change returns a new library.
- TagListFieldType
- Several tags: a list of names, blanks and repeats dropped. What a TagComponent saves.
- TagNames
- What makes a good tag name, and what is probably a typo of one.
- TagRefFieldType
- A tag, from the project's tag list. Stored as text; the editor offers the tags the project knows and a way to make a new one.
- TextAsset
- Text asset
- TextAssetLoader
- Text asset loader
- TextFieldType
- A String, saved as a JSON string and read back as it is.
- TextParticleRenderer
- Renders each particle as a text glyph (e.g. an emoji).
- TextRenderable
- A renderable text label
- TexturePackerAtlasParser
- Parses the three TexturePacker JSON export variants into a SpriteAtlas.
- TileAssets
-
Loads tilesets (
.tileset.json) and map files (.map.jsonor.tilemap.json, and Tiled's.tmx/.tmj), and keeps what it loaded. - TileCell
- The value of one cell: which tile of which tileset, and how it is turned.
- TileChangedEvent
- Fired when the running game changes a tile.
- TileChunkData
- Sixteen by sixteen cells of one layer.
- TileChunkStore
- A layer's cells: any number of them, in any direction, only where something is painted.
- TileCollision
- What a tile does when something runs into it.
- TileCollisionBuilder
- Builds a layer's collision from what its tiles' tilesets say.
- TileCoord
- A cell's position on a map layer, in tiles.
- TileDef
- What a tileset says about one of its tiles. Only tiles that say something have one.
- TiledImageRecord
- An image layer from a Tiled map, placed in map-local pixels.
- TiledImport
- What an import made of a Tiled map.
- TiledInterop
- Conversions between just_tiled's models of TMX/TSX (and TMJ/TSJ) files and the engine's LevelMapData and TilesetData.
- TiledObjectRecord
- An object from one of a Tiled map's object layers, with what the groups it sat in did to it.
- TileEllipseShape
- An ellipse inscribed in bounds.
- TileFrame
- One frame of an animated tile: which tile of the same tileset to show, and for how long.
- TileInfo
- A tile, with what its tileset says about it.
- TilePolygonShape
- A polygon, convex or not; the collision builder splits it as needed.
- TileProperties
-
Named, typed values a designer attaches to a tile or a layer and a game
reads: a tile's
damage, a layer'sambientsound. - TileRange
- A rectangle of cells: x0 to x1 and y0 to y1, the far edges exclusive.
- TileRectShape
- An axis-aligned box.
- TilesetData
-
A
.tileset.json: an image cut into a grid of tiles, and what the tiles mean — collision, animation, terrain, properties. - TileShape
- One shape of a tile's collision, in the tile image's own pixels (0,0 is the image's top-left).
- TileStamp
- A brush's contents.
- TileTransformations
- Which ways a terrain brush may turn this tileset's tiles to find a match — Tiled's tileset transformations.
- TimelineAsset
-
Tracks on one clock: what a
.timeline.jsonholds, or what a Timeline Player keeps inline. Immutable — an editor makes a new one with copyWith — so one asset can be shared by every player of it. - TimelineAudio
-
How an audio track makes a sound: through its world's context
(
context.timelineAudio), which a game with its own audio replaces. The default, viaAudioSystem, asks the world's AudioSystem for a one-shot. - TimelineBlock
- A stretch of a block track. Every kind reads the same few fields its own way, which is what lets one editor draw, move and trim them all.
- TimelineContext
- What a running track can reach: the world, who is playing the timeline, the entities bindings mean, and a way to say an event happened.
- TimelineDefinitions
- Definitions for the timeline components that need more than a plain schema: TimelineTriggerComponent, whose rectangle the editor sizes and scales.
- TimelineEvent
- Something that happens at a time.
- TimelineEventFired
- An event a timeline fired.
- TimelineFormat
- The timeline file format: its current version, and bringing an older file up to it.
- TimelineKey
- A value at a time.
- TimelineMarker
- A named time: somewhere to play from, something to snap to.
- TimelineMigration
- One step of the timeline-format migration chain: from version from to from + 1.
- TimelinePlayback
- One timeline being played by one entity. The ECS system drives one per player component; an editor drives its own to preview, and a game can make one with no component at all.
- TimelinePlayerComponent
-
Plays a timeline. The timeline is a
.timeline.jsonasset at timelinePath, shared by every player that names it — or, with no path, the inline one that belongs to this entity alone. - TimelineSignals
-
A bus of names, one per engine (
engine.context.signals), shared by every world on that engine — the level's and the interface's screens', so a button on a screen can start a timeline in the level. ATimelinePlayerComponentwhoselistenSignalis a name plays when that name is emitted; a timeline event marked as a signal emits one. - TimelineSystem
- Runs every TimelinePlayerComponent: loads its timeline, plays it, and says which events fired.
- TimelineTrack
- One row of a timeline. Immutable: an editor replaces a track to change it, which is what makes undo a list of assets.
- TimelineTrackKinds
-
The kinds of track a timeline can hold. The engine's own are always
there; a package registers more into an engine's
(
engine.context.trackKinds), and a timeline asset that uses them loads, plays and saves like any other: - TimelineTrackOffer
- How an editor offers a kind of track for adding: what it is called, and an empty one of it.
- TimelineTriggerComponent
- A rectangle that starts a timeline when a target walks in — and may do something else when it walks out. Centred on the entity's transform.
- TimelineTriggerSystem
- Runs every TimelineTriggerComponent: watches its target cross the rectangle's edge and tells the player what to do.
- TimelineV1ToV2
- v1 → v2: rotation became three angles.
- TimeManager
- Time management system for the game engine
- TouchscreenControls
- The first finger on a touch screen. Several fingers at once are for the on-screen controls, each of which follows its own.
- TouchscreenDevice
- A touch screen: the first finger as TouchscreenControls, and every finger in touches for game code that wants them.
- TrackBinding
- Who a track acts on, looked up when the timeline plays — never an id, so a timeline asset fits any scene that has the names it asks for.
- TrackRunner
- The running half of a track, made fresh for every playback.
- TransformComponent
- Transform component — where an entity is in the world: position, rotation and scale, in 3-D.
- TransformHierarchy
- Keeps every child's world transform in step with its parent's.
- TransformSignals
- A collection of signals for all properties of a transform component.
- TriangleParticleRenderer
- Renders each particle as a filled triangle.
- UnknownFieldType
- Raw JSON, kept exactly as found.
- UnknownTrack
- A track of a kind nobody registered — a package that is not installed — or of a known kind whose reader could not read it (error says why). Kept as it was read so saving the timeline does not lose it.
- V0ToV1
-
v0 → v1: every component becomes
{type, fields}. - V1ToV2
- v1 → v2: the camera becomes virtual cameras.
- V2ToV3
- v2 → v3: sprites play from an atlas.
- V3ToV4
- v3 → v4: timelines.
- V4ToV5
- v4 → v5: UI that keeps its look.
- V5ToV6
- v5 → v6: every entity is 3-D.
- V6ToV7
- v6 → v7: tags and targets.
- V7ToV8
- v7 → v8: physics bodies.
- V8ToV9
- v8 → v9: one physics model for 2-D and 3-D.
- V9ToV10
-
v9 → v10: a scene entry may be an instance of a prefab file — a
prefabblock (path, and what it changes) in place ofcomponents— and an entry may name an entity inside such an instance as its parent (parentTarget, a path of the prefab's ids, besideparentName). - Vector2
- A mutable 2-D vector.
- Vector2FieldType
-
A Vector2, saved as
{x, y}; a missing or non-numeric part reads as 0. - Vector3
- A mutable 3-D vector.
- Vector3FieldType
-
A Vector3, saved as
{x, y, z}; a missing or non-numeric part reads as 0. - VelocityComponent
- Velocity component — linear velocity in 3-D world space.
- VelocitySignals
- A collection of signals for velocity component.
- ViewCullingSystem
-
Opt-in view culling — tracks which entities are near the camera and marks
them accordingly on their
CullStateComponent. - ViewVolume
- The region of the world a camera sees.
- VirtualCameraComponent
- Makes its entity a virtual camera.
- VortexForce
- Rotational vortex force around center.
- WangColorData
- One terrain: grass, water, a road.
- WangFiller
- Paints terrains with one Wang set of one tileset, the way Tiled's terrain brush does.
- WangResult
- The result of a terrain stroke.
- WangSetData
- A set of terrains, and which corners or edges of which tiles are which.
- WangTarget
- One place a terrain brush paints, on the map's lattice (see MapGeometry.toLattice).
- WeldJoint
- Holds bodyB where it was against bodyA when the joint was made, turning with bodyA, at the same angle to it.
- WheelJoint2D
- A wheel on a suspension along axis.
- WindForce
- Continuously varying directional wind with optional turbulence.
- World
- ECS World - Manages all entities and systems
- WorldAxes
- Which way is which in the engine's world — for 2-D and 3-D alike.
- WorldSignal
- A signal that tracks world-level events like entity and system changes.
- YarnParser
- Parses Yarn Spinner 2.x dialogue source into a DialogueGraph.
- YarnToken
- A single logical line from a Yarn Spinner source file.
- YarnTokenizer
- Converts a Yarn Spinner source string into a flat YarnToken list.
Enums
- ActionValueType
- What an action reads out.
- AngleUnit
- How an angle is shown; the value itself is always radians.
- AnimatorBlendType
- How a blend tree places its motions.
- AnimatorOp
- How a condition compares its parameter with its value.
- AnimatorParameterType
- What kind of value a parameter holds.
- AssetType
- Asset types supported by the engine
- AudioChannel
- Audio channel identifiers — used to route clips to named mixer buses.
- AudioEffectType
- DSP effect types that can be applied per-voice or per-bus.
- AudioFormat
- Audio format types
- AudioRequest
- What a game asks of a playing sound; see AudioRequests.
- AudioRolloff
- How a 3-D sound gets quieter with distance from the listener.
- AudioState
- Playback lifecycle state of an AudioClip.
- BodyType
- How a body participates in the simulation.
- BoundaryBehavior
- Boundary behavior options
- CameraNoisePreset
- The noise recipes a CameraNoiseProfile can be picked from by name.
- CameraProjection
- Straight on, or with perspective.
- CameraStagePhase
- Where in the pipeline a stage runs. Within a phase, by CameraStage.order.
- CameraStandbyUpdate
- When a camera that is not live keeps evaluating its pipeline.
- CameraTriggerMode
- What a trigger does to its camera while the target is inside.
- CameraUpdateMode
- When the brain thinks.
- CharacterShape2D
- The shape a CharacterBody2D moves as.
- ColliderShape2D
- The shapes a Collider2D can be.
- DefaultSystem
- One of the engine's standard sets of systems; see registerDefaultSystems.
- DeviceChange
- Whether a device came or went.
- DialogueEventType
- Types of events produced by the dialogue system.
- Dimensions
- Which scene modes something belongs in — a component, a field, a prefab, a tool. An editor offers it only where it belongs.
- EasingType
- Easing curve selector for DeterministicEffect.
- EngineState
- Where an Engine is in its life.
- EntityTargetKind
- How an EntityTarget picks its entity.
- GroundState2D
- What a character stands on after a move.
- InputActionPhase
- Where an action is in its life.
- JoinBehavior
- How players come into a game.
- JointType
- Enumeration of joint types.
- KeyInterpolation
- How a key reaches the next one.
- Light2DKind
- What kind of light a Light2D is.
- MapOrientation
- The shape and layout of a map's cells — Tiled's four orientations.
- Material2DKind
- What a 2-D material is put on.
- Material2DValue
- What kind of value a Material2DParam holds, and how a file saves it.
- OneWayDirection
- Which side a one-way platform is solid from.
- ParticleBoundaryBehavior
- What happens when a particle hits a BoundaryForce rect.
- PropertyTrackMode
- How a property track's keys are read.
- RebindState
- SceneMode
- How a scene is authored.
- ShapeGradientKind
- Engine-specific gradient descriptor for shape paints.
- SubEmitterTrigger
- When a sub-emitter should be spawned.
- TangentMode
- How an editor keeps a key's two handles in step. The runtime ignores it.
- TileMergeMode
- How a kind's tiles join up into bodies.
- TilePropertyType
- The kinds of value a property can hold — Tiled's.
- TileRenderOrder
- The order Tiled draws an orthogonal layer's tiles in. Kept for export; the engine draws every orientation back to front by screen position.
- TileStaggerAxis
- Which axis a staggered or hexagonal map staggers along.
- TileStaggerIndex
- Whether the odd or the even rows (or columns) are the shifted ones.
- TimelineTriggerAction
- What a TimelineTriggerComponent does to its player.
- TimelineWrap
- What happens when time reaches the end.
- TimelineWrapChoice
- Which wrap a player uses.
- TokenType
- Classifies the role of a single Yarn Spinner source line.
- WangFeatureKind
- What a terrain brush stroke touches: a corner, an edge, or a whole cell.
- WangTemplate
- A standard arrangement of terrain tiles in a tileset image, and the Wang ids that arrangement means.
- WangType
- What a terrain set matches tiles by — Tiled's Wang set types.
Mixins
- AudioRequests
- Play, pause, resume and stop for a component that plays a sound — AudioSourceComponent and AudioStreamComponent.
- LifecycleStateMixin
- Mixin for adding lifecycle state tracking
- ReactiveComponent
- A mixin for components that want built-in change notification.
- SignalSyncMixin
- A system that syncs component changes to signals after processing.
Extensions
- EntityTags on Entity
- Tagging straight from an entity.
- JustMatrix4 on Matrix4
- Engine-side operations on Matrix4.
- ReactiveEntityExtension on Entity
- Extension on Entity to create reactive wrappers.
- ReactiveWorldExtension on World
- Extension on World to create reactive wrappers.
Functions
-
cameraAnglesOf(
Vector3 direction) → (double, double) -
The pitch and yaw that look along
direction. -
cameraForward(
double pitch, double yaw) → Vector3 -
The way a camera with
pitchandyawlooks (unit length): +Z when both are zero. A pitch below zero looks down (+Y is down). -
offload<
M, R> (ComputeCallback< M, R> work, M message) → Future<R> -
Run a pure function
workon a background isolate, passingmessageas input and returning the result. -
offloadUnit<
R> (ComputeCallback< void, R> work) → Future<R> - Variant of offload for functions that take no meaningful input.
-
rebindPlayer(
PlayerInput player, String bindingId, {bool swap = true, KeyboardCaptureHook? keyboardHook, void onStart(RebindingOperation operation)?}) → Future< RebindResult> -
Rebinds one of
player's bindings: listens, keeps the result, saves. -
refreshCoreCodecs(
ComponentDefinitionRegistry registry) → void -
Puts the engine's own definitions in
registryagain as the code now makes them, leaving a project's replacements alone — see ComponentDefinitionRegistry.refresh. For a hot reload; a game never needs it. -
registerCameraSystems(
World world, CameraSystem cameraSystem) → void -
Adds every system the camera needs to
world. Call it from boot, where the game registers its other systems. -
registerCoreCodecs(
ComponentDefinitionRegistry registry) → void -
Registers every component the engine itself defines into
registry, one definition each. The definition is the wire codec: what it encodes is scene format v1, and a v0 file is migrated on load. -
registerDefaultSystems(
World world, Engine engine, {Set< DefaultSystem> include = DefaultSystems.all, GameCamera? camera, List<String> inputMaps = const ['player']}) → void -
Adds the engine's standard systems in
includetoworld— the engine's world, normally, or another world run withengine's subsystems. -
registerLevelMapSystems(
World world, {bool collision = true}) → void -
Adds what level maps need to
world: the system that loads and draws them and the one that builds their collision. Skips any already there, so calling it twice is harmless. -
registerSpriteSystems(
World world, {SpriteAssetLoader? loader, Future< AnimatorGraph> graphLoader(String path)?, Future<TimelineAsset> timelineLoader(String path)?}) → void -
Registers what shows and animates sprites: still sprites, the animator
state machine, clip playback and timelines. A game that
places sprites calls this once at boot; without it a sprite component is
only data. Systems already in
worldare left alone.
Typedefs
- AnimatorBinding = Object? Function(Entity entity)
-
Reads an entity's own state into an animator parameter, every frame.
Returns a
numor abool, or null to leave the parameter alone. -
AnimatorGraphLoader
= Future<
AnimatorGraph> Function(String path) - Loads an animator graph by path.
- ComponentFactory = Component Function()
- A factory function that creates a fresh Component instance.
-
ComponentMigration
= Map<
String, dynamic> Function(Map<String, dynamic> component) -
Rewrites one component's v0 JSON to its v1 shape. Receives the component
map with
typealready read; must return{type, fields}. - DeviceListener = void Function(InputDevice device, DeviceChange change)
-
DialogueCommandHandler
= Future<
void> Function(DialogueCommandContext ctx) -
Handler invoked when a
<<commandName args>>statement is executed. - DialoguePredicate = bool Function(DialogueVariableStore variables)
-
A Dart function used as a named dialogue condition in Yarn
<<if>>blocks. -
DisposeCallback
= FutureOr<
void> Function() - EasingFunction = double Function(double t)
-
An easing curve: normalised progress
t ∈ [0, 1]to eased progress. -
EffectDecoder
= DeterministicEffect Function(Map<
String, dynamic> json, EffectSerializer serializer) -
Reads one effect from its saved form;
serializerreads any effects nested in it. - EntityId = int
- Unique identifier for an entity
-
EntityMigration
= void Function(Map<
String, dynamic> entity, Map<String, dynamic> scene) -
Rewrites one entity in place.
sceneis the whole file, for a migration that has to look at — or add — other entities. -
EventCallback<
T extends GameEvent> = void Function(T event) - Typed callback for event subscriptions.
-
FieldMigration
= void Function(Map<
String, dynamic> fields) -
Rewrites a component's
fieldsmap in place. - FrameCallback = void Function(double deltaTime, double alpha)
-
Called once per rendered frame, after its fixed updates:
deltaTimeis the frame's length in seconds — at most TimeManager.maxDeltaTime, then scaled by the time scale —alphahow far the frame lies between the last two fixed updates (0..1). - FrameTask = void Function(double deltaTime, double alpha)
-
Callback used by the frame scheduler for per-frame tasks:
deltaTimeis the frame's length,alphahow far it lies between the last two fixed updates. - InputActionCallback = void Function(InputAction action)
-
PrefabLoader
= Future<
PrefabFile> Function(String path) - Loads a prefab file by path.
- RawInputListener = void Function(InputControl control, double magnitude)
- Called for every control whose value changes, the moment it changes — before any update, and while the game is paused.
- RenderCallback = void Function()
- Type definition for render callback
- RenderHook = void Function(Canvas canvas, Size size)
- A render callback in screen or world space.
- RenderPassFilter = bool Function(Entity entity)
- Whether an entity should be drawn this frame.
- SpawnFunction = Entity Function(World world, Entity spawnPoint)
- Creates the entity for a spawn point: the player, an enemy wave, a pickup.
- SpriteBatchFactory = SpriteBatchRenderer Function(Image atlas)
- Factory function type for creating SpriteBatchRenderer instances.
-
TerminalCommandHandler
= String? Function(List<
String> args) - Signature for a registered terminal command handler.
-
TextReader
= Future<
String> Function(String path) - Reads a text file by path.
- TimelineAudioPlayer = void Function(TimelineContext context, Entity at, TimelineBlock cue)
-
Makes the sound an audio track's
cueasks for, at entityat. -
TimelineLoader
= Future<
TimelineAsset> Function(String path) - Loads a timeline by path.
-
TimelineTrackReader
= TimelineTrack Function(Map<
String, dynamic> json) - Reads a track of one kind from its saved form.
- TrackBindingKind = EntityTargetKind
- Who a track acts on: EntityTargetKind, by its timeline name.
-
TrackMigration
= Map<
String, dynamic> ? Function(Map<String, dynamic> track) - Rewrites one track of a version-1 timeline for version 2. Returns the track, changed or not, or null to drop it.
- UpdateCallback = void Function(double deltaTime)
- Type definition for update callback
- UpdateTask = void Function(double deltaTime)
- Callback used by the frame scheduler for update tasks.
Exceptions / Errors
- AssetLoadException
- Asset loading exception
- EngineInitException
- Why Engine.initialize failed: the stage that threw, and what it threw.
- EngineNotReadyError
- An engine subsystem was asked for when there is none: before Engine.initialize has built it, or after Engine.dispose.
- UnknownComponentTypeException
- Thrown when a level contains a component no registered codec understands.
- UnsupportedFormatVersionException
- A saved file declares a format version newer than this engine reads.
- YarnParseException
- Thrown when a Yarn Spinner source string cannot be parsed.