flutter3d_game library
What a game on flutter3d adds to an application: the devices it is played with, the run being played, the settings and saves a player keeps, and what a level's simulation moves, drawn.
The one facade of the engine. It re-exports flutter3d; from
flutter3d_app what a first game opens a window with — Flutter3dView,
which opens the device, makes the renderer, runs the loop and owns focus
and the lifecycle, the Flutter3dEngine it hands a game, and
LevelLoader; and, by name, the level, the step loop and its input from
flutter3d_sim, the collision world from flutter3d_physics and the
listener and emitters from flutter3d_audio_core — so a first game takes
two imports, Flutter's material.dart and this, and no hide. No other
package of the engine re-exports another's API to save an import
(tool/structure.dart holds the list). The low level under the view
(opening a device, presenting a frame, SceneSurface, the frame clock)
is flutter3d_app's, for the game that needs it, and is not re-exported
here. Everything else in flutter3d_app, flutter3d_sim and the physics
stays theirs: a file that needs more imports them, and its package
depends on them. The modeller and the lessons use those and never this
one, which is the line this package exists to draw.
- Input that has forgotten which device it came from: DesktopInput,
PadInput and the ActionMap between a device and a
GameAction, with Accommodations and GameSettings beside them. - The run. RunSession loads a level, restarts it, moves to the next, saves and resumes; RunTimeline scrubs and branches what a run has recorded, and registerTimelineExtensions lets a tool attached to a running game ask it to.
- What a player keeps: GameSettings and the GameSettingsController that writes it, Rebinding, and the files SaveFile, SettingsFile and DemoFile.
- What a level's simulation moves, drawn: ActorVisuals and FixtureVisuals, with the look decided by the game through ActorAppearance and FixtureAppearance, and SoundOcclusion for a wall between a listener and a source.
- The walk a level starts with: LevelWalk, a body that collides, jumps and runs, turns where it is dragged and carries a camera at eye height, and registryFor, which accepts every type a level names before a game has taught it any.
What is deliberately not here: widgets. The touch controls, the
settings panel, the credits, the automap and every screen around a game
are flutter3d_game_ui's, which stands on this package; this one names
none of them, so a test or a replaying server that reads the settings and
the run resolves no screen. Nor is there a state-management choice for the
run — RunSession is an ordinary class.
Classes
- AbsolutePixels
- A fixed size, for anything whose extent is its own business — a shadow atlas is the same size whatever the window is doing.
- Accommodations
- What the player has already told the operating system.
- AcousticProperties
- How a material meets sound: what a surface of it absorbs, band by band, and how fast sound crosses it.
- ActionBinding
- One way a device reaches an action.
- ActionDeclaration
- One action a game declares, with what a player is shown for it.
- ActionInput
- Turns what sources are doing into action values, for the bindings of an ActionMap that are not buttons.
- ActionKind
- What kind of value an InputAction carries.
- ActionMap
- The actions a game declares and every device's way to each: a game's controls, as one object a player edits and a file keeps.
- ActionSet
- The actions a game or a genre declares: what a player can ask for, of which kind, in the order a rebinding screen lists them.
- Activated
- It did what it was asked.
- Activation
- Who is switching something on, and what they are carrying.
- ActivationOutcome
- What came of asking a mechanism to do something.
- Actor
-
The handle on one actor's entity: what a collider's
userDataholds, so a hit, a blast or a lift can ask itis Damageableoris Rider. Every field it answers is a component read. - ActorAnimations
- Actors' animation graphs stepped by the simulation — N1: where an animation is part of the game rather than a picture of it.
- ActorAnimationWrite
- What ActorAnimations.write is handed each step for an actor with a graph: the actor, its graph and where it wished to go.
- ActorAppearance
- What a monster is made of, which is the one thing the bridge cannot know.
- ActorClipsContext
- What ActorAppearance.clipsFrom is handed: the actor and what the simulation published of it.
- ActorCorpses
- What becomes of a modelled actor when it dies, in place of its death clip — N1.
- ActorCue
- One actor's direction from step until its next: who, what, and where.
- ActorCueKind
- What a cutscene tells an actor to do.
- ActorDeathContext
- What ActorCorpses.begin is handed, once per death: the actor, its model, and the motion it died in.
- ActorDied
- An actor's health reached zero this step.
- ActorDirector
- Something that takes actors out of their brains' hands for a while — a cutscene's director. See ActorSystem.director.
- ActorDressContext
- What ActorGraphs.dress is handed, once per graph, for the reason ActorMachineContext gives.
- ActorDriveContext
- What ActorGraphs.drive is handed, once a frame per actor, for the reason ActorMachineContext gives.
- ActorGesture
- What ActorStrides.gesture is handed: the actor and the gesture's name.
- ActorGraphs
- A modelled actor animated by a graph rather than by naming clips — N1.
- ActorHurt
- An actor took damage this step and survived it.
- ActorMachineContext
- What ActorGraphs.machineFor is handed: the actor and the clips its model has.
- ActorMarkerPassed
- A marker an actor's animation graph passed in one ActorVisuals.animate: whose it was, in which state, and its name.
- ActorStride
- What ActorStrides.strideOf is handed: the actor, the brain's wish and the step's length.
- ActorStrides
- Where an actor's own animation walks it — the seam root motion comes into the simulation through.
- ActorStridesRestore
- What ActorStrides.restore is handed: what ActorStrides.save wrote, and the actors as the restore left them.
- ActorSystem
- Every actor in a level: spawning them, stepping their brains and bodies towards the foci, counting the hurt and the dead, and saving it all.
- ActorVisuals
- Where the monsters are, and which way they are facing.
- AdaptiveQuality
- Chooses a QualityRow of table each frame.
- AdaptiveQualitySettings
- What the controller aims at, and how cautiously.
- AdaptiveScale
- The scale to draw the next frame at, decided from the ones before it.
- AdaptiveScaleSettings
- How far the resolution may be pulled, and how fast.
- AmbientOcclusionMethod
-
How the occlusion pass finds what hides a point —
L5. - AmbientOcclusionSettings
- Screen-space ambient occlusion.
- AnimationBlend
-
How a layer's pose meets the base's —
gfx-10n. - AnimationBlendSpace
- Clips blended by a parameter — a one-dimensional blend space: a walk at one speed and a run at another, and between them some of each.
- AnimationClip
- A named set of tracks that play together.
- AnimationComparison
- How a CompareCondition measures a number parameter against its value.
- AnimationCondition
- One test a transition makes against the graph's parameters.
- AnimationGoal
- Where a pose's joints are made to reach or to look, after its states and layers have posed it — the IK nodes of N1.
- AnimationGraph
-
Runs an AnimationStateMachine over a set of clips, one fixed step at a
time, into a
Pose— N1's core. - AnimationGraphJson
- An AnimationStateMachine as JSON, and back — the shape a model file keeps its animation graphs in and an agent's tool builds one from.
- AnimationGraphLayer
- A graph of its own over part of a skeleton, laid on another's pose — the layers of N1: a reload over a run, a flinch over a walk, a look over whatever the body is doing.
- AnimationInterpolation
- How a track's values are blended between keyframes.
- AnimationLayer
- A clip played over part of a skeleton, on top of whatever the base is doing.
- AnimationMarker
- A named moment in an animation: at seconds into a clip, or a share of a state's cycle — see where it is held.
- AnimationMarkerPassed
- actor's animation passed marker name in state this step.
- AnimationMask
- The joints one animation layer writes, by node index.
- AnimationParameter
- One named parameter in a graph's schema, with the value it starts at.
- AnimationParameters
- The current values of a graph's parameters, held to its schema.
- AnimationParameterSchema
- The parameters a graph has, by name and type — the only ones a write may name.
- AnimationParameterType
- What kind of value an animation graph parameter holds — N1.
- AnimationPath
- Which node property a track drives.
- AnimationPlayer
- Plays AnimationClips onto animation targets.
- AnimationPointer
- One resolved pointer: property of the indexth object of its kind.
- AnimationPointerProperty
- The property a pointer drives, with the number of floats in one value.
- AnimationPointerSink
- Where a pointer track's sampled value goes.
- AnimationPointerTarget
- The kind of object a pointer lands on.
- AnimationPose
-
A flat, scene-graph-free pose: one hierarchy's local TRS, sampled from a
clip and composed into world and joint matrices without ever touching a
SceneNode —
anim-01's own row. - AnimationState
- A state: which clip plays while the graph is in it, and how.
- AnimationStateMachine
-
The states, transitions and parameters of one animation graph — what a
file stores and an editor edits.
AnimationGraphis what runs it. - AnimationTarget
- What a player can drive.
- AnimationTrack
- One animated property of one node.
- AnimationTransition
- A way out of one state into another.
- AnimationWrap
- How a clip behaves when it runs off its end.
- AntiAliasSettings
-
Edges smoothed on the finished picture —
gfx-04n's own row. - AssetByteRange
- The bytes from start up to end of a file, end not included; to the end of the file when end is null.
- AssetCancel
- A read called off: the signal a reader keeps and a source watches.
- AssetProgress
- How far a read has come: received bytes of total.
- AssetRead
- What a reader asks of one AssetSource.read: progress, a way to stop, and the bytes it wants.
- AssetRequest
- What a resolver is being asked for.
- AssetSource
- Where a model and its sibling files live.
- AssetSources
- Which AssetSource a path names, by its scheme.
- Assimilation
- The place inside the step where outside state meets the model: a twin's Kalman filter, a valve set to what the plant reports, a headset's pose put on the camera rig.
- AssimilationContext
- What an Assimilation is told about the step it runs in.
- AtLeastOne
- There should be at least one of a type, or the level is missing something.
- Atmosphere
- What the air looks like at one moment: the sky behind everything, the fog, the sun and the ambient light.
- AtmosphereCycle
- Atmospheres keyed by time over a repeating period, blended between the keys either side of a time: a day and night cycle.
- AtmosphereKey
- One key of an AtmosphereCycle: the air the cycle shows at a time.
- Attenuation
- How a sound gets quieter with distance.
- AudioBackend
- What actually makes noise.
- AudioBus
- A group of sounds that a player can turn down as one.
- AudioEmitter
- One sound, somewhere, possibly moving: the emitter component of the audio model.
- AudioListener
- Where the ears are.
- AudioScene
- Decides what is heard, and how loudly.
- AutoExposureSettings
- How the frame's own brightness decides its exposure.
- Automap
- The level as the player has seen it, from above.
- Autosave
- When a run is written down without the player asking.
- Avoidance
- How a body picks a velocity that keeps it clear of its neighbours.
- AvoidanceNeighbor
- One body another steers round: where it is, how it moves, how wide it is, all in plan.
- AvoidanceVelocity
- The velocity Avoidance.velocity picks for a body, in plan.
- AxisAction
-
One number in
[-1, 1]the player asks for: how hard to pull a crane's rope up or let it down, how far to turn a wheel. - AxisBinding
- One analogue number on an AxisAction: a trigger, one axis of a stick, a band under a thumb.
- AxisComposite
- Two buttons as one AxisAction: the axis is one while positive is held, minus one while negative is, and nought for both or neither.
- AxisSettings
- How an analogue source is shaped on its way to an action: a dead zone, a sensitivity, and which way is up.
- BakedPoses
- A clip's worth of joint matrices, ready to become a texture.
- BehaviorBrain
- A brain that is a behaviour tree: it ticks tree over the actor's Blackboard and keeps what it heard and when it was hurt on the board.
- BehaviorChildren
- The children of a registered BehaviorComposite, as it may tick them.
- BehaviorComposite
- A composite kind's code: what to do with its children.
- BehaviorCompositeTick
- What a BehaviorComposite.step is handed: the context it ticks in and its children.
- BehaviorContext
- What a leaf may look at while it ticks or acts.
- BehaviorKinds
-
The table from a node's
kindto its code: leaves, considerations and composites, the standard ones and a game's own. - BehaviorLeaf
- One leaf kind's code.
- BehaviorOverlay
- What every actor running a behaviour tree last decided, drawn where it stands.
- BehaviorParameters
- A node's own fields, read with the problems written down rather than thrown, so that a document is checked in one pass.
- BehaviorPathStep
- One node on the running path, for whoever draws or prints it.
- BehaviorsRead
-
A LevelRule a game brings with its own kinds: every tree in
Level.behaviorsreads, and every entity's property names one of them. - BehaviorStatus
- How a node came out of its last tick.
- BehaviorTree
- A behaviour tree read from a document: shared by every actor running it, each keeping its own state on its Blackboard.
- BehaviorTreeRead
- What BehaviorTree.read made of a document: a tree, or why not.
- BehaviorView
- What the overlay may look at outside a step, when there is no mind.
- BindingConflict
- A source that something else already uses, found by a rebind.
- BindingInterpolation
- How a bound node follows its component between two simulation steps.
- BindingLifetime
- When a bound node is made and taken away.
- Bindings
- What each thing on a device does, and the only place that answers it.
- Blackboard
- One actor's memory for its behaviour tree: named JSON-shaped values, its own clock, and where in the tree it was, all saved with it.
- BlendFactor
- One term of a blend equation.
- BlendOperation
- How the two blend terms are combined.
- BlendPoint
- One clip of an AnimationBlendSpace, played where its parameter reads at.
- BlendState
- How a draw is combined with what the attachment already holds.
- BloomSettings
- How much of the frame's light spills into a glow.
- BodyForce
-
A force on a body that depends on the body's state: a spring to a point,
a planet's pull, a field. Added to
Dynamics.forces. - BodyForceContext
- What a BodyForce is asked at: one body at one state of it.
- BodyPose
- Where one body was at one recorded step: what PoseRecorder.record is handed. The vectors are copied, so a caller may pass the body's own.
- BoolCondition
- A boolean parameter being value.
- BoxEmitter
- Anywhere inside a box. Rain over an area, dust in a shaft of light, embers rising off the whole width of a fire rather than out of one point.
- Brain
- What decides for an actor: where to go, what to do when hurt, heard or killed. Every hook has a default that does nothing.
- BrainHurt
- What Brain.onHurt is handed: the actor's mind and how much it was hurt by.
- BrainNoise
- What Brain.onNoise is handed: the actor's mind and where the noise was.
- Breaches
- The holes a run has blown in its level, and the level with them in it.
- Brush
- One axis-aligned block of level geometry.
- BufferDescriptor
-
A general buffer —
GraphicsDevice.createBuffer. - BufferLayout
- One buffer's worth of attributes, and how far apart its elements are.
- BufferTextureLayout
- How texel rows sit in a buffer on either side of a buffer–texture copy.
- BufferUsage
- What a general buffer may be used for, fixed when it is made.
- BugReportTape
- The state a bug report's tape starts from, and everything since.
- BundleAssetSource
- A model in the Flutter asset bundle.
- BundledMaterials
-
The lighting models of the materials a bundle was built from, read off
the sources the bundle carries —
P8. - BusChannel
- The two ways an event reaches its subscribers.
- BusEffect
- Something a mixer bus does to everything routed through it, beyond its volume: a filter, a reverb.
- BusEvent
- Something that happened, published on the engine's bus.
- Button
- A panel on a wall that fires its target when the player presses use.
- ButtonBinding
- A button held or not: a key, a mouse button, a pad button.
- ButtonKind
- Kinds built on a trigger collider: a button, a trigger volume and an exit. Grouped because all three place a ColliderKind.trigger and drive a Signal or Exit from it, rather than a kinematic body.
- ButtonPair
- Two buttons an older tape recorded an axis as: the axis is the positive one's value less the negative one's.
- CameraBlend
- How the view gets from one virtual camera to the next.
- CameraFraming
- Where a virtual camera wants to be this frame.
- CameraKey
- One camera key: where the eye is, what it looks at, how wide it sees — the vertical field of view in degrees, forty-five unless the document says, which is the engine's own lens, so a cutscene that names none cuts to it without the picture changing size.
- CameraNode
- A camera placed in the scene graph.
- CameraRig
- The part of a chasing camera that every chasing camera has.
- CameraShot
- What a camera shows this frame: where it is, what it looks at, and how wide.
- CameraView
- One camera drawing into one target, as an object that lives across frames — item 26 of the 1.0 scope.
- CameraViewSettings
- The settings of one CameraView that are not its camera, target or rectangle — the object its growing parameters go into, so that adding one in a minor release changes no constructor.
- CanvasSize
- How big the frames a view draws are, in device pixels — and with them the canvas a browser shows them in: the layout's size times the pixel ratio (CanvasSize.layout, the default), or a size the application fixes (CanvasSize.fixed).
- Capability
-
Something a device, a backend or a platform may or may not do, by a
stable name: a graphics device's
DeviceFeature, a renderer's or a platform's own. - CapsuleShape
- Capsule: a cylinder of height closed by two hemispheres of radius.
- CapturedImage
- One resource as one pass left it.
- CapturedPass
- One pass of a captured frame.
- CaptureThumbnail
-
A small copy of a CapturedImage —
A5.23: what a capture file keeps of an image when it does not keep the image. - CatchUp
- What the loop does when a frame brings more time than it may step.
- CatmullRom
- A smooth curve through a list of control points, measured in metres.
- CellGrid
- columns by rows cells, each there or gone: a Space Invaders shield, a wall of bricks, a field of crops.
- ChangedBounds
- Where a difference lives in the frame, in pixels.
- CharacterController
- Moves a box through a CollisionWorld the way a player expects.
- CharacterMove
- What CharacterMover.move is handed: move body from where it is by delta, sliding along what it meets and taking the speed into it out of the body's velocity; standing on ground whose normal's height is at least walkableNormalY; and, when mayStep — it stood on ground — climbing up to stepHeight where that gets further than sliding does.
- CharacterMoved
- Where a character's move ended, and what it met on the way.
- CharacterMover
- The geometry of a character's step, done elsewhere — P9: the physics core moves a world's characters through what it mirrors of that world.
- CharacterPush
- What RigidDynamics.push is handed: who is walking, how fast, and how hard.
- ChaseFraming
- Behind where a subject is going, looking a little way up the road, and wider the faster it goes.
- CheckedModelWriter
-
A writer whose files this package can also read, so a write can be checked
by reading it back — what
exportCheckeddoes. - CheckerboardTexture
- Two-tone checkerboard.
- ClearColor
- What a colour attachment is cleared to: four channels of one kind.
- ClearColorKind
- Which kind of target a ClearColor is for.
- ClipAxis
- One axis of a TemporalClip's slabs: a unit direction in the weighted YCoCg colour space the temporal resolve clips in.
- ClipDistances
- A near and a far clip plane, as distances from the camera: what OrbitController.suggestedDepthRange answers.
- ClothMesh
- A grid of particles and the constraints between them, as flat arrays — the shape every hot loop in this package walks without an allocation.
- ClothObstacle
- One CollisionShape, positioned, for a cloth to push itself out of.
- ClothSettings
- How a ClothMesh moves, as values rather than as solver internals.
- ClothSimulation
-
A ClothMesh stepped by a world's physics:
backend.cloth(mesh), the core where the run is on it andstepClothwhere it is on the reference. - ClothStep
- What ClothSimulation.step is handed: the settings, the step's length in seconds and the obstacles where they stand now.
- CloudDocument
- A copy is kept there: its document and the version the store gave it.
- CloudEmpty
- Nothing is kept there yet.
- CloudFetch
- What CloudSaveStore.fetch found.
- CloudFetchRequest
- What CloudSaveStore.fetch is handed.
- CloudMoved
- Another device wrote since the version a write meant to replace.
- CloudProvider
- A platform service a player is already signed in to.
- CloudPut
- What CloudSaveStore.put did.
- CloudPutRequest
- What CloudSaveStore.put is handed.
- CloudSaveStore
-
Implementable outside this package, as a base class: a member added in
a minor release arrives with a default body, so a store written against
1.0 keeps compiling —
extends CloudSaveStore, notimplements. - CloudStored
- The write was kept, and the version the store gave the new copy.
- The store could not be reached, or would not do it, and why.
- ClusteredIndices
- A mesh's cluster table and the indices it cuts into runs, on the CPU — what DrawableGeometry.clusters hands the culling pass.
- CodeReplay
-
What
RunTimeline.replayUnderNewCodedid. - Collider
- A shape, somewhere, that takes part in collision.
- ColliderKind
- How a collider takes part in the world.
- CollisionBox
- An axis-aligned box: level geometry, and the player.
- CollisionCapsule
-
An upright capsule: a segment of length
2 * halfHeightwith radius around it. - CollisionContext
- What a CollisionListener is told: its own collider and the one it met.
- CollisionHeightfield
- Ground as a grid of sampled heights: the fifth shape, and the first one that is not convex.
- CollisionLayers
- What each collision bit means in a game of this shape.
- CollisionListener
- Told when colliders begin, continue and stop overlapping.
- CollisionShape
- A collision volume, positioned by whatever owns it.
- CollisionSphere
- A sphere: pickups, projectiles, blast radii.
- CollisionWedge
- A box with one edge cut away: a ramp.
- CollisionWorld
- Everything in the level that can be collided with, and the queries over it.
- ColorConfusion
- Two named colours that someone missing a cone runs together: one pair ColorVision.confusions answers.
- ColorHint
- A colour of channels components — three for a tint, four when the fourth is opacity.
- ColorRole
- A colour that means something: what it is for, what the panel calls it, and what it is until the player says otherwise.
- ColorRoles
- The colours a game gives meanings to, and the ones a player has chosen in their place.
- ColorTarget
- One colour attachment of a pass.
- ColorVision
- A colour transform for colour vision: how the picture looks to someone with a deficiency, or the picture moved so that they tell apart what it would otherwise run together.
- ColorVisionDeficiency
- A kind of colour blindness: which cone is missing.
- ColorVisionLook
- The look a frame is drawn with for the player's colour vision.
- ColorWriteMask
- Which channels of a colour attachment a draw may change.
- CompareCondition
- A float or integer parameter against a number.
- CompiledExpression
- An Expression ready to evaluate.
- CompiledFrameGraph
- The result: the nodes to run, in order, what was dropped, and how long each resource has to stay alive.
-
ComponentCodec<
T extends Object> - How one component type is written down, and read back.
- ComponentDecodeContext
- What ComponentCodec.decode is handed: a row's data and the version it was written at.
- ComponentInfo
- One registered component type, as a tool lists it.
- ComponentRegistry
- The component types a world knows how to write, and which of them the view may read.
-
ComponentRestoreContext<
T extends Object> - What InPlaceCodec.restoreInto is handed: the component already there, the row to write into it, and the version the row was written at.
- CompositePart
- Which part of a composite binding a source drives.
- ComputeContext
- What a ComputeStep records its work with: where it was placed, its kernels' stages there, and the frame it is part of.
- ComputeEncoder
- Records one compute pass: bindings, then dispatches, then submit.
- ComputeNodePlacement
- Where the frame's placer put a node's ComputePlacementRequest: the site its work is encoded on and each kernel's stage there.
- ComputePipelineDescriptor
-
A compute stage and a name: everything
GraphicsDevice.createComputePipelineFrombuilds. - ComputePipelineHandle
- A compiled compute stage, ready to dispatch.
- ComputePlacementRequest
-
What a node that is not a ComputeStep asks with
FrameGraphBuilder.placeto have compute of its own: kernels loaded where the hardware layer puts them (FrameCompute.place), and the answer handed to it asRenderFrame.placement, a ComputeNodePlacement. - ComputePrepareContext
- What a ComputeStep is told when it is placed (ComputeStep.prepare): one object that can gain members — the resources a device keeps for it, what a device lost and found again asks of it — rather than the device alone, which is the hardware interface's to grow.
- ComputeRefusalReason
- Why a compute step could not be placed.
- ComputeSite
- Where one piece of a frame's compute runs, as the hardware layer chose it: the device its work is encoded on — since 1.0.0-rc.1.
- ComputeStep
- A compute pass in the frame graph, run where prepare placed it.
- ConeEmitter
- A cone around a direction. Muzzle flashes, sparks off a wall, blood.
- ConeShape
- Cone with the apex at +Y: a cylinder whose top radius is zero.
- Confidence
- How a value was come by: measured, read from a handbook, or estimated.
- ConflictPolicy
- What to do when a rebind meets a source already in use.
- Consents
- The two things a game asks before anything of the player's leaves the device: may their run be kept in the cloud, and may the runs they play be sent to see where levels are hard.
- ConstantLaw
- A value the same at every state: the catalogue's number with nothing known of how it changes.
- ConstitutiveModel
- A constitutive model of how a material gives way past the elastic: its model's name and its parameters, as the paper that fitted it gives them.
- ContactEvent
-
Two bodies met, are still meeting, or parted, in a step: a
StepContact of the step's dynamics (
RigidDynamics.contacts), on the bus. - ContactPhase
- What became of a contact since the step before: it begins, it persists, or it ends.
- ContactProperties
- What two bodies meeting do: what a solver reads at a contact, and how far to trust it.
- ContactShadowSettings
-
Contact shadows: a short march toward the light, in screen space —
gfx-76n. - ContributorBoundsContext
- What a PassContributor is told when the frame asks where it will draw (PassContributor.boundsFor): one object that can gain members rather than the application's CameraView, which a contributor has no say in.
- ContributorFrame
- Everything something drawing into someone else's pass is given.
- ContributorLights
-
The scene's lights, bound to a contributor's own stage —
N6. - CpuMesh
- A mesh that lives only on the CPU.
- CrashContext
- What a CrashReporter is told: the error, where it was thrown, and the record the log kept of it.
- CropProjection
-
Any rectangle of a larger virtual frame —
N8's photo capture. - CubeLut
-
A parsed
.cubefile. - CuboidShape
- Axis-aligned box centred on the origin.
- CullMode
- Which faces the rasteriser discards.
- CurveKey
- One point on a ParticleCurve.
- CustomShape
- A convex collision volume described by its support function: the short way to a shape a game or a plugin adds of its own.
- Cutscene
- A cutscene waiting in a level to be played.
- CutsceneKind
-
A cutscene in a level: an entity with its Sequence document in its
sequenceproperty, played when something it is the target of fires. - CylinderShape
- Cylinder or truncated cone, centred on the origin, axis along Y.
- Damage
- What Damageable.applyDamage is handed: how much, and who dealt it.
- Damageable
- Something a rocket can hurt.
- DartCloth
-
The reference:
stepClothon mesh, nothing held besides. - DartFluid
- The reference: each solver in Dart, in double precision, as the pieces stepped themselves before there was a core to step them.
- DartPhysics
- The reference: everything in Dart, on every platform, from the first line. What a world is made with unless it is given another.
- DataSection
-
One named top-level section of a
.f3dplugindocument, read and installed by the subsystem that owns what the section declares. - DataSectionContext
- What a DataSection is told about the plugin it is reading or installing.
- DataSectionInstall
- What DataSection.install is handed, for the reason DataSectionRead gives.
- DataSectionLoad
- What DataSection.load is handed, for the reason DataSectionRead gives.
- DataSectionRead
- What DataSection.read is handed.
- DataSectionRegistry
- The sections a data plugin may have beyond the runtime's own, each read by the subsystem that registered it.
- DataSourceTrace
-
What every
edu_data_sourcea run read gave, one fixed step at a time —edu-00§9's "значение из источника... становится вводом для этого шага ленты", written down the same way InputTape writes down a controller: dense, one entry per step, so a replay reads the exact value a run saw rather than a value recomputed from a clock that has since moved on. - DebugColors
- Colours used by the built-in overlays, so a screenshot is readable without a legend.
- DebugDraw
- Accumulates debug line segments into one reusable interleaved buffer.
- DebugDrawSettings
- Which debug overlays to build for a frame.
- DebugView
-
What a debug view shows in place of the light —
P6. - DebugViewKind
- What kind of question a DebugView answers, for a tool that lists them in groups.
- DebugViewSettings
-
A channel shown in place of the light, over all or part of the frame —
P6— and a second one beside it —A5.22. - DebugWipeSide
-
Which side of a two-channel wipe something is drawn on —
A5.22. - DecalNode
-
A picture projected onto whatever geometry stands inside a box —
P3. - DecalSettings
-
P3's projected decals: every visibleDecalNodein the scene painted onto the geometry inside its box. - DecodedImage
-
A PNG decoded down to plain RGBA8 — top row first, four bytes a pixel,
width * height * 4bytes long. - DecoderRegistry
- Model and material decoders, and the schemes a path names a source by: the slot a plugin that reads a format fills.
- Decoders
-
ModelDecoders with material decoders beside the model ones: the
DecoderRegistryan application that draws hands the plugin host. -
Delivered<
T extends BusEvent> - One event as a subscriber receives it.
- Demo
- A run, as a file somebody can send: where it started and what they did.
- DemoFile
- Where the last run is kept as what the player did.
- DemoFound
- The document held a run this build plays.
- DemoLevelSwap
- One level put under a recorded run: level took effect before step step of the tape, that is, after step of its frames had been played.
- DemoNotRead
- The document is not a run this build can use, and why.
- DemoRead
- What DemoFile.read made of a demo that is kept.
- DemoRecording
-
A Demo being written while the run is played: the tape, the
checkpoints, and
HR3's levels swapped in under it. - DemoReplay
- What replayDemoOnLoop found.
- DepthBias
- A depth offset applied to the draws that follow — what keeps a shadow caster from shadowing itself.
- DepthMoments
- The two moments a probe of an IrradianceField keeps of the distance to what it sees in one direction: what IrradianceField.readDepth answers.
- DepthOfFieldSettings
-
Depth of field, from a lens rather than from a ramp —
gfx-34n. - DepthRange
- What a backend's clip space maps depth onto.
- DepthTarget
- The depth and stencil attachment of a pass.
- DerivedShape
- A shape defined by delegating to another one.
- DesktopInput
- Feeds an InputState from a keyboard and a captured mouse.
- DeterminismCheck
- Steps each step twice from a snapshot, in a debug build, and names the system that made the two runs differ.
- DeviceClass
- A kind of device a build writes its own assets for.
- DeviceClassMemory
- Where the chosen class is kept between launches.
- DeviceClassPicker
- The class this device reads its assets as: picked once, remembered, and overridable by the player.
- DeviceClassSelector
- Which class a device is, from its DeviceTraits and one measurement.
- DeviceError
-
A refusal the device heard after the call that caused it, and survived —
GraphicsDevice.errors, since 1.0.0-rc.1. - DeviceErrorKind
- The kinds of DeviceError: WebGPU's three error types, and a stage the compiler refused. An open set: a backend may report a kind a later minor names.
- DeviceFeature
- One optional capability of a device.
- DeviceFeatures
- The features one device has: a set that answers has, and that can say what it refuses in words a caller can act on.
- DeviceLimits
- How much of everything a device has: sizes, counts and alignments.
- DeviceLoss
-
Why a device stopped working —
GraphicsDevice.lost. - DeviceLossReason
- The reasons a DeviceLoss can give. An open set: a backend may report a reason a later minor names.
- DeviceLostEvent
-
What
DeviceSettings.onDeviceLostis told: the engine whose device stopped working, and the loss. - DeviceMesh
- A MeshData that has been uploaded to a device.
- DeviceRecreation
- What one DeviceResources.recreate did: how many resources it made again, and the ones whose recipe threw, with what they threw.
- DeviceRecreationFailure
- A resource DeviceResources.recreate could not make again.
-
DeviceRegistry<
P extends Object> -
The backends one engine may open, in the order it tries them, and the
presenters of type
Pthat show their frames. - DeviceRequest
- What an application asks of the device it opens — since 1.0.0-rc.1.
-
DeviceResource<
T extends Object> - One resource made on a device, and how to make it again.
- DeviceResources
- The resources made on one device, each with its recipe.
- DeviceSettings
-
The device a
Flutter3dViewdraws with: one to borrow or where to open one, what shows its frames, and what is done when it is lost. - DeviceTraits
- What a device says about itself that bears on its class.
- DidNotStart
- The screen an application shows when it could not open a renderer.
- Difficulty
- How hard a game is being, as numbers a genre applies where it decides.
- DiffuseModel
-
The diffuse lobe of the metal-rough models,
pbrandpbrLayered—L8. - DigestTrace
- The digest of a running simulation, taken every so many steps.
- Dimension
- What a Unit measures: an exponent for each base dimension.
- DiscShape
- Flat annulus in the XZ plane facing +Y. An innerRadius of 0 gives a disc.
- DisplayTime
- The time a headset's runtime says each frame will be shown at: what a frame of an XR session hands the loop.
- DisplayTransform
-
A display transform read in place of the tone curve —
L2. - Divergence
- Where two runs of the same tape parted company.
- DocumentAsset
- What the source file said about itself, as opposed to what it contains: the tool that wrote it, and who made it and on what terms.
- DocumentDifference
- One thing a round trip did not preserve.
- Door
- Opens when somebody asks, waits, and closes itself.
- DoorKind
-
Kinds that move a kinematic body along a fixed offset: a door, a lift and a
platform. Grouped together because they share one mechanism —
EntityKind.requireTravel, a kinematic collider and a
speed/waitpair — and differ only in which Mover they hand it to. - DracoAttribute
- One decoded attribute.
- DracoAttributeType
-
Draco's
GeometryAttribute::Type. - DracoMesh
- What a decoded primitive carries.
- DragLook
- Looking around by dragging, where there is no pointer to lock.
- DrawableGeometry
- A mesh that has reached the device and can therefore be drawn.
- DrawJournal
- Collects DrawRecords while one frame runs.
- DrawListContext
- What a DrawListHook is asked about one mesh of one view.
- DrawListHook
- A plugin's say in a view's draw list (D22b): which meshes it keeps, and the order they are drawn in.
- DrawnPart
- A mesh node an instance draws, with the part of the asset it was built from.
- DrawnView
- A view a frame drew, with the view-projection it drew through: what FrameHistory.endFrame records for each view.
- DrawRecord
- One draw, as the encoder saw it.
- DriftEmitter
- Straight up, slowly. Smoke and dust.
- DualAxisAction
- Two numbers the player asks for together: a direction to walk, a view to turn.
- DualAxisBinding
- A pair of analogue numbers on a DualAxisAction: a whole stick, or the mouse's motion for a delta action such as DualAxisAction.look.
- DualAxisComposite
-
Four buttons as one DualAxisAction —
WASDas a direction, never longer than one, so a diagonal is no faster than straight ahead. - DualAxisValue
- A DualAxisAction's pair in one InputFrame, as InputFrame.dualAxes holds it.
- DuckRule
- One bus turned down while another is heard: the music under a line of dialogue, the ambience under an explosion.
- Dynamics
- The reference RigidDynamics: sequential impulses in Dart doubles.
- DynamicsRequest
- What PhysicsBackend.dynamics is handed.
- EcsWorld
- The simulation's world. See the library doc.
- EdgeSmoothing
-
How AntiAliasSettings finds and smooths an edge —
P1. - EffectiveAntiAliasing
-
What smoothed the edges of a frame, as opposed to what was asked for —
gfx-20n. - ElectricalProperties
- How a material carries a current.
- EncodedImage
- An image still in its source encoding (PNG, JPEG, …).
- EngineFrame
-
What Flutter3dView.onFrame, Flutter3dView.onBeforeFrame and their
Scene3Dtwins are told each frame: the engine that drew it and the frame. - EngineLog
- An engine's log: what the engine says about itself, by level, to whoever listens, and the errors nothing caught, to a crash reporter.
- EngineLoop
- The engine's frame: input, the fixed steps phase by phase, the post-step, then the frame's phases — animate, audio, camera, render, ui.
- EntityCheck
- What EntityKind.validate is handed: the entity, the level around it, and the list its problems go in.
- EntityComponent
- One component of one entity, named as an EntityLayout names them.
- EntityDef
- Anything in the level that is not geometry: a spawn, a monster, a pickup, a door, a trigger, a note on the wall.
- EntityKind
- Everything one kind of level entity knows about itself.
- EntityKindRegistry
-
The entities a level may name: the slot EntityKinds fills, whose
registry()is theEntityRegistrya level is validated and spawned against. - EntityKinds
- The entity kinds one engine knows, filled by the plugins installed in it: the level format's half of the plugin host.
- EntityLayout
- Where in a snapshot the entities are, and what their components are called.
- EntityRegistry
- The kinds a build knows about, by name.
- EntitySpawn
- What EntityKind.spawn is handed: the entity and what it is brought into the world with.
- EntityTracks
- What every entity's components did over a run, one lane of TrackSamples per component.
- EntityTypes
- The names a level document uses.
- EnumHint
- One of values, and nothing else.
- EnumHintValue
- One choice in an EnumHint: what is written into the file, and what a person reads in the list.
- EnvironmentCube
-
A prefiltered environment cube as EnvironmentMap builds it: the
texture, whose mip levels hold the environment convolved by
roughness, and how many levels it has, which
SkySettings's and a material's environment slots want beside it. - EnvironmentDepth
- How far away the real world is, from one view, as an AR runtime measures it: width × height distances in meters, row-major from the top left, for the view at view.
- EnvironmentDepthNode
- The node that puts the real world's depth in the frame, as a texture under id that a node occluding virtual things with real ones reads.
- EnvironmentMap
- Builds the cube a surface reflects: one environment, convolved by roughness.
- EqualPowerPanner
- Distance attenuation, occlusion and an equal-power stereo pan: the audio model's spatialisation today.
- EventBus
- The engine's event bus: typed, with a step channel and a frame channel.
-
EventCodec<
T extends BusEvent> - How one event type is written down and read back: for a digest, a run file's event trace, a network message, a tool that reads events without playing.
- EventDeclaration
- An event type, declared so tools can list what a game says.
- EventDecodeContext
- What EventCodec.decode is handed: an event's data and the version it was written at.
- EventDigestSink
- Where an event writes its identifying fields. Made by the engine.
- EventDivergence
- The first step at which two runs' events differed.
- EventRegistry
- The event bus as plugins see it.
- EventTrace
- The digest of each step's events, kept while a run is recorded.
- ExactlyOne
- There must be exactly this many of a type, no more and no fewer.
- Exit
- A way out of the level: reached when a body walks into its trigger or a mechanism switches it on, unless it wants a key the body lacks.
- ExitKind
-
The way out: a volume only the player sets off, 1.5 by 2.5 by 1.5
metres unless sized, leading to
nextand locked by an optionalkey. - ExitReachable
- A level whose exit no walk from the player's start reaches is refused: the navigation mesh is baked, and a route asked of it from the start to each exit until one arrives.
- ExponentialRolloff
-
(d / reference) ^ -factor. Steep near the source, long tail after. - ExportReport
- One write, read back and checked against what went in.
- ExposureAdapter
- The exposure as it stands, and where it is going.
- ExposureMeter
-
The other end of
luminance.frag's encoding, and the arithmetic that turns a texture of stops into one exposure. - Expression
- An expression, typed by the parser rather than by whoever reads it later.
- ExpressionBinary
-
A binary operator:
+ - * /with GLSL's broadcasting (a float beside a vector spreads), the comparisons< <= > >= == !=of two numbers of one dimension, and&&and||of two truth values. - ExpressionBuiltin
- A function the language knows: its name, its arity, how it is computed (apply) and what its result measures (dimension).
- ExpressionCall
- A call to an ExpressionBuiltin.
- ExpressionConditional
-
condition ? then : otherwise: one of two values of one type, by a truth value. Only the chosen one is computed. - ExpressionConstant
-
A literal, in coherent SI units, and the one place a
vec3(1.0, 0.0, 0.0)that is entirely constant ends up: the parser folds a constructor, a swizzle and a negation whose operands are all literals. - ExpressionConstruct
-
vec3(...),vec4(...)and the rest, with arguments that are not all constant. - ExpressionNegate
- Unary minus.
- ExpressionNot
-
!, the negation of a truth value. - ExpressionScope
- What the names in a source mean: the variables the host binds, the builtins it may call and the units it may write.
- ExpressionSwizzle
-
.x,.rgb,.xy— component indices into the target. - ExpressionType
- The type of a value in the expression language: its name, how many numbers it has (components) and the dimension they measure.
- ExpressionVariable
- A name the host binds: a temperature, a body's speed, a material's input. Its value arrives with each evaluation.
-
ExpressionVisitor<
R> - Something that reads every kind of Expression: a translator, an evaluator, a check.
- ExternalIdSpace
- The spaces of ids other systems know a substance by (PhysicalMaterial.externalIds), by their names as a material's document writes them.
- ExternalStateInput
- One piece of state that arrived from outside the simulation for one step: a temperature from a plant's sensor, a valve's position from a log, a headset's pose.
- F3dDecoder
-
.f3dthrough the same ModelDecoder boundary an application's own formats come through, so every built-in reader is one: seebuiltInModelDecoder. - F3dDocument
-
A
.f3dfile, read as a ModelDocument. - F3dExtraSection
-
A section of a
.f3das its directory describes it: what F3dDocument.section reads back, and what F3dWriter writes beside the engine's own. - F3dModelWriter
-
.f3d, the engine's own container. - F3dSectionFlags
- The bits of a directory entry's flags word (version 2 and up).
- F3dWriter
-
Serializes any ModelDocument into the
.f3dcontainer. - FabrikIk
-
FABRIK — Forward And Backward Reaching Inverse Kinematics — for a chain
of any length,
anim-14's other row. - Facing
- Which way it faces, how fast it comes round, and where its eye sits.
- FadeKey
- One fade key: how dark the screen is at a step, nought clear and one black.
- FbxDecoder
-
A
ModelDecoderfor Autodesk's FBX — the skeleton this package's ownpubspec.yamldescribes: recognises the format, and says plainly that reading one is not built here yet. - FeatureStability
- Whether a DeviceFeature has calls behind it yet.
- FieldAccess
- One step that writes or reads a field: which side of the engine it is on and its name there.
- FieldCoordinate
-
A point in a field's grid, in cells:
(0, 0, 0)is the middle of the first cell,(1.5, 0, 0)halfway between the second and the third. - FieldDeclaration
- One field: a 3D grid of a quantity shared by the simulation, the frame and audio, and everything a reader needs to know about it before it reads a value.
- FieldGrid
- How many cells a field has along each axis, and how many values each cell holds.
- FieldPass
- Two targets, a current one, and the kernels that step between them.
- FieldRefusal
- Why a field was refused a residence.
- FieldRegistry
-
The fields one engine has, declared by the application and its plugins:
host.registry<FieldRegistry>(). - FieldResidence
- Where a field's values are held.
- FieldSide
- Which part of the engine a step that touches a field belongs to.
- FieldStorage
- Where one field's values are held right now: host memory here, a device's buffer or 3D texture in the renderer's core.
- FieldTransform
- Where a field's grid stands in the world: the middle of its first cell and the size of a cell, axis-aligned with the world.
- FieldUpload
- The node that puts a host field on a device every frame, in residence: a buffer on a compute device, or a 3D texture on the device that draws.
- FileAssetSource
- A model on the filesystem. Unavailable on web, which is why it is a separate source rather than a flag.
- FileStorage
- Documents kept as files, one per name, in a directory this platform owns.
- FirstPersonFraming
- Out of a head: the eye where the game says, looking where it says.
- Fixture
- A piece of level geometry that an entity brought with it.
- FixtureAppearance
- The half of a fixture's look that only the game can know.
- FixtureRefreshContext
- What FixtureAppearance.refresh is handed: the fixture and the material it is drawn with.
- FixtureVisuals
- What the doors, lifts, platforms, buttons, keys and lights look like.
- FlameFlicker
- Fire.
- Flipbook
- A grid of frames, played across a particle's life.
- FlipbookCell
- One cell of the sheet, in texture space.
- FloatPush
- Floating bodies for FluidSolver.pushBodies: each push, in order, lifts a body by the weight of the liquid it displaces for dt and slows it by the drag of the part of it under, implicitly, with White's sphere coefficient at the Reynolds number of the sphere of its frontal area.
- FlowField
- The distance to the goal from everywhere, and which way is downhill.
- FluidMedium
- A liquid, by the properties that decide how it moves: how heavy it is, how thick, how strongly its surface pulls, and how it meets a wall.
- FluidProperties
- How a liquid or a gas flows: its viscosity, its surface's pull and how hard it is to squeeze. Its density is its MechanicalProperties.density.
- FluidSolver
-
The parts of a
FluidWorldthat are stepped through time, from the run's physics: a backend'sfluid, the core where the run is on it and DartFluid where it is on the reference. - Flutter3dEngine
- What a Flutter3dView made, handed to Flutter3dView.onCreated once the device is open: the scene to fill, the camera, the loop to add systems and plugins to, and the renderer's single extension point.
- Flutter3dPlugin
- One plugin: a manifest, and what it registers when installed.
- Flutter3dView
-
An engine as a widget: it opens a device, makes a renderer, runs an
EngineLoop with the plugins of plugins, draws scene through a
CameraView, and owns focus, input, lifecycle and teardown — item 25 of
the 1.0 scope.
SceneSurfacestays as the low level it is built on, andScene3Dis sugar over this widget for a scene written as widgets. - Flutter3dViewFailure
-
Why a
Flutter3dViewshows its failure instead of a picture: whatViewSettings.errorBuilderis handed. - FocusPoint
- One of the things ActorSystem.step is told everything pays attention to: where it is, and the body it belongs to, if any.
- FogSettings
- Distance fog, and fog that lies on the ground.
- FollowFraming
- A camera that keeps a fixed offset from a subject: follow and look at it.
- FootLeg
-
One leg FootPlantGoal stands on the ground: root → mid → tip,
hip, knee and ankle, bent by
TwoBoneIktowards pole. - FootPlantGoal
- The feet put on the ground the game says is under them: a stair, a slope, a rubble heap the clip was not made on.
- FormatDocument
- A document read through a FormatSpec, which keeps every top-level key its reader did not take.
- FormatRegistry
- The formats an engine reads and writes, by id, suffix and first bytes.
- FormatSpec
- What one format is: its id, its suffixes, the version this build writes, the chain that lifts older documents, and where the fixtures that prove each version still reads are kept.
- FormulaLaw
-
A value given by a formula of the engine's expression language, over the
state's quantities by the symbols inputs binds:
T, the temperature in K, andp, the pressure in Pa, unless it says otherwise. - FrameCadence
-
Which display refreshes a frame is drawn on, so that a capped frame rate
is an even one —
A1.5. - FrameCapture
- A whole frame, pass by pass.
- FrameContext
- What every node and contributor is told about the frame it is drawing in: the view, its matrices and jitter, the clock, and the device.
- FrameDemand
-
When a
Flutter3dViewdraws a frame: on every display refresh (FrameDemand.continuous), or when one is asked for (FrameDemand.onRequest). - FrameDrawn
- A frame was drawn: RenderListener.onDrawn, on the bus. About the picture, never the run.
- FramedTarget
- One subject of a GroupFraming: where it is, how big, and how much it counts.
- FrameFraction
- A fraction of the frame: full size at one, half at two.
- FrameGraph
- Collects nodes, then works out the frame.
- FrameGraphBuilder
- What a node is handed in FrameGraphNode.setup: where it says what it reads, writes, keeps and makes.
- FrameGraphNode
- A pass, and the only thing an extension has to implement to become one.
- FrameGraphPassSnapshot
- One pass that ran, as a FrameGraphSnapshot holds it.
- FrameGraphSnapshot
- A compiled frame graph written down: every pass that ran, in order, with the version of each resource it read and wrote; every pass that did not, with why and what it declared; and what the frame was asked for.
- FrameHeld
- A frame was held rather than drawn, the GPU being behind: RenderListener.onHeld, on the bus. Nothing in the digest, since whether the GPU fell behind is the machine's, not the run's.
- FrameHistory
- What each view's previous frame looked like: every moving mesh's world matrix, joint palette, morph weights and instance bytes, and the view's unjittered view-projection, kept while tracking is on.
- FrameInfo
-
What a frame callback is told about one frame:
SceneSurface.onFrame,Scene3D.onFrame, and Flutter3dView.onBeforeFrame and Flutter3dView.onFrame beside their engine. - FrameOverTime
- A frame took longer than its budget on the CPU: RenderListener.onOverTime, on the bus.
- FramePacing
- The renderer's pacing: frames in flight, holding a frame when the GPU is behind, and the threshold above which a pipeline build is a stall.
- FramePass
-
What one node of the frame graph cost —
gfx-01n's own row. - FramePassSkipped
- A pass did not run, with why: RenderListener.onSkipped, on the bus.
- FramePipelineRefused
- A pipeline the device would not build, its draws skipped: RenderListener.onRefused, on the bus.
- FramePipelineStall
-
A pipeline build over the stall threshold:
RenderListener.onStalled, on the frame channel of the bus. - FramePlacementContext
- What a FramePlacer is asked about one node.
- FramePlacer
- Picks where each node that asked to be placed runs, once per compile.
- FrameResourceIds
- Everything the frame produces or hands around.
- FrameResources
- The textures a frame's nodes read and write, acquired late and released early.
- FrameResourceUse
- What one resource of the frame graph stood on this frame: the texture a version of it held last, and how many versions the frame made of it.
- FrameResult
- One rendered frame.
- FrameSpan
- What TimeSource.elapsed is handed: the vsync timestamps of the frame drawn last and of the one about to be.
- FrameTextureSource
- Where a frame's textures come from, and where they go back to.
- FrameView
- One view of a frame: a monitor's camera, one eye of a stereo pair, one eye a headset's runtime hands over.
- FrameWindow
- Where a render target sits in a larger frame: the frame is width × height pixels, and the target's top-left pixel is the frame's pixel (left, top). See CameraViewSettings.window.
- FrameWorkBudget
- How long a frame may spend on work that can be spread over frames. Irradiance probe updates and point-shadow faces ask it today; anything else a frame can put off is meant to ask it the same way.
- FramingStep
- What CameraFraming.frame is handed: the shot to write and how long since the last frame.
- FreeLook
- Looking around from where the camera stands, and walking it there.
- FreeSurface
- The waves on a liquid's free surface in a vessel of any shape: how far the surface stands off the plane it settles to, and how that moves.
- FullscreenDraw
- One full-screen pass, described rather than assembled.
- FullscreenEffect
- One full-screen shader over the picture, as a graph node.
- GameAction
- Something the player can ask for, named by intent rather than by device.
- GameCloud
- A game's questions and what answering yes turns on, from one server: Consents, the SaveSync its cloud question governs, and the TelemetryUploader its other question does.
- GameEvent
- Something a step did, told to whoever is watching.
- GameOrder
- One verb an OrderedGame takes: what it does, and the numbers it reads.
- GamepadAxis
-
Something on a pad that has a magnitude: a stick's two axes in
[-1, 1], Y positive downwards as a screen counts, and a trigger in[0, 1]. - GamepadButton
- One button on a pad, by the stable id a binding file writes.
- GameRandom
- A 32-bit xorshift generator whose whole state is one readable number, so a snapshot can hold it and a replay draws the same dice.
- GameSettingKeys
- The settings the engine's own screens and devices read.
- GameSettings
- Everything a player has changed about how the game behaves for them.
- GameSettingsController
-
The settings screen as a state machine rather than as
setState. - GeneratedTangents
- What MeshTangents.generateTangents gives back: the mesh with its tangents, and for each vertex it appended at a mirrored seam, the vertex it copiedFrom.
-
GenrePlugin<
S extends Object> -
A genre installed into an engine: its step as one named system, its
events on the bus, its entity kinds in the level format, and the run it
steps —
S, set by the game as levels come and go. -
GenrePublishContext<
S extends Object> - What GenrePlugin.publishEvents is handed: the run and the bus its events go to.
-
GenreRestoreContext<
S extends Object> - What GenrePlugin.restoreSimulation is handed: the run and the state to put back into it.
-
GenreStepContext<
S extends Object> - What GenrePlugin.stepSimulation is handed: the run and the loop's step.
- GeometryBuffer
- A range of device memory holding vertices or indices.
- GeometryUsage
- What a buffer will be bound as.
- GeoOrigin
- A place on the Earth that a world's origin stands on, and the frame the world's axes keep there.
- GhostFrame
- Where something was at one moment.
- GhostPlayback
- Reads a recording back, smoothly.
- GhostRecorder
- Writes down where something was, a few times a second.
- GhostTape
- A recording: where something was, over and over.
- GlbContainer
- A parsed glTF container: the JSON document plus the optional binary chunk.
- GlbModelWriter
- A self-contained glTF binary.
- GltfAsset
- The decoded result of a glTF or GLB file.
- GltfLoader
- Decodes glTF 2.0 and GLB into engine geometry.
- GltfWriter
- Serializes any ModelDocument into glTF's binary container.
- GpuFence
-
A timeline fence: one device signals a value when the work submitted
before it is done, and another waits for that value before the work
submitted after it starts —
DeviceFeature.sharedFences. - GpuFrameTimings
- Every labelled pass of one frame, in the order they were submitted.
- GpuPassTiming
- One labelled pass and how long the GPU spent in it.
- GradientKey
- One point on a ParticleGradient.
- GraphicsDevice
- Everything the engine needs a graphics backend for.
- GroupFraming
- A camera that keeps several subjects in the picture at once.
- HasBehaviorTree
- A brain that runs a BehaviorTree over the actor's Blackboard — BehaviorBrain, or a game's own that runs one for part of the time — so that BehaviorBrain.pathOf and BehaviorBrain.goalOf can read it whoever wrote the brain.
- HdrImage
- A decoded Radiance image: three floats a pixel, row 0 at the top.
- HeadlessGame
- A game, as a tool that plays it blind needs one.
- HeadlessRun
- One run of a level, started by a HeadlessGame.
- HeadlessStart
- What HeadlessGame.start is handed: the level, the world it was added to, and the input the run reads.
- Health
- How much punishment something can take.
- Heard
- One sound, and where it happened.
- Heightfield
- Ground as a grid of sampled heights.
- HighContrastSettings
-
A high-contrast look with outlines, for players who see little contrast
or little detail —
N9. - HitResult
- What a ray hit: the mesh, how far along the ray, and where.
- HiZOcclusion
-
OcclusionMode.hiZ: last frame's depths, read back from the GPU and reprojected into this frame's view —C3. - HostField
-
A field held in host memory: one
Float32List, the cells in x, then y, then z order, each cell's components side by side. - HostSkinningHook
- A SkinningHook that computes the skinned vertices on the host, as a list of floats, and has the frame upload them.
- HttpCloudSaves
- Saves kept on a server the game's makers run, over plain HTTP.
- HttpTelemetrySink
-
Sends uploads to a server's
POST /api/telemetry/runs, which the reference server incloud/answers. - HubAssetSource
- A model on the hub, models.pleion.dev, named by its reference.
- HubCachePolicy
- How a hub model may be fetched and kept on the device.
- HubReference
-
One version of one model on the hub:
<uuid>@<n>, optionally followed by#sha256=<64 lowercase hex digits>to check the bytes against. - ImmediateTextureSource
- A source that returns textures to the pool at once.
- ImpostorNode
-
An impostor, drawn — the coarsest level a
LodGroupcan end in. - ImpostorPart
- An impostor level's uploaded card and atlases — see ModelAsset.impostors.
- IndexedDraw
- One indexed draw with every argument: a window of the bound indices, a base vertex added to each, and an instance range.
- IndexType
- The width of one index.
- InelasticProperties
- How a material gives way past the elastic: how much of a vibration it turns to heat each cycle, and the models of its large strains, its creep and its flow.
- InMemoryDeviceClassMemory
- A DeviceClassMemory that lasts as long as the process — the default, and what a test uses.
-
InPlaceCodec<
T extends Object> - A codec for a component that owns something live — a body in a collision world, a brain that is code as much as data — and so is not rebuilt from its data but has the data written back into it.
-
InputAction<
T extends Object> - A named thing the player can ask for, with the type of its value.
- InputAttribute
- One input of a vertex stage, and where in its buffer it starts.
- InputFrame
- One fixed step's worth of intent.
- InputSource
- Something on a device that can be bound: a key, a mouse button, a pad's face button.
- InputState
- What the player is asking for, as one object that every input device writes into and the simulation alone reads.
- InputTape
- A run, as the inputs that produced it.
- InputTapePlayback
- Plays a tape back into an InputState, one step at a time.
- InputTapeRecorder
- Writes down what a player did, one entry per step.
- InsideWalls
- The inside of a LiquidBody's vessel as a wall a stream runs along: for a RevolvedVessel, the side and the floor; another shape has no walls yet, and a stream passes through it.
- InstancedMeshNode
- One mesh drawn many times in one call, each copy with a transform and a colour of its own.
- InstanceHandle
- One slot of an InstancedMeshNode, taken with InstancedMeshNode.acquire: it follows its instance when a release elsewhere in the batch moves it.
- InverseRolloff
-
Falls off as
1 / distance, which is what sound actually does. - IrradianceAtlas
- An IrradianceField packed into one float texture, as IrradianceField.toAtlas lays it out: width × height texels of four floats in texels, the irradiance tiles in a grid columns across and the depth tiles below them from row momentsTop.
- IrradianceField
- A grid of probes over a box.
- IsolateSimulation
- SimulationHandle over an EngineLoop running in an isolate spawned for it — the step off the thread that draws (item 19).
- Issue
- What a library is reporting.
- JetLanding
- What JetReceiver.receive is handed: volume cubic metres of medium carrying concentrations, arriving at point moving at velocity.
- JetObstacle
- Something a stream can run into and along — a wall.
- JetReceiver
- Something a stream can land in — a vessel's liquid.
- JitteredProjection
-
base moved a fraction of a pixel across the screen —
R1. - JsonAnswer
- What a server answered a JsonPost: its status and its body as text.
- JumpLink
- One jump the grid allows: from a cell, to a cell, and what it costs a body.
- JumpReach
- How far a body can jump, from the three numbers that decide it.
- KeyEase
- How a value travels from one key to the next.
- KeyHolder
- Something that might be carrying keys.
- KeyRing
- The keys one body is carrying, by colour.
- Ktx2Texture
- A KTX2 file, read down to what a texture upload needs: dimensions, an engine TextureFormat, and each mip level's bytes.
- LatheShape
- A surface of revolution: a profile polyline swept around the Y axis.
- LawInput
- One quantity of a MatterState a law reads: its id, its unit, and the range the law is valid over.
- Layers
- The one layer constant that means the same thing in every game.
- LensFlareSettings
-
The reflections a lens throws from a bright light —
P2. - Level
- Everything one playable space is made of.
- LevelApplied
- What one LiveLevel.apply did.
- LevelBatching
- How a level's brushes are grouped into draws.
- LevelCheck
- What LevelRule.check is handed: the level, and the list its problems go in.
- LevelDiff
- What changed between two versions of one level, split by who has to act on it.
- LevelExtensionAnswer
- What answerLevelApply and answerLevelPatch answered: the result to send back, or why the level was not taken.
- LevelIssue
- Something wrong with a level, and where to look for it.
- LevelLight
- A light placed by the level rather than by the renderer.
- LevelLoader
- Reads a level asset and turns it into something playable.
- LevelMaterial
- How a surface is shaded, named so brushes can share one.
- LevelPresent
- What LiveLevel.present is handed: the level to show, and what changed.
- LevelRecipe
- A piece of a level written down as the instruction that builds it.
- LevelRule
- A whole-level rule a game brings with it.
- LevelRules
- What a generated level is made of: a grid of cells, each a room or nothing, joined by corridors where two rooms face each other through a doorway — and what stands in the rooms.
- LevelScope
- What an entity can see of the level it sits in.
- LevelSwapped
- What LiveLevel.swapped is told: the level the timeline swapped in, and the step it swapped it in before.
- LevelValidator
- Reads a level and says what is wrong with it.
- LevelVisibility
- Which parts of a level can be seen from where, decided before the game runs.
- LevelWalk
- A body that walks a level: it collides, jumps and runs, turns where it is dragged, and carries a camera at eye height.
- Lift
- Travels to the far end when called, and comes back.
- LiftKind
- Travels to the far end when called and back, as a Lift.
- LightBehavior
- How a light behaves over time.
- LightBindRequest
- What ContributorLights.bind is handed: where to bind, and the sphere the lights must reach.
- LightChannels
- The bit masks LightNode.channels and SceneNode.lightChannels meet on.
- LightEmitter
- Something whose particles are a light source.
- LightFixture
- Something in the level that gives off light and can be seen doing it.
- LightFixtureBuild
- Everything the bridge has already decided by the time a silhouette is built.
- LightFixtureKind
- Anything that gives off light and can be seen doing it.
- LightGroup
- Lights turned up and down together: a car's headlamps, a street's lamps, a room's.
- LightingModel
- A lighting model: one pre-built fragment shader and what the engine may bind to it.
- LightingModelAddon
- A view plugin that registers lighting models, and the stages that draw them, while it is on.
- LightingModels
- The lighting models a document may name in one engine: the engine's LightingModel.builtIn and every model a plugin registered — the open registry, one per engine (D23, D43).
- Lightmap
- A level's baked light: one texel of irradiance per LightmapLayout cell.
- LightmapFace
- One face's place in the atlas and its frame in the world.
- LightmapLayout
- The atlas: its size, its density, and every face's place in it.
- LightmapTexel
- A texel of a LightmapFace, counted from the face's own corner: what LightmapLayout.texelOf answers.
- LightmapUv
- A place in a LightmapLayout's atlas as the second texture coordinate: what LightmapLayout.uvAt, LightmapLayout.uvOfPoint and LightmapLayout.neutralUv answer.
- LightNode
- A light placed in the scene graph.
- LightPackContext
- What a LightTypeHook is handed for one light: the light, and the row the lit stages read it from, to fill.
- LightShaftSettings
- Shafts of sunlight through the air, marched through the directional shadow map: the sun's in-scatter added over the scene, which is left untouched behind it.
- LightType
- What shape a light is, which decides how its contribution is integrated.
- LightTypeHook
- A light type of a plugin's own, in the light loop (D22).
- LightTypes
-
The light types of plugins' own a renderer packs, each with its code
(D22). Reached by a plugin as
host.registry<LightTypes>(), beside the render steps it comes with. - LinearBlendSkinning
-
The engine's own CPU skinning —
SkinBlend, the four-joint linear blendmesh_skinned.vertcomputes — as a HostSkinningHook: every skinned mesh whose source data was kept, skinned on the host and drawn from the uploaded buffer. - LinearColor
- A colour in linear light, with straight (not premultiplied) alpha.
- LinearRolloff
- Straight line from full to silent. Predictable, and wrong.
- LineStripNode
- A line that grows a point at a time: a missile's trail, a path drawn as the player walks it, a pen on a whiteboard.
- LiquidBody
- A liquid in a vessel: its volume, the plane its surface settles to, the waves on it, and what runs over the lip.
- LiquidLayer
- One liquid in a vessel: a medium, how much of it, and what is dissolved in it.
- ListenerPose
- Where a view's ears are after a frame: Flutter3dView.onListenerMoved.
- LiveLevel
- The level a running game is playing, and how to change it under the game.
- LoadAction
- What happens to an attachment's existing contents when a pass begins.
- LoadedLevel
- A loaded level, in the two forms the game needs it.
- LocalExposureSettings
-
Local exposure by exposure fusion —
R7. - LocalRay
- A ray: an origin and a direction.
- LocalSimulation
- SimulationHandle over an EngineLoop in this isolate.
- LodContext
- What a LodPolicy is asked about one group for one view.
- LodGroup
- Picks one of several meshes by how much of the screen the object covers.
- LodLevel
- One level of detail: a mesh, the screen size below which it takes over, and — when somebody measured it — how far it is from the full mesh.
- LodPolicy
- Which level of detail a group shows (D22b): the engine's rule by screen fraction and pixel error, or a plugin's own — by distance to a point of interest, by a budget of triangles, by importance.
- LogLevel
- How much a LogRecord matters, from trace to error.
- LogRecord
- One thing an EngineLog was told.
- LogTime
- A recorded log's time: each frame advances to the log's next timestamp, whatever the wall clock did.
- LookAtFraming
- A camera that stays where it is put and turns to watch a subject.
- LookGoal
- A joint turned to face target: a head that watches, by turning what faced forward at rest towards it, at most limit radians — beyond that it turns as far as it may and no further, which is a monster glancing over its shoulder rather than wringing its neck.
- LookSettings
- The look put on the frame after it has been tone mapped.
- LoopChange
- Something about the loop that changed during a run, at a step boundary, and was written down so a replay changes it at the same step.
- LoopContext
- What a system is told about the moment it runs in.
- LoopPhase
- A named stretch of the loop that systems are added to.
- LoopPluginChange
- A plugin was switched or the plugins reordered: change.
- LoopRegistry
- The loop's phases and the systems in them.
- LoopSettings
-
How a
Flutter3dView's loop runs: its step, its input, its profile, where the simulation is, and when the origin follows the camera. - LoopStepRate
- The world's step rate became rate at step.
- LoopTimeScale
- The time scale became scale at step.
- LowPassEffect
- Takes the top off everything on the bus above cutoffHz hertz: what "under water" and "through a wall" sound like.
- ManualTime
- Time a person or a test moves by hand: a laboratory that steps when the student presses "step", a test that knows exactly how much time passed.
- MapMode
-
How a buffer is mapped into host memory —
GraphicsDevice.mapBuffer. - MappedBuffer
- A range of a buffer mapped into host memory.
- MaterialAlphaMode
-
How a material treats the alpha channel, mirroring glTF's
alphaMode. - MaterialBindings
-
What
describeMaterialfound, in the shapeLightingModeltakes. - MaterialBlend
-
How a surface is combined with what is behind it — a
stateblock'sblend— version 2. - MaterialBlendMode
- How a blended surface is combined with what is behind it — read only when RenderMaterial.alphaMode is MaterialAlphaMode.blend.
- MaterialBlockMember
- One member of a uniform block of a material's own, where std140 puts it.
- MaterialBlockSlot
-
One uniform block a material binds:
MaterialParams, or a block of its own (uniform(Hair) …), with its members in declaration order. - MaterialCatalog
-
The physical materials one engine knows, by id, and the pairs measured
between them: the engine's own (Materials, under
f3d.*) and every plugin's. - MaterialDecodeContext
- What MaterialDecoder.decode is handed: the file it claimed.
- MaterialDecoder
- A reader for a material format the engine does not ship.
- MaterialDocument
- A material as a file of its own, rather than as part of a model.
- MaterialExtensions
-
What a surface has beyond metal-rough: the
KHR_materials_*layers glTF adds on top of the core model —M1. - MaterialFileState
-
What a material's
stateblock says — version 2: how it is drawn, and which light its stage leaves out. - MaterialHint
- A kind with the words that go around it.
- MaterialHintKind
- What a control for one value should look like.
- MaterialInput
- One value the fragment body can read.
- MaterialLet
-
let name = expr;— single assignment, so nothing here is a variable. - MaterialMap
-
The maps of a metal-rough material, in the order the layered stage keeps
their transforms —
C8,LayerInfo.uv_transformandkMapBaseColorand the rest inlib/surface.glsl. - MaterialOutput
-
out name = expr;— one ofmaterialVertexOutputs, written by avertexblock — version 2. Each at most once, and the block's only way to say anything: it has noreturn. - MaterialPair
- How two materials meet when the catalogue holds a measurement of the pair itself, in place of MaterialCatalog.contact's rule.
- MaterialParameter
- One declared parameter: a name, a type and the value a variant that says nothing about it gets.
- MaterialParameters
- A material's parameter values: set and read by ParameterKey from code and by name from data, checked against a schema when there is one, and held as the floats the uniform block is filled from.
- MaterialParameterSchema
- What a material declares it takes, in the order its source declares it.
- MaterialPhase
- What state a material is in at its quoted temperature and pressure.
- MaterialProbe
- What MaterialDecoder.handles is asked about: a file, by name and bytes.
- MaterialProgram
- A material read from source: its name, what it declares, and its body.
- MaterialRemoveUpdate
-
4: remove sheen;— name has no meaning from version on, and an instance's value for it is dropped rather than kept for a parameter that a later version may declare again with another meaning. - MaterialRenameUpdate
-
2: rename ink -> inkColor;— the value of from is to's from version on. - MaterialReturn
-
return expr;— avec4, rgb being the light the surface emits and a its opacity, which is whatWriteSurfacetakes. - Materials
-
The engine's built-in materials and the pairs measured
between them: what
MaterialCatalog.builtInholds. - MaterialScaleUpdate
-
3: scale roughness 0.5;— every component of name's value is multiplied by factor from version on: a parameter whose meaning changed scale (a roughness that became perceptual, a size in another unit). - MaterialSlotTable
- What a material binds beyond the engine's own: its uniform blocks and its own textures, in a fixed order (D21).
- MaterialStageKind
-
What a source is — version 2 adds the two kinds after
material. - MaterialStatement
-
One statement of a block: a
let, areturn, anout. -
MaterialStatementVisitor<
R> -
Something that reads every kind of MaterialStatement. One abstract
method per kind 1.0 knows; a kind added later defaults to
visitUnknown, as
MaterialExpressionVisitorexplains. - MaterialTextureSlot
- One texture slot the material samples, by the name the engine binds it under.
- MaterialTextureSlotEntry
- One texture of a material's own, by what the source calls it and what it is bound under. A material that names none for it is drawn with a white texel in its place, as an engine texture slot nobody filled is.
- MaterialUpdate
-
One step of a material's
updatesblock — language version 3: how a parameter value written for a version before version changes on the way to it. - Matrix3
- 3D Matrix. Values are stored in column major order.
- MatterState
- The state one body of a material is in: an open set of quantities, each under a namespaced id, and the phase it is in.
- MechanicalProperties
- How a material holds together and meets another: its density, its stiffness and strength, and its contact.
- Mechanism
- Something in the level that can be switched on and that has a life of its own between switchings.
- MechanismEvents
- What the level's machinery did during one step.
- MechanismWorld
- Every mechanism in the level, and the wiring between them.
- MemoryBudget
- How much memory may be held, per MemoryCategory and in all, and what is held now.
- MemoryBudgetCrossing
- A category, or the whole budget, crossing its limit one way or the other — what MemoryBudget.onCrossed hears.
- MemoryCategory
- What an entry of a MemoryReport is.
- MemoryEntry
- One line of a MemoryReport.
- MemoryReport
-
What the renderer holds on the device, line by line and by category —
Renderer.memoryReport. - MemoryStorage
- A Storage in memory: what a test, a replay with nothing to keep, or a preview hands a document class that needs somewhere to write.
- MeshBuilder
- Accumulates vertices and indices into growing typed arrays.
- MeshClusters
-
A mesh's index buffer read as consecutive runs of triangles, each with a
box and a cone of normals —
C9, for the scan or the CAD part too big to draw whole every frame. - MeshData
- CPU-side geometry: interleaved vertices plus indices.
- MeshGeometry
- What the scene needs to know about a mesh, without knowing where it lives.
- MeshNode
- A node that draws a mesh.
- MeshOverlay
- What a modeller draws on top of the surface: edges, vertices, the selection.
- MeshVessel
- A vessel whose inside is any closed triangle mesh: its cavity, closed across the mouth, with the triangles wound counter-clockwise seen from outside the cavity, and the rim of the mouth given as points.
- MeterRect
- A rectangle of the frame, in fractions — what a view occupies.
- Mind
- Everything a brain is allowed to know, and the few things it may do.
- MinMagFilter
- Filtering between texels.
- MipFilter
- Filtering between mip levels.
- Mixer
- What each bus is turned to, and the one place a volume setting lives.
- MixSnapshot
- A named state of the mix — "under water", "paused", "boss fight" — that the mixer blends into and out of.
- ModelAsset
- An immutable, GPU-resident model that can be placed in a scene any number of times.
- ModelCamera
-
A camera decoded from glTF's own
cameras, or held for a writer to encode into it —fmt-28's own row, the other half beside ModelLight. - ModelCameraProjection
-
How a decoded camera projects — glTF's own two, perspective and
orthographic, and no others: the core specification defines exactly
these two
camera.typevalues. - ModelDecodeContext
- What ModelDecoder.decode is handed.
- ModelDecoder
- A decoder for a format the engine does not ship.
- ModelDecoders
- The DecoderRegistry the formats fill: the model decoders and the asset sources plugins bring.
- ModelDocument
- A decoded model, whatever format it came from.
-
ModelDressed<
K> - What ModelWardrobe.onDressed is told: the model just put on a node, and the key it was worn for.
- ModelFormat
- Which decoder to use.
- ModelImpostor
-
A node baked into two octahedral atlases —
C4. - ModelInstance
- One placement of a ModelAsset in a scene.
- ModelLight
-
A punctual light, decoded from
KHR_lights_punctualor held for a writer to encode into it —fmt-28's own row. - ModelLoadRequest
- Everything a decode needs, in one sendable object.
- ModelLod
-
One level of detail a node offers in place of its own full surface list
—
pro-eng-06's own row. - ModelLook
- How one model is worn: which file, and how it is fitted to the node that wears it. See ModelAssetInstantiate.instantiateFitted for length, axis and onGround.
- ModelNode
- A node in a decoded model's hierarchy.
- ModelOrthographicCamera
-
camera.orthographic— a view volume's own half-extents, both planes required. - ModelPart
- One drawable piece of a model: geometry, appearance, and where it sits relative to the model's own origin.
- ModelPerspectiveCamera
-
camera.perspective— a field of view and a near plane, an aspect ratio and a far plane that both may be absent. - ModelProbe
- What ModelDecoder.handles is asked about: a file, by name and bytes.
- ModelSkin
- A skeleton: which nodes are joints, and how each undoes the bind pose.
- ModelSplat
-
A cloud of Gaussian splats a node of a decoded model carries —
C1. - ModelSurface
- One drawable piece of a decoded model.
- ModelSwap
-
What one ModelInstance.adopt did, by slot key: a node's name, then
/and which of its surfaces (s0,s1, …) or level surfaces (l0, …). -
ModelWardrobe<
K> - Models loaded once by key and put on any number of nodes, including nodes made before the models have arrived.
- ModelWrite
- What one write produced.
- ModelWriteContext
- What ModelWriter.write is handed.
- ModelWriteFormat
- Which format encodeModel/encodeModelInIsolate writes.
- ModelWriter
- A format a ModelDocument can be written as.
- ModelWriteRequest
-
What to encode, and as which format —
fmt-13's own row, the write-side mirror ofModelLoadRequest. - ModeRinging
- A surface's modes for FluidSolver.ringModes: each the damped oscillator it is, stepped exactly for dt under gravity g over a liquid depth deep, then held under Stokes' limit.
- MorphBlend
- Blends a mesh's morph targets into a copy of its vertices.
- MorphSink
- A mesh whose morph weights an animation can drive.
- MorphState
- What one drawn mesh is morphing towards, and by how much.
- MorphTarget
- One shape a mesh can be blended towards, as deltas from its base vertices.
- MorphTexture
-
A mesh's morph deltas, packed the way
lib/morph.glslreads them. - MotionBlurSettings
-
R6's motion blur: what moved during the exposure, smeared along the way it moved. - MouseCapture
- Taking the pointer, so the mouse reports motion instead of moving a cursor, and giving it back.
- MovementSettings
- Every number that decides how the player feels, in one place.
- Mover
- A block of level geometry that travels between two places.
- MoverState
- Where a mover is in its trip.
- MovingPlatform
- Goes back and forth for ever, whether or not anyone is watching.
- MtlMaterial
-
A material exactly as written in a
.mtlfile. - NativeHandle
- A native object one device hands another, by kind and address.
- NativeHandleKind
- What a NativeHandle holds.
- The surfaces a polygon can be, by number.
- The size of one kind of body a mesh is baked for, as NavMesh.bakeLevelFor takes a roster of them.
- A lattice of standing places, and how much room each one has.
- Somewhere to walk, and the way there.
- The lattice a mesh is baked on: where its corner is and how many cells.
- Convex polygons over a level's floors, and which of them touch.
- A jump from one polygon to another the walk does not join.
- The polygons a route crosses and the corners a body walks between.
- The numbers a navigation mesh is baked to, in metres and radians.
- NoAttenuation
- Never gets quieter and never pans. Music, narration, the wind.
- NodeDeclarations
- What one node declared in FrameGraphNode.setup, as the compile read it.
- NodeFailure
- A node that threw while it ran, and whose it was: what a frame reports for a quarantined pass (PassSkip.failed).
- NodeHistory
- One node as it was at the end of the last frame it was recorded in.
- NothingToDo
- There was nothing to do — already open, still moving, or no such name.
- ObjDocument
- The decoded contents of an OBJ file.
- ObjectIdFrame
-
Which mesh drew every pixel of one frame — what
Renderer.captureObjectIdsanswers with. - ObjLoader
-
Decodes Wavefront OBJ, optionally with its
.mtlmaterial libraries. - ObjModelWriter
-
Wavefront OBJ, with its
.mtlbeside it when the document names a material. - ObjNormals
- How to fill in normals that the file does not provide.
- ObjWriter
-
Encodes any ModelDocument as Wavefront OBJ, with its
.mtlbeside it. - ObstacleTouch
- Where a parcel is into a JetObstacle: the way out and how far.
- OcclusionAffects
- Which light a material's occlusion map darkens under the engine's own lighting models: both by default, or the direct or the indirect half alone.
- OcclusionBuffer
-
A small depth-only rasteriser the scene pass culls against —
C2. - OcclusionMode
-
How the scene pass rejects what is hidden behind something else —
C2,C3.RenderSettings.occlusionpicks one; none is the default and the frame every golden was recorded from. - OcclusionQueryContext
- What an OcclusionTest is asked about: one box, and the view it is asked for, in one object that can gain members — the eye of a stereo pair, the layer a view draws — rather than the box alone, which left an XR view no way to say which eye was asking.
- OcclusionTest
- Whether anything inside a world-space box may be seen this frame.
- OffAxisProjection
- A frustum whose four sides are given separately, so the axis need not be in the middle of it.
- OpenKind
- A kind for a type nobody here has been taught: it accepts the type and gives it no meaning.
- OpenPath
-
A path through points, measured by distance along it: where it is at
smetres, which way it runs there, and which way is right. - OpticalProperties
- How a material meets light: what it bends, absorbs and reflects.
- OrbitController
- Turntable controls: orbit a node around a target point.
- OrbitFraming
- Behind and above a subject, on an orbit the player turns: a third-person camera.
- OrderedGame
- A HeadlessGame played by orders as well as by the stick — a strategy, where a selection is sent somewhere rather than one body walked there.
- OriginShifted
- The world origin moved: everything the simulation holds in a float32 local frame was moved by the opposite of offset so it stays near zero.
- OrthographicProjection
- A parallel projection: a view volume height world units tall whose width follows the aspect, with no foreshortening.
- OutputTransform
-
Volumetric light shafts, marched through the directional shadow map —
gfx-33n. - OutsideWalls
- The outside of a LiquidBody's vessel, thickness out from its inside, as a wall a stream runs along: what a slow pour clings to below the lip. For a RevolvedVessel; another shape has none yet.
- OverheadFraming
- A view over a map: it pans, it zooms, and it follows nothing.
- OverlayBatch
- One buffer of overlay vertices, grown rather than reallocated.
- PacingContext
- What a PacingPolicy is asked before a frame is drawn.
- PacingPolicy
- Whether a frame is held — the last picture handed back again, nothing drawn — or drawn (D22b): the engine's rule, or a plugin's own (a frame held only when the GPU is two behind, a cap on frames a second).
- PackedIndices
- Indices packed for GPU upload.
- PackedMapSource
- One lane of a packed map: the texture it is read from and the channel of that texture's own image it takes. See MaterialExtensions.coatMapSources.
- PadDeadZones
- The dead zones a player chose, as PadDevice.setDeadZones is handed them.
- PadDevice
-
Where a
PadInputreads a pad from. - PadInput
- Feeds an InputState from a gamepad.
- PadPresses
- The pad, as a screen reads it rather than as the game does.
- PadReading
- What a pad is doing at one moment.
- PagedSplatOctree
- A splat tree whose pages arrive on request.
- PanGains
- The two ears' shares of a panned sound: what EqualPowerPanner.gains answers.
- ParameterDeclaration
- One parameter a material declares: its name, how many floats it is, its default, whether a draw can set it, and the unit its numbers are in when the source says.
-
ParameterKey<
T extends Object> -
One parameter of a material, named as its
.f3dmatnames it, with the Dart type its value is and the unit that value is in. -
ParameterType<
T extends Object> -
How a Dart value of
Tis laid out as the floats a uniform block reads. - ParameterWrite
- What a parameter write did: written, or refused and why.
- ParcelFlight
-
A stream's parcels for FluidSolver.flyParcels: each falls for dt
under gravity, in pieces no longer than its radius against walls,
running along what it meets; held to a wall it has come off while it is
slower than medium's cling speed for its thickness; its ripples grown
while it is in the air. Where it lands and whether it parts is the
Jet's to say, after. - Particle
- One particle, reused for the life of the system.
- ParticleAffector
- One thing that happens to a particle while it is alive.
- ParticleBirth
- What ParticleEmitter.emit is handed: the particle to place, and the burst it is born in.
- ParticleColorGradient
- Drives a particle's colour from a gradient.
- ParticleColorOverLife
- Moves the colour from one to another across the particle's life.
- ParticleCurve
- A scalar over a particle's life.
- ParticleDrag
- Bleeds off speed, so a burst slows into a drift instead of flying away.
- ParticleEffect
- A recipe for a burst: what is emitted, and what happens to it.
- ParticleEmitter
- Decides where a particle starts and which way it is going.
- ParticleFade
- Fades a particle out towards the end of its life.
- ParticleGlow
- What a source's particles add up to: how much light they are, and where.
- ParticleGradient
- A colour over a particle's life.
- ParticleGravity
- Pulls particles down. Sparks and debris; not smoke.
- ParticleMotion
-
Particles of one liquid for FluidSolver.moveParticles: substeps
substeps of dt each, every one of them the
ParticleFluidsolve — pushed out of the walls, pre-stabilised, gravity, cohesion and curvature on the velocities, a predicted move in pieces against the walls, the density held, and XSPH's viscosity. - ParticlePlaneCollision
- Stops particles at a level floor, and throws them back up off it.
- ParticleSizeCurve
- Drives a particle's size from a curve, as a multiple of its birth size.
- ParticleSizeOverLife
- Scales a particle across its life.
- ParticleSpin
- Turns a billboard over its life.
- ParticleStep
- What ParticleAffector.apply is handed: one particle and the step it is advanced by.
- ParticleSystem
- Every particle in the world, and the one buffer they are drawn from.
- ParticleTurbulence
- Swirls particles through a standing flow field, so a column of smoke curls instead of rising in a straight line.
- ParticleWind
- Pushes everything one way, for a draught or the wake of an explosion.
- PassContribution
- The difference between two frames of the same size.
- PassContributor
- Something that draws inside a pass it does not own.
- PassedMarker
- A marker an AnimationGraph passed in its last step: the state it was in and the marker's name.
- PassEncoder
- A pass that is open, into which draws are recorded.
- PassSkip
-
Why a pass that was registered did not run —
gfx-39n. - PassState
- A pass's rasteriser state. Unset fields are not emitted.
- PassTimestampWrites
- Where a pass writes its start and end timestamps.
- PassViewport
-
Where the rasteriser maps clip space: a rectangle of the target in pixels,
which may be fractional, and the window depth range clip depth maps onto —
PassEncoder.setViewport. - PerspectiveProjection
- A pinhole camera's frustum: a vertical angle, a near plane and a far one.
- PhaseKind
- Whether a phase runs inside the fixed step or once a frame.
- PhotoCamera
-
The camera a paused game hands the player for taking a picture —
N8. - PhotoCaptureReport
- What a capture did to the game's settings, and why.
- PhotoFilter
- A look a player picks in photo mode.
- PhotoFinish
- The vignette and the grain, put over a finished frame at its own coordinates.
- Photometric
-
Lumens, candela and lux — the units LightNode.intensity is in since 1.0
(decision 8 of the API review,
docs/CONTRACTS.md"Light"). - PhotoRows
- One block of a photo's rows, as capturePhoto hands it to its sink.
- PhotoSaved
- What happened to a picture.
- PhotoTaken
- A picture taken: what the capture did, and where the file went.
- PhysicalCamera
- An aperture, a shutter time and a sensitivity, and the exposure they make.
- PhysicalMaterial
- A substance and what is known of it: its density, stiffness and contact, its flow, its heat, its sound, its light and its current, each a group that may be absent, each naming its source.
- PhysicalSky
-
The air of a planet, for
SkySettings.physical. - PhysicalSkyRay
- What PhysicalSky.look sees along one ray: the light the air sends towards the eye, what it lets through along the same ray, and whether the ray ends at the ground.
- PhysicsBackend
- What simulates a world's physics: the bodies, the characters' moves and the rays and sweeps every query asks — one answer for the whole world.
- PickRequest
-
What
Renderer.pickis asked: a point of the frame. - PickResult
-
What
Renderer.pickanswers: what is drawn at the point asked. - PipeFlow
- Pipes for FluidSolver.flowPipes: the liquid in each, a column of it, accelerated by the pressure across its ends over its inertance — its own length over its section, and the liquid standing over each end over that vessel's surface — and held back, implicitly, by Hagen–Poiseuille's friction and the losses where it enters and leaves. Air cannot be pushed through: an end whose surface is below it gives nothing.
- PipelineAnchor
- An anchor a pipeline adds: a plugin's own, standing right after another.
- PipelineDescriptor
-
A vertex and a fragment stage, the layout their vertex inputs come from,
and a name: everything
GraphicsDevice.createPipelineFromlinks. - PipelineDocument
-
A frame's pipeline, written down (D44): what a renderer describes of its
own frame (
Renderer.describePipeline), what an editor edits, what a.f3dplugin'spipeline:section brings, and whatRendererSteps.fromDocumentapplies. - PipelineGeometry
- The kind of geometry a pipeline was built for: which vertex stage the material's fragment stage was linked with.
- PipelineHandle
- A vertex and a fragment stage, linked into something that can be bound.
- PipelineNode
- One node of a pipeline: where it stands, what it touches, and — for a node of a plugin's own — which kind makes it.
- PipelineNodeContext
- What a PipelineNodeKind is handed to make one node: one object that can gain members.
- PipelineNodeKind
- A kind of node a pipeline document can name (D44): what turns a node written as data — a name, an anchor, its options — into a RenderNode.
- PipelineNodeKinds
- The kinds of node a renderer's pipeline documents may name (D44): a companion of the render steps.
- PipelineRefusalReason
- Why a backend refused a pipeline — PipelineRefusedException.reason.
- PipelineRefusals
-
One device's record of the pipelines its backend could not build —
GraphicsDevice.pipelineRefusals. - PipelineStall
-
A pipeline build that took
PipelineStall.microson the frame that asked for it —A1.7. - PixelExtent
-
A width and a height in whole pixels: what a
ResourceSizeresolves to, and the size of an image read from its header. - PixelJitter
-
How far off the pixel centre a frame's scene is drawn: what
jitterOffsetanswers andFrameContext.jitterreports. - PlacementRequest
- What a node asks of where it runs: a compute step's wish for the device's own compute, a sidecar, or the CPU.
- PlainModelDocument
- A ModelDocument assembled by hand, from plain lists.
- PlanarReflectionSettings
-
P4's planar reflections: every visiblePlanarReflectorNodegets the world drawn again through a mirrored camera, and its surfaces show it. - PlanarReflectorNode
-
A flat mirror or a still pool —
P4: the world drawn again by a camera mirrored in this node's plane, and laid over the surfaces that lie in it. - PlaneObstacle
-
A flat surface particles rest on — a bench, a floor: the points with
normal · p ≥ offsetare clear of it. - PlaneShape
- Subdivided plane in the XZ plane, normal pointing at +Y.
- PlatformCloudSaves
- Saves kept by Play Games or iCloud, through the platform's own side.
- PlatformKind
- Moves on its own timetable rather than waiting to be called.
- PlayerSpawnKind
- Where the player starts: a coordinate and a facing a game reads, which spawns nothing and checks nothing of its own.
- PlayerStart
-
Where a level's player starts, and which way they face: what
Level.playerStartanswers. - Playing
- How this build is played.
- PluginApiVersion
- Which plugin API a plugin was written against, and which one the engine provides.
- PluginChange
- A plugin switched on, off or moved, at a step boundary.
- PluginDependency
-
One entry of a manifest's
dependsOn: a plugin id and the versions of it accepted. - PluginDisabled
- plugin was switched off and everything it registered withdrawn.
- PluginEnabled
- plugin was switched on and installed.
- PluginGroup
- Plugins that go together, in the order they install, at most one per id, taken whole and adjusted where an application needs it to differ:
- PluginHost
-
What a plugin is handed in
install: the engine's registries, as this plugin sees them. - PluginManager
- The plugins of one engine: checked, ordered, installed, and switched on and off at step boundaries.
- PluginManifest
- What a plugin says about itself before it is installed.
- PluginPermission
- Something a plugin says it will reach for beyond the engine's own API.
- PluginRegistry
- Something the engine owns and plugins add to: loop phases, event subscriptions, render steps, decoders.
- PluginScope
- The plugin on whose behalf a registry is being called.
- PluginSettings
-
What a
Flutter3dView's loop installs and the registries it hands them. - PluginsReordered
- The install order became order: what breaks ties between plugins' systems and subscribers.
- PluginsSet
- The whole of the plugins' state: the order, and which are on.
- PluginStatus
- Where one plugin stands.
- PluginTouches
- Whether a plugin changes what the simulation computes, or only what is shown of it.
- PluginVersion
-
A plugin's release, by semantic versioning:
1.4.2,2.0.0-dev.3. - PointerTargets
-
The materials and lights of one model instance, as a place for
KHR_animation_pointertracks to land. - PolygonMode
- Whether primitives are filled or drawn as edges.
- PosedMesh
- Posed positions for one mesh and skeleton, reused while the pose holds.
- PoseRecord
-
Where the run's bodies were, every few steps: the half of a
.f3drunthat plays on any build. - PoseRecorder
- Writes a PoseRecord down as a run is played: every everyth step, whichever bodies the caller hands it.
- PoseRecordFrame
- One recorded step: the step it was taken after, and each body's place and rotation, in PoseRecord.bodies order — null for a body that was not there at that step.
- PostFrameResult
- What Renderer.renderPost handed back.
- PowerPreference
-
Which GPU a DeviceRequest prefers where there is a choice: WebGPU's
powerPreference. - Powers
- What is running on somebody, and for how much longer.
- Prefab
- A template: a tree of entities a level places as one thing, as often as it likes.
- PreparedUpload
- What TelemetryUpload.prepare made: the upload, or none and why.
- PrimitiveType
- How vertices are assembled into primitives.
- Probe
- An instrument in the simulation: a quantity read at a region every step, published as a ProbeReading and written on the run's tape.
- ProbeBody
- The body the probe is on: the entity carrying the Probe.
- ProbeField
- A grid of values a probe read at once: a section's temperatures, a volume's concentrations. values in row-major order over shape, each in unit.
- ProbePoint
- One point of the world, in its own double-precision frame.
- ProbeReading
-
What one probe read at the end of one step: published to the view
(
PublishedState.probes) and written on the run's tape. - ProbeRegion
- Where a Probe reads: a point of the world, a section through it, or the body the probe is on.
- ProbeSample
- What a ProbeSampler is told about the reading asked of it.
- ProbeSampler
- Reads one quantity for a probe: a field's value at a point, a flow through a section, a solver's own number for a body.
- ProbeSamplers
-
The samplers of one engine, by quantity id: a solver that owns a
quantity registers what reads it.
host.registry<ProbeSamplers>(). - ProbeSection
- A plane through the world: what crosses it (a flow through a pipe's section) or what lies on it (a temperature map).
- ProceduralTexture
- A texture generated in code.
- Projection
- How a camera maps eye space onto clip space.
- ProjectionLayerNode
- The node that hands each view of a frame to the layer of a runtime's image it belongs in: the projection layer an XR session submits.
- ProjectionRequest
- What a Projection is asked to build its matrix for: the shape of the target it will be drawn into.
- PropertyGroup
- What every group of a material's properties has: the source its numbers were read from, and the keys of its file a later version wrote that this one does not know, kept so they are written back.
- PropertyInterval
- The spread a value is known within: the low and high ends of a range a source gives, in the property's unit.
- PropertyLaw
- One property of a material as a function of the state a body of it is in: a constant, a table, or a formula of the engine's expression language.
- PublishedActor
-
An actor as the view reads it from PublishedState: where it is, which
way it faces, whether it lives — decoded from the rows its published
components (
ActorCodecs.body,ActorCodecs.facing,ActorCodecs.vitality) left for the step. - PublishedEvent
- One step-channel event as the view receives it: encoded by its declared EventCodec, so it crosses an isolate boundary as plain values and nothing the view holds is an object the simulation still owns.
- PublishedState
-
What one step left for the view to read: immutable, built in the
publishphase. - PublishedWorlds
-
The worlds besides
EngineLoop.worldwhose published components go intoPublishedState. - PulseLight
- A slow swell, for something magical rather than burning.
- QualityContext
- What a QualityPolicy is asked once a frame's time is recorded.
- QualityPolicy
-
Which quality row the next frame is drawn at (D22b):
AdaptiveQuality's rule, or a plugin's own. - QualityRow
- One measured row: a setting, what it costs and what it takes away.
- QualitySetting
- One combination of the levers: a render scale and an effect tier.
- QualityTable
- The rows of one device class, best picture first.
- Quantity
-
A value in a unit:
9.81 m/s². - Quaternion
- Defines a Quaternion (a four-dimensional vector) for efficient rotation calculations.
- QuerySet
-
A set of queries a backend owns —
GraphicsDevice.createQuerySet. - QueryType
- What a query set counts.
- Range
- A range a value is drawn from when a particle is born.
- RangeHint
- A number with two ends and, when it is not continuous, an increment.
- Raycaster
- Casts rays against a Scene on the CPU.
- RayHit
- Where a ray met something.
- RayQuery
- What WorldRays.rayCast is handed: a ray from origin along direction within maxDistance, meeting things on a layer in mask but not ignore, and the hit to write into out.
- ReachGoal
-
An arm or a leg bent to reach target: root → mid → tip by
TwoBoneIk, the middle joint on the side of pole. Below a weight of one, the chain's joints are turned that share of the way from where the graph had them. - ReactiveFrame
-
Everything a contributor is handed to mark its pixels reactive —
R4. - ReactiveShape
-
How a reactive sprite's coverage is worked out —
R4, and the shapespost/reactive_sprite.fragknows, in its order. - ReadingKind
- How a reading came to be: measured by an instrument, estimated by a model, predicted ahead of its time, or read off the simulation itself.
- ReadingQuality
- How far a reading can be trusted, as its source says.
- Rebinding
- Moving a control to somewhere the player can reach.
- RebindOutcome
- What ActionMap.rebind did.
- ReflectionProbeKind
- A point the room around it is reflected from.
- ReflectionProbeNode
- A point the scene is reflected from.
- ReflectionSettings
- Screen-space reflections.
- Refused
- It would not, and here is what to tell the player.
- Registration
- What every registry hands back: the way to take the thing registered out again.
- RenderAnchor
- A named place in the frame where a plugin's pass goes.
- RenderBundle
-
Draws recorded once and replayed into passes —
PassEncoder.executeBundles. - RenderBundleDescriptor
-
The attachments a render bundle will be replayed against —
GraphicsDevice.createRenderBundleEncoder. - Renderer
- Draws a Scene through one or more CameraViews.
- RendererSteps
- The RenderStepRegistry a Renderer fills: a plugin's own render steps, and its passes placed at the engine's anchors.
- RenderFrame
- Everything a node is given to build its pass from: the FrameContext, and the frame's resources.
- RenderHooks
- A renderer's hooks into what it draws (D22b): the draw-list hooks, the level-of-detail and sort policies, the skinning hooks, the pacing and quality policies and the shadow techniques plugins registered.
- RenderLayers
- The render layers a node is on and a view draws: a 32-bit mask, bit 0 the default layer a node is on.
- RenderListener
-
Callbacks a
Renderercalls after each frame it draws — subscribed withRenderer.listen. - RenderMaterial
- Surface appearance as plain data.
- RenderNode
-
Something that declares what it touches, owns a pass, and draws it — the
one kind of pass an application or a plugin adds to a frame, with
RendererSteps.addNode. - RenderParameterWrite
- What a RenderProgram sets one of its parameters with (RenderProgramFrame.setParameter): which parameter, from which component, to which values.
- RenderPassDescriptor
- Everything a pass draws into.
- RenderProgram
- A program a run-time plugin brings that drives one of its render steps frame by frame: what a Wasm render module is, as the renderer sees it.
- RenderProgramFrame
- What a RenderProgram is handed each frame: what the frame is, and the commands that reach its step.
- RenderServices
- What the renderer lends a contributor or a node.
- RenderSettings
- Scene-wide shading knobs that are not per-material.
- RenderSettingsPatch
- The render settings a level asks for, by settings slot id, and nothing it does not ask for.
- RenderStep
- One step of the frame that can be switched off — the passes before the scene, the scene's own extras, and the post chain.
- RenderStepAddon
- A view plugin that provides render steps: while it is on, they are drawn as their settings say; switched off, they are withdrawn from every frame.
- RenderStepContext
- What a RenderStep's switch is asked with: the settings, and inside a frame the views, the device and the quality it is drawn at.
- RenderStepRegistry
- Render steps, anchored to the engine's passes. Filled by the renderer.
- RenderTargetDescriptor
- What makes two render targets interchangeable.
- RenderTargetPool
- Reuses textures across frames, keyed by what makes them interchangeable.
- ReplayDivergence
- Where the run new code makes first parts from the one old code made.
-
ResourceCache<
K, V> - A reference-counted cache of asynchronously loaded resources.
- ResourceDesc
- What a node is asking for when it writes a resource.
-
ResourceHandle<
V> - A borrowed reference to a cached resource.
- ResourceOrigin
- Where the pixels behind a bound resource came from.
- ResourcePriority
- How much a resource matters to whoever asked for it: which load starts first when ResourceCache.maxConcurrentLoads holds loads back, and which unheld entry goes last when a MemoryBudget is over.
-
ResourceRequest<
K, V> - One ask for key, as ResourceCache.request makes it: the handle it will hand over, its priority while it waits, and cancel.
- ResourceSize
- How large a resource is, relative to the frame or in its own right.
-
ResourceSizeVisitor<
R> - Something that reads every kind of ResourceSize: a tool that writes a frame's resources down, an inspector.
- ResourceVersion
- A resource as it stands between one write of it and the next.
- RestorableRun
-
A HeadlessRun that can be put back to a state it saved — what
bisectTapesneeds of each side, to step on from a state it kept rather than from the start every time it asks. - ReverbEffect
- A room's tail on everything on the bus: wet of the signal sent to a reverb that dies away by 60 dB in decaySeconds seconds.
- RevolvedVessel
- A vessel whose inside is a surface of revolution about its Y axis — a test tube, a beaker, a flask: a wall profile in the (radius, height) plane, from the middle of the floor up the side to the mouth.
- RewindBuffer
- The last few seconds of a run, kept so they can be lived again.
- RewindPoint
- A moment in the recent past, and how to get there.
- Rgba8Image
-
A decoded source image: tightly packed RGBA8, row-major, top row first —
exactly what
ui.Image.toByteData(format: rawStraightRgba)hands the engine's own texture upload path, and what every encoder inencode/takes in. - Rgba8Texel
-
One pixel of eight bits a channel: what a 4x4 block encoder takes sixteen
of, and what
decodeUniversalBlockanswers sixteen of. - RgbTriple
- Three channels of a colour, red, green and blue, as a colour table or a colour transform reads and answers them. Whether they are linear or sRGB encoded is the answering member's to say.
- RgbValues
- Three numbers for the red, green and blue of linear light: a reflectance, or a coefficient per metre — the field that holds one says which.
- Rider
-
Mixed in, not implemented, outside this library: a
basetype, so a member added in a 1.x release arrives with a body and nothing that mixes it in has to change. - RigidBody
-
A body with mass that a
RigidDynamicspushes around, registered in its CollisionWorld as a kinematic collider. - RigidDynamics
-
Extended outside this package: an
abstract base class(decision 5 oftasks/1.0-api-review.md), so a member added in a minor arrives with a default body and every implementation keeps compiling. - RigidPose
- Where a rigid thing is and which way it is turned: a position in metres and an orientation, in whatever space the one who hands it over states.
- RigSettings
- Where a chasing camera sits, and how fast it gets there.
- RoomScatter
- What LevelRules.perRoom scatters in a room: an entity row and how many of it.
-
RunCarryContext<
L> - What RunSession.carryFrom is handed: the level being left and the document read next, for the reason RunRestoreContext gives.
-
RunFailed<
L> - Nothing is up, and this is why.
-
RunLoading<
L> - Before the first level, and between one and the next.
- RunOutcome
- How a run ended, or that it has not.
-
RunPlaying<
L> - A level is up. outcome is the simulation's own answer, republished so a screen can watch one thing.
- RunRequest
- One HTTP request, as RunService makes it.
- RunResponse
- What came back: the status and the body as text.
-
RunRestoreContext<
L> - What RunSession.restoreInto is handed: the level just loaded and the run to put back into it.
- RunService
-
The client side of a sharing service — the
v1/sharesroutes ofcloud/serverin this repository, or anybody's server that speaks them. -
RunSession<
L> - The run: which level is up, what happened to it, and where to go next.
-
RunStatus<
L> - What a game is doing, as far as a screen is concerned.
- RunTimeline
- Pause, step, rewind and branch, built on a live RewindBuffer and the EngineLoop it is attached to.
- SamplerAddressMode
- What sampling outside the 0..1 range does.
- SamplerBorderColor
- The colour a sampler clamping to its border returns outside the texture.
- SamplerDescriptor
- How a texture is sampled.
- SaveFile
- Where a run in progress is kept between launches.
- SaveFound
- The document held a save, brought up to the game's schema.
- SaveNotRead
- The document is not a save this build can use, and why.
- SaveRead
- What SaveRecord.read made of a document.
- SaveRecord
- One saved run: the level, the snapshot, how far the run got, the schema its fields are at, and a digest to tell two copies apart.
- SaveRefused
- Why the run cannot be read by this build.
- SaveSchema
- A game's save schema: the migrations from version 0 to now.
- SaveSlots
- A game's saves, one per slot: three runs on a title screen, an autosave beside a manual save, a profile per player on one device.
- SaveSync
- The save on this device and a copy of it in a CloudSaveStore, made one.
- SaveUpgrade
- What SaveSchema.upgrade made of a run.
- SaveUpgraded
- The run at the current version, and the version it was written at.
- Scene
- A scene: a hierarchy of nodes plus flat registries of what is in it.
- SceneBinding
- A binding as the renderer holds it: its spec, and the kind of node its spec names.
- SceneBindingContext
- What a SceneNodeKind is told about one entity's component: one object that can gain members — the entity's other components, the view — rather than a list of parameters that grows.
- SceneBindingRegistry
-
Where scene bindings are registered: the data plugin's
bindings:section and a Dart plugin alike (D37). Filled by the renderer'sSceneBindingsinflutter3d_core; an engine that draws nothing has none, and a binding's install notes that rather than failing. - SceneBindings
- The scene bindings of one renderer, and the kinds of node they make (D37). The SceneBindingRegistry the plugin API names, filled.
- SceneBindingSpec
- How a component of the simulation is shown in the scene (D37): which kind of node stands for an entity that has it, with what material, which of its fields drive which of the material's parameters, how the node follows the steps and when it is made.
- SceneBvh
- A bounding volume hierarchy over bounding spheres.
- SceneEncodeRequest
- What RenderServices.encodeScene is handed: the scene, the pass it is drawn into, and the camera it is drawn through.
- SceneNode
- A node in the scene graph: a name, a place in the hierarchy, and a transform.
- SceneNodeKind
-
A kind of node a scene binding makes (D37):
f3d.mesh,f3d.lightand the engine's other kinds, or a plugin's own, named<namespace>.<kind>. - SceneTurn
- One turn at putting something loaded into a scene — Scene.reserveTurn.
- Scoring
- Points, and the run of them a player is holding.
- ScreenBounds
- A rectangle on the glass, in logical pixels, with the origin top left.
- ScreenPoint
- A point on the glass, in logical pixels, with the origin top left: where projectPoint says a point in the scene lands.
- ScreenRect
- A rectangle of a render target, in whole pixels: the scissor, a readback region, an overwrite's region.
- ScrubAnswer
- What RunTimeline.scrubTo and RunTimeline.branchHere answered.
- ScrubMoved
- The live state is now the state before step.
- ScrubRefused
- Nothing moved, and reason says why and what to do instead.
- SeatInput
-
What a simulation's
applyInputis told: one input a game submitted, and the seat it came from. - Sequence
- A cutscene, its moments in steps.
- SequencePlayer
- Where a Sequence has got to, stepped with the simulation.
- SequenceRead
- What Sequence.read made of a document: the sequence, or every problem with it and where.
- SequenceSignal
- A cutscene's signal, fired on its step: signal and the document's data for it, for the game to answer — a sound, a clip, a door.
- SequenceView
- What a cutscene shows: the camera's pose, the fade and the subtitle, read off a Sequence's keys for a frame.
-
ServiceAnswer<
T> - What a call to a service came to.
-
ServiceDone<
T> - Done, with what the service gave back.
-
ServiceRefused<
T> - Not done, and why — in the server's words when it answered.
-
SettingKey<
T extends Object> - One thing a player can change, typed, under a namespaced id.
- SettingsExtensions
- The values RenderSettings holds in slots that are not its own fields — RenderSettings.extensions.
- SettingsFile
- Where a game keeps what the player changed.
-
SettingsSlot<
T extends Object> - A kind of settings RenderSettings carries for whoever defined it — the key RenderSettings.extension reads by and RenderSettings.withExtension writes by.
- SettingsState
- What the settings screen is doing.
- Severity
- Roughly how much an issue matters: the one severity a mesh check, an export, a level's validation and a library's Issue all speak in.
- ShaderBundle
- A loadable shader bundle: a name, the SDK it was compiled on, the stages it claims, and a compiled section per backend that needs one.
- ShaderBundleStage
- One entry point a bundle claims to hold.
- ShaderDiagnostic
- One error a shader compiler gave, and where: what a tool underlines.
- ShaderHandle
- One compiled stage of a pipeline — a vertex or a fragment program.
- ShaderLibrary
- The stages a compiled bundle holds, addressed by name.
- ShaderStageKind
- What a stage runs as: a vertex, a fragment or a compute program.
- ShadowCascades
- The directional map as the engine fitted and laid it out for one frame: what a technique's own producer draws into (D22).
- ShadowCasting
- How a brush takes part in the shadow passes, as a document says it.
- ShadowCastingMode
- How a mesh takes part in the shadow passes.
- ShadowCubeAtlas
- The cube atlas of point and spot lights as the engine laid it out and fitted it for one frame: what a technique's own producer draws into (D22).
- ShadowCubeLight
- One light's row of a ShadowCubeAtlas.
- ShadowFilter
-
How the directional light's shadow map is filtered into a soft edge —
S2. - ShadowKernel
- The lookup the lit draws make into the directional map, and its parameters.
- ShadowPrefilter
- The full-screen stage that turns the directional depth atlas into the moments ShadowKernel.moments reads, and how wide it blurs.
- ShadowProducerContext
- What a ShadowTechnique is told when the frame asks it for a producer of its own (D22): one object that can gain members — the cascades the engine fitted, the atlas rows a cube light holds — rather than a list of parameters that grows.
- ShadowSettings
- Shadow mapping settings: the directional cascades and the point and spot cube atlas.
- ShadowTechnique
-
How the directional map is drawn, prepared and read: what a
ShadowFilterstands for when the renderer draws a frame. - ShadowTechniqueContext
- What a ShadowTechnique is told when the frame asks it how the map is split, prefiltered and read: one object that can gain members — the light, the device's features, the quality row — rather than the application's ShadowSettings, which a technique has no say in.
- Shape
- A parameterized generator of geometry.
- ShapedPair
- Two numbers of a two-axis source after its AxisSettings shaped them: what AxisSettings.shapePair and AxisSettings.shapeDelta answer.
- A level somebody shares, and optionally a run through it — what a short code stands for.
- A bundle the service has filed: the code to hand out and where it stands.
- One uploaded mesh per distinct shape, shared by everything that asks for it.
- Where a shared bundle stands with the service's moderation.
- Shown
- One burst, where it happens, and which way it goes.
- Signal
- A mechanism that does nothing itself and switches something else on.
- SignalCue
- One signal: name fired, with data, on step.
- SilentBackend
- A backend that makes no sound and records everything.
- SilentVoice
- One recorded voice. Public because a test reads it, and a type a test has to reach for is part of the interface whether or not it looks like one.
- SimCommands
- Changes to a world made later, at the end of the phase that asked for them, in the order they were asked.
- SimQueries
-
The questions a simulation answers by name, for
SimulationHandle.ask. - SimQuery
- A query being built: the component types an entity must carry, must not carry, and must have had set recently.
- SimSpawned
- What a SimCommands.spawn hands its builder: the entity just spawned and the world it is in.
- SimulationHandle
- What the view holds of a simulation: its published state, a way to hand it input, questions answered asynchronously, and rewinding.
- SimulationPlacement
-
Where a
Flutter3dView's simulation runs: in the view's own loop, on the thread that draws (SimulationPlacement.inline), or in an isolate of its own (SimulationPlacement.isolate). - SimulationProfile
- What a simulation promises about its numbers, and so what may be done with a run of it.
- SimulationQueryRegistry
- The questions a simulation answers by name, for a view that asks them through SimulationHandle.ask.
- SimulationQuestion
- What a SimulationAnswer is handed: the world it answers from and the arguments the question was asked with.
- SimulationSetup
- What a SimulationFactory builds where the simulation runs: the loop, how a submitted input reaches it, and how much history it keeps.
- SimulationVersion
- Which simulation a run was played in, or a machine plays: the engine's number, a genre's, and one for every simulation plugin installed.
- SimWorld
- The world a simulation's systems read and write: entities, components on them, and resources that belong to no entity.
- Skeleton
- A posed skeleton: joint nodes plus the matrices that undo their bind pose.
- SkinBlend
-
Skins a mesh's positions, normals and tangent directions on the CPU, into
a copy of its vertex buffer —
anim-02's own row, the skinning half of what MorphBlend already does for morph targets. - SkinningContext
- What a SkinningHook is asked about one skinned mesh, and where it writes the answer.
- SkinningHook
-
How a skinned mesh is skinned (D22b), beside the engine's own four-joint
linear blend in
mesh_skinned.vert. - SkippedPass
- A registered pass that did not run, and why.
- SkippedPassSnapshot
- One pass that did not run, as a FrameGraphSnapshot holds it.
- SkyDome
- An inside-out sphere, which is a sky the camera sits at the centre of.
- SkyGradient
- The cheapest description of a sky that still reads as one: three stops and a scattering lobe around the sun.
- SkyLook
- Where a SkyColor is being asked to look.
- SkySettings
- What the sky looks like, and whether there is one.
- SlotActions
- The actions that pick one of a game's numbered slots — a weapon, a hotbar's block — as InputState.requestSlot does.
- Snapshot
-
A saved state: the game's own fields in data, and the plugins it
requires, written in the
f3d.saveenvelope. - SnapshotPart
- One part of the state a snapshot covers: the world, a plugin's own fields, a Wasm module's memory.
- SnapshotRegistry
- Every SnapshotPart of one engine, in registration order, and the one way their state is captured, restored and digested.
- SnapshotRestoreContext
- What SnapshotPart.restore is handed: what the part's SnapshotPart.capture wrote, and the version it wrote it at.
- Snapshots
- Every SnapshotPart of one engine, and the one way a state is captured, restored and digested.
- SoftwareOcclusion
-
OcclusionMode.software: this frame's occluders rasterised into an OcclusionBuffer before the render list is built —C2. - SolidColorTexture
- A single flat colour, or a single flat value.
- SortMode
- How a sub-list of draws is ordered.
- SoundBank
- Everything one game can make a noise about, as one list.
- SoundDef
- A sound the game can ask for, by name and behaviour rather than by file.
- SoundOcclusion
- How much of a sound survives the walls between its source and the ear.
- SpatialQuery
- What a SpatialRenderer is asked about one emitter: who hears, what is heard, and what stands between them.
- SpatialRenderer
- Turns where a sound is into how it is heard.
- SpatialResult
- What a SpatialRenderer decided about one emitter.
- SpatialUpscaleSettings
-
Bringing a frame drawn below full size up to it without a temporal
resolve —
R5. - SpawnContext
- What an entity is given when it is asked to become real.
- SpawnPoint
- Where a body starts in a level, and which way it faces: what LevelWalk.spawnIn reads from the level's first spawn.
- SphereEmitter
- Outwards in every direction. Explosions, and anything that bursts.
- SphereShape
- UV sphere, a revolved meridian arc.
- Spill
- What ran over a vessel's lip in one step, in the world.
- SplatAxes
- Which axes a cloud read by parseSplatSpz comes back in.
- SplatCloud
- A fitted cloud, in the units the file stored.
- SplatColorSpace
-
The colour space a splat's colours were fitted in, as
KHR_gaussian_splatting'scolorSpacenames it. - SplatComposite
-
How a cloud's overlapping splats are combined —
N5. - SplatContributor
- Draws a cloud into the scene pass.
- SplatGpuSort
-
Sorts one cloud's keys on device and keeps the index buffer the draw
binds. One per drawn cloud, as
SplatSorteris. - SplatLens
- What SplatQuads.build needs of a camera beyond its right and up axes: its view axis, and how the projection turns depth into pixels.
- SplatLod
-
Draws a splat tree at a budget — what
SplatQuads.lodtakes in place of a single cloud. - SplatOctree
- A cloud as a tree of levels of detail. Node 0 is the root.
- SplatOctreeNode
- One box of the tree.
- SplatQuads
-
Builds the vertex data for cloud, back to front, as
camerasees it. - SplatSorter
- Keeps a cloud's back-to-front order and the scratch the sort needs.
- SrgbColor
- A colour encoded for display, as LinearColor.toSrgb gives it: what a swatch, a hex code or a file a person edits holds.
- StageBindings
- What a compiled stage keeps: the uniform blocks and samplers its compiled function has a slot for, by name.
- SteadyLight
- Steady. A lamp, a stained window with daylight behind it.
- StencilOperation
- What happens to a stencil value once the stencil and depth tests have decided a fragment's fate.
- StencilState
- How the stencil test treats the draws that follow, for one face.
- StepContact
-
One contact a step of a
RigidDynamicsfound, as it reports it (RigidDynamics.contacts): two colliders, at least one a body, where and how they met. - StepDivergence
- Where two runs of one step parted.
- StepEventSummary
- What one step published on the step channel, digested.
- StepSpan
- The first and the last of a run of steps, both included.
- StlLoader
- Decodes STL, binary or ASCII.
- StlModelWriter
- STL, binary or ASCII.
- StlNormals
- How a facet's normal is chosen.
- StlWriter
-
Encodes any ModelDocument as STL, binary or ASCII —
fmt-20's own row. - Storage
- Where a game keeps the small documents a player's choices live in.
- StorageBuffer
- A buffer a compute stage reads and writes.
- StorageMode
- Where an allocation lives and how it may be used.
- StoreAction
- What happens to an attachment's contents when a pass ends.
- Subsystem
- A solver of the simulation, registered with what it reads and writes.
- SubsystemContext
- What a Subsystem is told about the step it runs in, and its way to the fields it declared.
- SubsystemDeclaration
- What a solver says about itself before it runs: its id and version, the quantities and fields it reads and writes, and its place in the step.
- SubsystemRegistry
-
The subsystems of one engine:
host.registry<SubsystemRegistry>(). - SubtitleCue
- One subtitle: shown from step from up to, not including, step to.
- SurfaceAlphaMode
- How a surface treats the alpha channel.
- SurfaceMaterial
- Format-neutral description of how a surface looks.
-
SurfaceTable<
T> - What this game thinks a level's surface words are worth.
- SwappableTexture
-
A texture a game draws, kept so a changed image file reaches every
material that samples it — see
HotSwap.loadTexture. - SweepHit
- Where a swept shape first touched something.
- SweepQuery
- What WorldSweeps.sweep is handed: shape moved from origin by delta, meeting things on a layer in mask but not ignore, and the hit to write into out.
- SweptContact
- What a ContactFilter is told about the contact it is judging.
- SyncOutcome
- How a sync ended.
- SyncReport
- What SaveSync.sync did, in a sentence, and for SyncOutcome.ask the two runs to choose between.
- SystemSettings
-
How a system added by
LoopRegistry.addSystemis ordered and what state it declares. - TableLaw
- A value tabulated against one quantity of the state, read between the points on a straight line.
- Takeable
- Something lying in the world that one toucher can take, once.
- Tally
- Things counted by name, and kept.
- TangentMethod
- How MeshTangents.withGeneratedTangents derives a frame from the UVs.
- TelemetryConsent
- A player's answer to "may we send what you did in a level, to see where levels are hard?", kept with when they gave it and to which wording.
- TelemetryLevel
- How much of a frame the renderer measures, and what it costs to.
- TelemetryReceipt
- What a server gave back for an accepted run: its number there, and the key that takes it back out.
- TelemetrySent
- The answer to sending one run.
- TelemetrySink
- Where uploads go. The HTTP one is HttpTelemetrySink; a test hands in its own.
- TelemetryUpload
- What goes over the wire: which game, the run as a Demo, and the consent it was sent under.
- TelemetryUploader
- Sends a finished run, if and only if the player agreed.
- TemporalClip
-
How the temporal resolve decides which of the history is still true —
N4. - TemporalSettings
-
Edges smoothed across frames —
R1,R2. - TexelValue
- The four channels a texel of a SolidColorTexture stores, each 0..1 before it is quantised to a byte.
- TextureAllocator
- Makes a texture. The one thing a pool cannot do on its own.
- TextureBinding
- A reference from a material to one of the document's images.
- TextureBlockLayout
- The block footprint and byte cost of a compressed TextureFormat — blockWidth by blockHeight pixels, bytesPerBlock bytes, however many channels or bits per channel the format packs into that block.
- TextureCodec
- An image format of a plugin's own — DDS, TGA, a game's packed format — read into RGBA8 pixels the engine uploads like a PNG's (D22b).
- TextureCodecs
- The image formats plugins brought, asked in the order they were registered — the application's first, then each plugin's.
- TextureCopyLocation
- A texel position in one level of one texture: the corner a copy starts from or lands at.
- TextureDecodeContext
- What a TextureCodec is handed for one encoded image: one object that can gain members, rather than a list of parameters that grows.
- TextureDescriptor
-
Everything a texture is made from —
TextureAllocator.createTexture. - TextureDimension
- The shape of a texture, as a view of it is bound.
- TextureFormat
- The layout of one texel.
- TextureFormatSupport
- What one TextureFormat can be used for on one device.
- TextureHandle
- A texture some backend owns, described in the engine's own vocabulary.
- TextureHint
- A path to an image, and what a file picker should offer.
- TextureRegion
- A box of texels in one mip level: a rectangle of width by height from (x, y) at the top left, across depthOrArrayLayers layers (or 3D slices) from z.
- TextureSampleKind
- What kind of value a TextureFormat's texels hold.
- TextureSampling
- Filtering and wrapping requested for a texture.
- TextureTransform
-
KHR_texture_transform's three fields — see TextureBinding.transform. - TextureType
- What shape a texture is.
- TextureUsage
- What a texture may be used for, fixed when it is made.
- ThermalProperties
- How a material takes heat, gives it off, changes phase and burns.
- ThinLens
- A thin lens as DepthOfFieldSettings.lensFor works it out: its focal length and the width of sensor the picture spans, both in metres.
- TiledProjection
-
One tile of a larger virtual frame, out of tilesX × tilesY —
pro- eng-04's own row: a tiled screenshot at a resolution no single render target holds, stitched afterwards from tiles rendered one at a time. - TimelineBranch
- What RunTimeline.onBranched is told when a branch has cut the future.
- TimelineBranched
- The run was rewound to step and released — everything after step in the buffer was cut, and the run continues from there.
- TimelineCommand
- One action taken on a RunTimeline, kept so a caller can show a history: every command is visible in it, and it is the same log an MCP command stream would replay.
- TimelineLevelSwapped
-
The level under the run was replaced, taking effect before step: the
run was replayed from there under the level whose document digests to
levelDigest (
Level.digestHex). - TimelinePaused
- The run was paused.
- TimelineReplayed
-
The last seconds were lived again under new code, from fromStep to the
present —
RunTimeline.replayUnderNewCode. - TimelineResumed
- The run was resumed from a pause.
- TimelineReturned
- A scrub was left, and the present put back as it was.
- TimelineScrubbed
- The live state was moved to the state before step to be looked at; the tape and the present are kept, and nothing has branched yet.
- TimelineStepped
- One fixed step was taken while paused.
- TimeSource
- How many seconds of simulated time a displayed frame brings: the loop's clock.
- TonemapCurve
-
Which curve the composite rolls highlights off with —
gfx-17n. - TorchFire
- One torch's fire.
- TorusShape
- Torus: a closed circular profile revolved around Y.
- TrackSample
- A component's value from step on, until the next sample says otherwise.
- TransferEncoder
- Records copies; submit hands them to the queue.
- TransparencyMode
-
How the transparent half of a view is composited —
R8. - TriangleBvh
- A bounding-volume hierarchy over the triangles of one mesh.
- TriangleHit
- Where a ray met a mesh, as TriangleBvh.rayCast answers it: which triangle, in the mesh's own index order, how far along the ray, and the point.
- TriggerCondition
- A trigger parameter being set — and consumed when the transition fires.
- TriggerKind
-
An invisible volume that fires its
targetwhen the player, or withanyoneany body, walks in; once only unlessonceis false. - TriggerVolume
- A volume that fires its target when something walks into it.
- TwoBoneIk
-
Two-bone inverse kinematics — an arm or a leg, bent to reach a point —
anim-14's own row. - UniformBlock
- A block's members, by name, under the block's own name.
- UniformMemberLayout
-
One member of a uniform block as the compiler lays it out —
H1: where it starts, how many bytes it takes, how many elements if it is an array (one if not), and its reflected type name (Vector4,Matrix4,Float, ...). - Unit
- A unit of measurement: a dimension, the scale that takes a value in it to the coherent SI unit of that dimension, and the symbol it is written with.
- UniversalTarget
- What a universal level can be turned into at load.
- UnorderedAccess
- Two systems of one phase that touch the same state with no order between them: one of them writes it, and neither runs after the other through a constraint or a chain of constraints.
- UsdzModelWriter
-
.usdz— geometry only, the spike UsdzWriter describes. Not a CheckedModelWriter: nothing here reads a.usdz. - UsdzWriter
-
Encodes a ModelDocument as
.usdz—fmt-27's own row, and a spike rather than the feature-complete writer every other format here has: geometry only, no materials, no hierarchy past oneMeshprim per surface. What decides whether it grows past that is stated in the plan as a question — is there demand — and a spike is exactly the size of thing that can answer it without committing to the rest up front. - Vector2
- 2D column vector.
- Vector3
- 3D column vector.
- Vector4
- 4D column vector.
- VersionRange
-
The versions of a plugin a dependent accepts:
any,^1.2.0,>=1.0.0 <2.0.0,1.4.2. - VertexAttribute
- Describes a single vertex attribute.
- VertexFormat
- The type of one vertex attribute, and how much room it takes.
- VertexLayout
- An ordered set of attributes making up an interleaved vertex.
- VertexLayoutDescriptor
- Every buffer a pipeline reads vertices from, in slot order.
- VertexStageVariant
- A variant of a material's own vertex stage, for geometry that reads more than the standard vertex (D22b).
- VertexStepMode
- Whether a buffer advances once per vertex or once per instance.
- VesselLip
- The lowest point of a vessel's rim along a direction, where liquid leaves first — VesselVolumes.lip.
- VesselShape
- The inside of a vessel, in its own frame, as far as liquid in it cares: how much it holds below any plane, and the edge of its mouth.
- VesselSpan
-
How far a vessel's inside reaches along a direction — VesselShape.span:
the least and greatest
up · pover it. - VesselWallDistance
- How far a point is from a vessel's wall, and the wall's way out there — RevolvedVessel.wallDistance.
- ViewModelNode
- Draws the first-person view model over the finished scene.
- ViewportRect
- Normalized viewport rectangle.
- ViewportShading
-
Which viewport shading a frame is drawn with —
gfx-43n,44n,45n. - ViewportShadingSettings
-
Shading read out of the surface buffer instead of out of the materials —
gfx-43n,gfx-44nandgfx-45n. - ViewResolution
- How many device pixels a Flutter3dView draws per logical pixel — its resolution policy. An open set: a later minor may add a policy.
- ViewRuns
- How often a frame runs a RenderNode: perView or once.
- ViewSettings
-
What a
Flutter3dViewdraws and how: the frame's settings, the view's own, the resolution, when it draws, and what shows instead. - VirtualCamera
- One camera a game could be looking through: a framing, the rig that carries it out, and how much it wants to be the one shown.
- VisibilityBatch
- One batch of level geometry and the box it fills.
- VisibilityCuller
- Hides the level's batches a camera cannot see, once a frame.
- VmExtensions
- The engine's VM service extensions, as a registry plugins add theirs to.
- VoiceStart
- What AudioBackend.start is handed: the voice to begin.
- VoiceUpdate
- What AudioBackend.update is handed: a playing voice and what it plays at now.
- VolumetricFogSettings
-
Air with a thickness, lit by the sun and by the torches in it —
S4. - WindSettings
- A uniform wind field, applied per triangle as drag along its own normal.
- WorldMirror
- Something that keeps a copy of a world — the physics core's mirror — told at the end of every step, in CollisionWorld.update, to bring its copy to where everything now is.
- WorldOffset
- How far one WorldPosition is from another, in metres along the world axes and still in double precision: what WorldPosition.relativeTo answers.
- WorldPosition
- A point in world space: metres, Y up, a right-handed frame, in double precision.
- WorldPositionCodec
- How a WorldPosition component is written: three doubles, in metres.
- WorldProperties
- The properties of one world, read by everything in it.
- WorldPropertiesPatch
- The fields of a WorldProperties something sets, and nothing it does not.
- WorldRay
-
A ray in the world: an origin in double precision and a unit direction —
decision 2 and 3 of the API review (
Raycollided with vector_math's; the float32 ray of the geometry library isLocalRay). - WorldRays
- A world's rays, cast elsewhere — P9: the physics core answers them through what it mirrors of the world.
- WorldSweeps
- A world's sweeps, cast elsewhere: the physics core moving a shape through what it mirrors of the world.
- WorldTiming
- How a world is stepped in time: its step rate.
- WrittenFile
- One file a write produced.
- XrAnchor
- A point fixed to the real world, which the runtime keeps where it is as it learns the room.
- XrAnchorRequest
- What an anchor is asked to be fixed at.
- XraySettings
- Silhouettes of what the walls hide.
- XrCapability
- What an XR runtime can do: the modes it runs in and the features beside them.
- XrControl
- A control on a tracked controller or a hand: a trigger, a stick, a face button, a pinch.
- XrControlReading
- What one XrControl reads in one frame: whether it is pressed or touched, how far it is pulled, and where a stick or a pad is.
- XrCylinderLayer
- A band of a cylinder around pose, of radius meters, centralAngle radians wide and height meters tall, showing image on its inside: a wide panel that stays the same distance from the eyes.
- XrFieldOfView
-
How wide one view sees, as four angles from its own forward axis in
radians: OpenXR's
XrFovf. left and down are negative for a view that sees past its axis that way, as they are for every headset. - XrFrame
- One frame of a session: when it will be shown, where the eyes and the hands will be, and what the room looks like.
- XrFrameEnd
- What the engine hands back for a frame: the layers the runtime composes, in order, the first at the back.
- XrHand
- Which hand a tracked thing is held in or is.
- XrHaptic
- A pulse a controller plays.
- XrInputSource
- A controller or a tracked hand, as one frame reads it.
- XrLayer
- One layer of a frame, composed by the runtime in the order the frame lists them.
- XrLightEstimate
- The room's light as the runtime measured it, for the frame's environment.
- XrPanel
- A Flutter widget shown in a headset as a layer of its own: a menu, a readout, a page of a lesson.
- XrPanelRequest
-
What
XrDriver.drawPanelis asked to draw: a panel's widget into a texture width by height pixels. - XrPanelShape
- The shape a panel is shown in.
- XrPlane
- A flat surface the runtime found: a rectangle of width by depth meters centered at pose, lying in the pose's x-z plane with its normal along the pose's +y.
- XrPlaneOrientation
- Which way a detected plane faces.
- XrProjectionLayer
- The scene, drawn once per view into the layers of image: what a headset shows.
- XrQuadLayer
- A flat rectangle of width by height meters at pose, showing image: a panel of crisp text, composed by the runtime at the display's own resolution rather than resampled through the scene.
- XrSceneMesh
- A mesh the runtime made of the room: vertices as x, y, z triples in the space of pose, and indices three to a triangle.
- XrSession
- The engine's one boundary to an XR runtime.
- XrSessionRequest
- What a session is asked to start as.
- XrSessionState
- Where a session is in its life, as the runtime says.
- XrSettings
-
What a
Flutter3dViewis told to do with an XR session: which session, what to ask it for, what to show beside the scene and how the controls reach the game. - XrSpace
- The space a session's poses are stated in: where its origin is and which way is up.
- XrSwapchain
- A ring of images a runtime shows, one drawn into each frame.
- XrSwapchainRequest
- The shape of the images a session is asked for.
- XrView
- One view a runtime wants drawn for a frame: an eye, or a camera of a phone's AR.
Enums
- CompareFunction
- The test a depth or stencil comparison performs.
- FramebufferOrigin
- Where a render target's first row of pixels is.
- GltfComponentType
-
glTF
componentTypevalues. - ShadowCasterFaces
- Which faces of a caster are drawn into a shadow map.
- StorageTextureAccess
- How a compute or render stage may touch a storage texture.
- WedgeUphill
- Which way a CollisionWedge climbs.
- WindingOrder
- Which winding counts as front-facing, wound in clip space: a transform that mirrors reverses the facing without touching the order the vertices arrived in, and every backend decides after the vertex stage rather than before it.
Mixins
- CommandEncoder
- A pass somebody opened, and must therefore close.
- LoadedShaderLibrary
- A library a device built from bytes it was handed, and can rebuild.
- RenderBundleEncoder
-
Records draws once, to be replayed into many passes —
GraphicsDevice.createRenderBundleEncoder.
Extension Types
- BackendId
- A backend's id: the short, lower-case name a material compiler, a plugin manifest, a shader section, a conformance report and the device registry match a device by, compared exactly.
- Entity
- A handle to something in the world, not the thing itself.
- ResourceId
- Something a node reads or writes, addressed by name.
Extensions
- BindUniformBlockObject on PassEncoder
- Binds a UniformBlock object in one call.
- BlendFactorInfo on BlendFactor
- The two 0.9 blend capabilities a BlendState-shaped value can need.
- BundledMaterialLooks on BundledMaterials
- Ready-made RenderMaterials for the bundled material library.
- ColorToLinear on Color
- A Flutter Color decoded into linear light.
- DebugDrawGizmos on DebugDraw
- The shape-level overlays — boxes, axes, normals, frusta, spheres, light gizmos — and buildForScene, which assembles them from a Scene.
- JsonLinearColorWriter on LinearColor
- Writing a LinearColor the way a level document holds one.
- LevelCollision on Level
- Building the physical side of a level.
- LinearColorToFlutter on LinearColor
- A LinearColor encoded as a Flutter Color.
- LinearColorVector on LinearColor
-
A LinearColor in the shapes
vector_mathand a GPU buffer take. - MeshTangents on MeshData
- Tangent generation, split out of MeshData because it is a self-contained algorithm that only ever touches MeshData's public surface — an extension keeps it that way rather than granting it access to private state it does not need.
- ModelAssetInstantiate on ModelAsset
-
instantiateand its helpers, added to ModelAsset. - PassStateApply on PassEncoder
- Applies a PassState to an encoder.
- TextureFormatCompression on TextureFormat
- Whether a TextureFormat is stored in fixed-size blocks rather than one value per texel, and — for the formats where it is — how big those blocks are.
- TextureFormatInfo on TextureFormat
- Facts about every TextureFormat that do not depend on a device.
- TextureFormatStencil on TextureFormat
- Whether a TextureFormat carries an eight-bit stencil beside its depth.
- Vector3Foundation on Vector3
-
A float32
Vector3read back into world space, or as a colour. - Vector4Foundation on Vector4
-
A float32
Vector4read as a colour. - VesselVolumes on VesselShape
- The questions a VesselShape answers through its volume.
- WorldPositionVector on WorldPosition
- A WorldPosition narrowed to float32, relative to an origin.
- XrPoseInput on RigidPose
- A RigidPose as XR input: the seven numbers an ExternalStateInput carries, and back.
Constants
-
builtInModelExtensions
→ const Map<
String, ModelFormat> - Every file suffix a built-in reader answers to, and which reader.
-
builtInModelWriters
→ const List<
ModelWriter> - Every writer this package ships, in the order a menu would offer them.
-
coreFormats
→ const List<
FormatSpec> -
Every format
flutter3d_corewrites and promises to keep reading, for an engine'sFormatRegistry: the model and material formats ofpackage:flutter3d_core/formats.dart(modelFormats), the frame capture, and the shader bundle and trace offlutter3d_hardware(hardwareFormats). - f3dVendorKindStart → const int
- The first section kind that is never the engine's. Kinds from here up are free for tools and plugins; the engine skips them unless asked to read one.
-
gameFormats
→ const List<
FormatSpec> -
Every format
flutter3d_gamewrites and promises to keep reading, for an engine'sFormatRegistry: the settings file, an action map, the index of save slots, the cloud-save state and the telemetry answer. A save itself isflutter3d_sim's (simFormats). - impostorGrid → const int
- Views along each side of an impostor atlas: the plan's eight, fixed in 0.8 so no shader block has to carry it.
-
modelFormats
→ const List<
FormatSpec> -
The engine's own model and material formats, for a
FormatRegistry:.f3d,.fmat,.f3dmatand.f3dsplat. - rootMotionExtra → const String
-
The key a clip's own extracted root motion sits under in
AnimationClip.extras —
anim-16's ownflutter3dRootMotion. -
settableBuses
→ const List<
AudioBus> - The buses a player is offered, in the order the panel shows them.
- toolEventPrefix → const String
- What every kind a game posts is prefixed with on the VM service.
Properties
-
builtInMaterialHints
→ Map<
String, MaterialHint> -
Hints for the fields every material has, held here rather than written into
every file.
final
Functions
-
advanceTime(
{required double seconds, required double deltaSeconds, required double length, required AnimationWrap wrap, required bool reversing}) → PlayheadStep - Where a playhead lands after a step, and what the wrap did to it.
-
answerLevelApply(
LiveLevel live, Map< String, String> parameters) → Future<LevelExtensionAnswer> -
Answers
ext.flutter3d.level.applyforlive:parameterscarry the level's wholedocument, as JSON, and itshash,Level.digestHex. -
answerLevelPatch(
LiveLevel live, Map< String, String> parameters) → Future<LevelExtensionAnswer> -
Answers
ext.flutter3d.level.patchforlive:parameterscarry aLevelPatchas JSON, made against the level the editor last saved. -
applySavedVolumes(
GameSettings settings, Mixer mixer) → void -
Copies every saved volume into
mixer: the buses settableBuses lists, and any other the player has a volume for. -
assetUriResolver(
String baseAssetPath, {AssetBundle? bundle}) → AssetUriResolver - Resolves asset URIs against the Flutter asset bundle.
-
bindMaterial(
MaterialDocument document, {required GraphicsDevice device, required AssetUriResolver resolveUri, String? name, LightingModel lighting = LightingModel.pbr, IssueSink? onIssue, ImageDecoder decodeImage = defaultImageDecoder, Map< String, MaterialProgram> programs = const <String, MaterialProgram>{}, TextureCodecs? codecs}) → Future<RenderMaterial> - Turns a read material into one the renderer can draw with.
-
bindSurfaceMaterial(
SurfaceMaterial source, {LightingModel lighting = LightingModel.pbr, bool transformsAtSampler = false, required Future< TextureHandle?> textureFor(int, TextureSampling), LayerImages? layerImages}) → Future<RenderMaterial> -
sourceas a material the renderer can draw with, uploading what it samples. -
bloomLevelsFor(
BloomSettings settings, {required int frameHeight}) → int -
How many halvings the bloom chain does on a frame
frameHeighttall —gfx-31n. -
bugReportTape(
RewindBuffer rewind, {String? part}) → BugReportTape? -
rp-04's game-side half: the last few secondsrewindhas kept, as the state and the tape a Demo needs — everything except the checkpoints and the free-text fields, which only the caller can supply. -
buildMipChain(
Rgba8Image base, {bool srgb = false, bool isNormalMap = false, double? alphaTestThreshold}) → List< Rgba8Image> -
Builds a full mip chain from
basedown to a 1×1 level, each level a proper Kaiser-windowed resample of the one above rather than a box average —ap-08indoc/asset-pipeline-plan.md. -
buildPolyline(
List< Vector3> points, {required double width, List<LinearColor> ? colors, LinearColor? color, bool closed = false}) → MeshData -
pointsas one bandwidthpixels across, coloured per point. -
buildsMipChain(
GraphicsDevice device, TextureSampling sampling, int width, int height) → bool - Whether an image of this size, sampled this way, gets a mip chain.
-
buildSplatOctree(
SplatCloud cloud, {int leafCapacity = 512, int grid = 8}) → SplatOctree -
Builds the tree over
cloud. -
builtInModelDecoder(
ModelFormat format, ModelLoadRequest request) → ModelDecoder -
The decoder this package ships for
format, configured fromrequest. -
busesIn(
Iterable< SoundDef> sounds) → List<AudioBus> -
The buses
soundsactually reaches, in the order settableBuses lists. -
canDecodeFileName(
String fileName, {List< ModelDecoder> decoders = const <ModelDecoder>[]}) → bool -
Whether a file called
fileNameis one decodeModelBytes would read on its name alone — a built-in suffix, or one ofdecodersclaiming it. -
capturePhoto(
{required Renderer renderer, required Scene scene, required CameraNode camera, required int width, required int height, required FutureOr< void> onRows(PhotoRows rows), RenderSettings settings = const RenderSettings(), PhotoFilter filter = PhotoFilter.none, LinearColor? clearColor, int layerMask = RenderLayers.all, int tileWidth = 1024, int tileHeight = 1024, int margin = 32, void onProgress(double progress)?}) → Future<PhotoCaptureReport> -
Draws
scenethroughcameraatwidth×heightand hands it toonRowsa row of tiles at a time, top to bottom, finished and opaque. -
clockText(
double? seconds, {bool thousandths = false, String? none}) → String - Minutes and seconds, which is how a time is read rather than how it is counted.
-
colorVisionOf(
GameSettings settings) → ColorVision? -
The correction
settingsasks for, or null for none. -
compareModelDocuments(
ModelDocument source, ModelDocument readBack, {double tolerance = 0.0, bool allowVertexReorder = false}) → List< DocumentDifference> -
What
readBacklost or changed againstsource. Empty means the round trip held. -
contributionBetween(
ByteData without, ByteData with_, {required int width, required int height}) → PassContribution -
Differences two RGBA frames of
widthbyheight. -
decodeDataUri(
String uri) → Uint8List -
Decodes a
data:URI payload. -
decodeDraco(
Uint8List bytes) → DracoMesh -
Decodes
bytes, the contents of the buffer view a primitive'sKHR_draco_mesh_compressionextension points at. -
decodeJpeg(
Uint8List bytes) → DecodedImage -
bytesdecoded. -
decodeModel(
ModelLoadRequest request, {AssetRead read = AssetRead.whole}) → Future< ModelDocument> - Decodes a model on the calling isolate.
-
decodeModelBytes(
ModelLoadRequest request, Uint8List bytes, AssetUriResolver resolveUri) → Future< ModelDocument> - Decodes already-read bytes with an explicit resolver.
-
decodeModelInIsolate(
ModelLoadRequest request, {AssetRead read = AssetRead.whole}) → Future< ModelDocument> -
Decodes a model on a background isolate — in the browser, on the decode
worker where one is running (
WebDecodeWorker) and in place where not. -
decodePng(
Uint8List bytes) → DecodedImage -
bytesdecoded. -
defaultImageDecoder(
Uint8List encoded, {int? maxDimension}) → Future< Rgba8Image?> - The ImageDecoder every existing Flutter app gets for free.
-
describeEmptyFrame(
Scene scene, List< CameraView> views) → String? -
Why
scenedrew nothing throughviews, or null when something did draw. -
deviceClassPath(
String path, DeviceClass deviceClass) → String -
pathwithdeviceClassput before its extension:chair.f3dbecomeschair.phone.f3d,crypt.jsonbecomescrypt.phone.json. -
encodeModel(
ModelWriteRequest request) → Uint8List -
Encodes
requestin place — the same bytes encodeModelInIsolate would produce, run on the calling isolate instead of handed off. What encodeModelInIsolate falls back to on the web, and what a caller with no isolate to spare can call directly. -
encodeModelInIsolate(
ModelWriteRequest request) → Future< Uint8List> -
Encodes a model on a background isolate — the write-side mirror of
decodeModelInIsolate(model_loader.dart), for the same reason: writing a real model costs tens of milliseconds, which is jank on the UI isolate however fast the encoder is. See that function's own doc comment for why the web falls back to running in place instead. -
exportChecked(
ModelDocument document, CheckedModelWriter writer, {String name = 'model'}) → Future< ExportReport> -
Writes
documentthroughwriter, reads the files back through the same writer and compares at CheckedModelWriter.tolerance. -
exportToF3d(
ModelDocument document, {String name = 'model'}) → ExportReport -
Writes
documentto this engine's own.f3dcontainer, reads the result back and compares. Synchronous, unlike the other three:.f3dis read as a view over its own bytes rather than decoded, and nothing in that path is asynchronous either. -
exportToGlb(
ModelDocument document, {String name = 'model'}) → Future< ExportReport> -
Writes
documentas glTF, reads the result back and compares — a binary format, so the round trip is held to a tolerance of0.0. -
exportToObj(
ModelDocument document, {String name = 'model'}) → Future< ExportReport> -
Writes
documentas OBJ (with its.mtlbeside it, when the document names a material), reads the result back and compares — held toObjWriter.decimals' own precision rather than0.0, since a decimal text format rounds on the way out by design. -
exportToStl(
ModelDocument document, {String name = 'model'}) → Future< ExportReport> -
Writes
documentas binary STL, reads the result back and compares. -
fileUriResolver(
String baseDirectory) → AssetUriResolver - Resolves asset URIs relative to a directory on disk.
-
followCamera(
MeshNode sky, CameraNode camera) → void -
Moves
skyto wherecamerais, which is what makes a ten-metre sphere a sky rather than a ball. -
gather(
IrradianceField field, Scene scene, {int rays = 128, LinearColor sky = LinearColor.black}) → void -
Fills every probe of
fieldfromscene. -
generatedAssetPathFor(
String sourcePath) → String -
Where the build hook would have written
sourcePath's converted output —flutter3d_generated/<same relative path>.f3d, the exact mappingAssetLayout.plancomputes influtter3d_build, reimplemented here in three lines rather than imported: the engine depends on no build-time package, and three lines are not worth the first one. -
generatedMaterialPathFor(
String sourcePath) → String -
Where the build hook wrote
sourcePath's compiled material —P8:assets_src/fx/rim.f3dmatisflutter3d_generated/fx/rim.f3dshaders, the mappingAssetLayout.materialPlancomputes influtter3d_build, kept beside generatedAssetPathFor for the reason that one is reimplemented. -
highContrastOf(
GameSettings settings, Accommodations system, {HighContrastSettings base = const HighContrastSettings()}) → HighContrastSettings -
The look a frame is drawn with for this player:
baseswitched on or off by wantsHighContrast. -
httpJsonPost(
Client client) → JsonPost -
JsonPost over
client: whatHttpTelemetrySinksends with, natively and in a browser alike. -
httpRunTransport(
Client client) → RunTransport -
RunTransport over
client: what RunService speaks to a share server with. -
impostorCard(
{required Vector3 center, required double radius}) → MeshData -
The card an ImpostorNode draws, in the layout
impostor.vertreads. -
impostorRight(
Vector3 d) → Vector3 -
The right-hand axis of a card, or a baked view, facing along
d: level with the ground, except looking straight up or down, where level has no direction and -Z stands in for up. -
impostorViewDirection(
int column, int row) → Vector3 -
The direction view
column,rowof the grid was baked looking back along: from the middle of the sphere towards the camera that took it. -
isF3dFile(
Uint8List bytes) → bool -
True when
bytesbegins with the.f3dmagic. -
isFmat(
Uint8List bytes) → bool -
Whether
byteslook like a.fmat. -
isGeneratedAsset(
String key) → bool -
Whether
keyis a file the build generates — underflutter3d_generated/, a shader bundle anywhere, or JSON — and so one the web reads with loadRevalidatedAsset. Everything else an application ships by hand. -
isMissingFile(
Object error) → bool -
Whether
erroris a file that was not there. -
loadLevelAsset(
String asset, {AssetBundle? bundle}) → Future< Level> -
Loads the level document at
assetfrombundle, the application's own asset bundle unless another is given. -
loadMaterial(
AssetSource source, {required GraphicsDevice device, List< MaterialDecoder> decoders = const <MaterialDecoder>[], LightingModel lighting = LightingModel.pbr, IssueSink? onIssue, ImageDecoder decodeImage = defaultImageDecoder, Map<String, MaterialProgram> programs = const <String, MaterialProgram>{}, LightingModels? lightingModels, TextureCodecs? codecs}) → Future<RenderMaterial> -
Reads and binds in one call, which is what an application usually wants.
programslifts the parameters as bindMaterial says;lightingModelsis what the file is read against, as loadMaterialDocument says, andcodecswhat its images are decoded with, as bindMaterial says. -
loadMaterialDocument(
AssetSource source, {List< MaterialDecoder> decoders = const <MaterialDecoder>[], AssetRead read = AssetRead.whole, LightingModels? lightingModels}) → Future<MaterialDocument> -
Reads the material at
source, with no device involved. -
loadModelAsset(
String sourcePath, {bool debugMode = kDebugMode, DeviceClass? deviceClass, AssetSource generatedSource(String path) = BundleAssetSource.new, AssetSource fallbackSource(String path) = FileAssetSource.new, ModelDecoders? decoders, AssetRead read = AssetRead.whole, LightingModels? lightingModels}) → Future< ModelDocument> -
Loads a model by the source path a person actually wrote —
loadModelAsset('assets_src/chair.glb')— reading generatedAssetPathFor's own.f3drather than decoding the source itself, because that is what a project that has rundart run flutter3d_build:init(ap-10) and built at least once ships. -
loadModelByPath(
String path, {AssetSource bundleSource(String path) = BundleAssetSource.new, ModelDecoders? decoders, DeviceClass? deviceClass, AssetRead read = AssetRead.whole, LightingModels? lightingModels}) → Future< ModelDocument> - A model named by a path somebody else wrote — a level document, a vocabulary file — whichever of the two kinds of path it is.
-
loadRevalidatedAsset(
String key, {String? contentHash}) → Future< ByteData> -
key's bytes from the asset bundle, revalidated with the server on the web. -
loadRevalidatedAssetString(
String key, {String? contentHash}) → Future< String> -
keyas UTF-8 text, read as loadRevalidatedAsset reads it. -
loadShaderBundleAsset(
GraphicsDevice device, String key, {String? contentHash}) → Future< LoadedShaderLibrary> -
The shader bundle at
key, read with loadRevalidatedAsset and loaded ontodevicethrough loadShaderBundleBytes. -
loadShaderBundleBytes(
GraphicsDevice device, ByteData bytes, {required String asset}) → Future< LoadedShaderLibrary> -
bytesloaded ontodevice, with a stale bundle answered rather than passed on as a bare refusal. -
lockLandscapeForTouch(
{Playing? playing}) → void -
Locks to landscape and hides the system bars, on a device played by touch
—
playingsays whether this one is, and is the platform's own answer when not given. -
measureFrameMicros(
FutureOr< void> frame(), {int warmUp = 2, int frames = 8}) → Future<int> -
Times
framethe way a loading screen can afford to:warmUpcalls thrown away (the first frames pay for pipelines and uploads, which is not what is being measured), then the median offramesmore, in microseconds. -
modelWriterNamed(
String asked, {List< ModelWriter> writers = builtInModelWriters}) → ModelWriter? -
The writer in
writersthataskednames — by ModelWriter.name first, then by ModelWriter.suffix, with or without its dot, ignoring case — or null when none does. -
outlineColorOf(
Color color) → LinearColor -
color, a display colour a player picked from a swatch, asMeshNode.outlineColortakes it: linear, like every colour the engine takes. The ring is drawn on the finished picture and encoded back to the display there, so it comes out the colour of the swatch. The alpha is dropped: a ring is opaque. -
paintSky(
MeshData mesh, SkyColor color) → void -
Writes
colorinto every vertex ofmesh, by the direction it sits in. -
parseSplatPly(
Uint8List bytes, {bool keepHigherBands = false, SplatColorSpace colorSpace = SplatColorSpace.srgb}) → SplatCloud -
The cloud in
bytes, or a thrown SplatPlyException saying why not. -
parseSplatSpz(
Uint8List bytes, {SplatAxes axes = SplatAxes.rightUpBack, bool keepHigherBands = true, SplatColorSpace colorSpace = SplatColorSpace.srgb}) → SplatCloud -
The cloud in
bytes, or a thrown SplatSpzException saying why not. -
photoSettings(
RenderSettings settings, PhotoFilter filter, double exposure) → PhotoPlan - The settings every tile of a photo is drawn with, and what had to change.
-
postToolEvent(
String kind, Map< String, Object?> data) → void -
Tells a tool listening on the game's VM service — the editor's Play
panel, an agent's
play_events— that something happened: a level is up, the player died, a pickup was taken. -
projectPoint(
Matrix4 viewProjection, Vector3 point, {required double width, required double height}) → ScreenPoint? -
Where
pointlands, or null if it is behind the eye. -
rayAabb(
LocalRay ray, Aabb3 box) → double -
Distance along
raytobox, ornoHit. -
raySphere(
LocalRay ray, Vector3 center, double radius) → double -
Distance along
rayto a sphere, ornoHit. Inside counts as0. -
rayTriangle(
LocalRay ray, Vector3 a, Vector3 b, Vector3 c, {Vector2? outUv, bool cullBackFace = false}) → double - Möller–Trumbore ray/triangle intersection.
-
readFmat(
Uint8List bytes, {String name = '', LightingModels? lightingModels}) → MaterialDocument -
Reads a
.fmatmaterial. -
readHdr(
Uint8List bytes) → HdrImage -
bytesas an HDR image. -
recognizedModelFormat(
String fileName) → ModelFormat? -
The format
fileName's own extension names, or null when it names none of the four this package reads. -
registerLevelExtension(
LiveLevel live) → void -
Puts
liveon the VM service asext.flutter3d.level.applyandext.flutter3d.level.patch, beside the timeline's own extensions: the editor that saved a level sends it here, to a game on this machine or on a phone, and the running game takes it. -
registerTimelineExtensions(
RunTimeline timeline, {StepTimeTrace? frameTimes, Map< String, Object?> bugReport()?, EntityLayout? entityLayout, String? trackedPart}) → Registration - Puts a RunTimeline on the VM service, so a running game can be paused, stepped, scrubbed and branched from outside the process it is playing in — a level editor attached over the same channel Flutter DevTools already uses, rather than a simulation embedded inside the editor itself.
-
registerTuningExtensions(
InputState input, Tunables tunables) → void -
Puts
tunableson the VM service, so an inspector can change them while the game runs:ext.flutter3d.cvar.set {name, value}tunes one throughinput— so the change is on the tape with the step that takes it — andext.flutter3d.cvar.listanswers{"tunables": {name: {"value", "default"}}}, every tunable with its value and its default. Under one key rather than at the top, so the answer's shape is the same whatever a game names its tunables, and the snapshot can hold it. -
registryFor(
Level level) → EntityRegistry -
A registry that accepts every type
levelnames and gives none of them a meaning, each an OpenKind: a level names things a game does not spawn yet, and they are coordinates with words attached until there is something to spawn them into. -
replayAfterHotSwap(
RunTimeline timeline, {double seconds = 3.0, void onReplayed(CodeReplay replay)?, HotSwap? hotSwap}) → Registration -
Lives the last
secondsoftimelineagain under the new code after every hot reload, and says where the new code parts from the old. -
replayDemoOnLoop(
{required Demo demo, required EngineLoop loop, required String part, void swapLevel(Level level)?, SimulationVersion? simulation, ActionSet? actions}) → DemoReplay -
Plays
demothroughloopfrom its start: the file's loop changes are made at their steps, and each step's events are compared with the file's as well as its checkpoints. -
rewindBufferFromDemo(
{required Demo demo, required EngineLoop loop, required String part, int? keyframeEvery, double? history, SimulationVersion? simulation}) → RewindBuffer -
Rebuilds a RewindBuffer that reaches every step of
demo, not only the last few seconds a live RunTimeline keeps —rp-02's "скраббер по всему прогону из.f3drun", built by replaying the whole tape once rather than by teaching RewindBuffer a second way to acquire keyframes. -
ribbon(
OpenPath path, {required double from, required double to, required double width, double step = 2.0}) → MeshData -
The strip of road
widthmetres across laid alongpathfromfromtotometres, cut everystepmetres: a flat mesh facing OpenPath.up, with textureuacross the road andvalong it in metres, so a repeating texture tiles at the same size on every piece. -
safeRelativeAssetPath(
String uri) → String -
A reference inside a model is always relative to the model. An absolute path
or a
..segment means the file is reaching outside its directory, which is worth refusing rather than resolving. -
samplerOptionsFor(
TextureSampling info) → SamplerDescriptor - Maps decoded sampling settings onto the engine's sampler description.
-
screenBoundsOfBox(
Matrix4 viewProjection, Aabb3 box, {required double width, required double height}) → ScreenBounds? -
The axis-aligned rectangle covering
boxon the glass, or null when none of it is in front of the eye. -
screenMotion(
Matrix4 previous, Matrix4 current) → double -
How far the picture moved between two frames, as a fraction of the
screen's width: the mean distance five points spread over the view moved
between
previousandcurrent, two unjittered view-projections (FrameHistory.viewProjectionandCameraNode.viewProjection). -
settingsKeys(
KeyEvent event, GameSettingsController settings, {required void opening(), bool canOpen = true}) → KeyEventResult? - The keys that belong to the settings rather than to the game.
-
skyNode(
MeshGeometry mesh, {String name = 'sky'}) → MeshNode -
A node holding
mesh, flagged so that it behaves as a sky. -
sniffModelFormat(
Uint8List bytes) → ModelFormat - Guesses a format from the leading bytes.
-
splatBytesReader(
Uint8List bytes) → SplatRangeReader - A SplatRangeReader over a file already in memory — for tests, and for a caller that has the whole file but wants the paged path anyway.
-
toDepthRange(
Matrix4 projection, DepthRange range) → Matrix4 -
projectionexpressed forrange. -
toFramebufferOrigin(
Matrix4 projection, FramebufferOrigin origin) → Matrix4 -
projectionadjusted for whereoriginputs row zero. -
toReversedDepth(
Matrix4 projection) → Matrix4 -
projectionwith its depth turned round: the near plane at one and the far plane at nought — reversed depth. -
uploadEncodedImage(
GraphicsDevice device, Uint8List encoded, {required ImageDecoder decodeImage, TextureSampling sampling = const TextureSampling(), IssueSink? onIssue, int? maxDimension, bool platformDecode = true, TextureCodecs? codecs}) → Future< TextureHandle> -
Decodes an encoded image (PNG, JPEG, KTX2, …) and uploads it through
device. -
uploadRgba8(
GraphicsDevice device, Rgba8Image image, {TextureSampling sampling = const TextureSampling()}) → TextureHandle -
imageuploaded throughdevice, with a mip chain whensamplingasks for one — uploadEncodedImage's own tail, for pixels that never were an encoded file: a map packed from several (packed_maps.dart). -
validateGltfExport(
Uint8List bytes, {AssetUriResolver? resolveUri, double tolerance = 1e-5}) → Future< List< String> > -
Reads
bytesas glTF/GLB and checks every accessor's declaredmin/maxagainst the values it actually holds. -
viewAxisOf(
Matrix4 viewProjection, [Vector3? out]) → Vector3 -
Which way
viewProjectionlooks, as a unit vector in world space. -
wantsHighContrast(
GameSettings settings, Accommodations system) → bool -
Whether
settingsasks for the high-contrast look, withsystem's answer as the fallback. -
withDepthPlanes(
Matrix4 projection, {required double near, required double far, bool reversed = false}) → Matrix4? -
projectionwith its depth row rebuilt for anearand afarplane —farmay bedouble.infinity— and turned round whenreversed; or null whenprojectionis not one whose depth row can be rebuilt. -
withTextureTransform(
MeshData mesh, TextureTransform transform) → MeshData -
meshwithtransformapplied to its texture coordinates. -
writeFmat(
MaterialDocument document, {LightingModels? lightingModels}) → String -
Writes
documentback out, so a tool that edits a material can save it.
Typedefs
-
AssetBytes
= Future<
ByteData> Function(AssetRequest request) - How a level's own files are found.
- AssetSourceFactory = AssetSource Function(String path)
-
Makes the AssetSource for
path— the path with its scheme taken off. -
AssetUriResolver
= Future<
Uint8List> Function(AssetRequest request) - Resolves a URI referenced from inside an asset to its bytes.
-
BackendOpener
= Future<
GraphicsDevice> Function(DeviceRequest request) -
Opens a GraphicsDevice for
request, or throws. - BlendCurve = double Function(double t)
- How a blend's progress, from nought to one in time, becomes how far the shot has moved, from nought to one.
- CompositeBuilder = BehaviorComposite Function(BehaviorParameters params)
- Builds a composite kind's code from a node's fields, once when a tree is read.
-
ComputeOpener
= Future<
GraphicsDevice> Function(DeviceRequest request) -
Opens a compute-only GraphicsDevice for a
ComputePlacement, or throws: the wgpu sidecar, a CPU device — 1.0. Its DeviceRequest has no size (DeviceRequest.compute), because it presents nothing. - Consideration = double Function(BehaviorContext context)
- How much one consideration likes an option, from nought to one.
- ConsiderationBuilder = Consideration Function(BehaviorParameters params)
- Builds a consideration kind's code from a node's fields, once when a tree is read.
- ContactFilter = bool Function(SweptContact contact)
- Whether a contact counts, asked of the collider and the way it faces.
- CrashReporter = void Function(CrashContext crash)
- Told an error nothing caught, with where it was thrown: what a crash reporter (Crashlytics, Sentry, a file of one's own) is wired to.
-
EventHandler<
T extends BusEvent> = void Function(Delivered< T> event) -
A subscriber to events of type
T, handed each delivery of one. -
FormatMigration
= Map<
String, Object?> Function(Map<String, Object?> document) - One step of a format's migration chain: a document at one version, as the next version writes it. Handed a copy, so it may change it in place.
- FormatRefusal = Flutter3dFormatException Function(String message)
-
Turns a sentence into the format's own exception, so a level reader
still throws
LevelFormatExceptionwhen the envelope is what refused. - FramePresenter = Widget Function(GraphicsDevice device, TextureHandle frame, {BoxFit fit, FilterQuality quality})
-
The shape of
presentFrame, and of every presenter a backend registers. -
ImageDecoder
= Future<
Rgba8Image?> Function(Uint8List encoded) -
Decodes an encoded image — PNG, JPEG, whatever uploadEncodedImage's
caller hands it — into straight (not premultiplied) RGBA8 pixels, or
nullfor an image that will not decode. - IssueSink = void Function(Issue issue)
- Where a library says what it could not do: the application decides what to do with it.
-
JsonPost
= Future<
JsonAnswer> Function(Uri url, String json) - One POST, as this package needs it: a body out, a status and a body back.
- LeafBuilder = BehaviorLeaf Function(BehaviorParameters params)
- Builds a leaf kind's code from a node's fields, once when a tree is read.
-
LevelDocumentText
= Future<
String> Function(AssetRequest request) - How a level's own document is found.
- LogListener = void Function(LogRecord record)
- Told every record an EngineLog keeps.
- LoopSystem = void Function(LoopContext context)
- Work added to a phase.
- PoseSource = Matrix4 Function()
- Where something in the scene is, asked once a mix: a node's world matrix.
-
RunTransport
= Future<
RunResponse> Function(RunRequest request) - Sends a RunRequest and answers with what the server said.
-
SaveMigration
= Map<
String, Object?> Function(Map<String, Object?> run) - Turns a game's save data at one version into the next.
- SimulationAnswer = Object? Function(SimulationQuestion question)
- How the simulation answers one named question: SimulationHandle.ask with the question's SimulationQuestion.arguments, run against its SimulationQuestion.world where the world is, between two steps. The answer is plain values only, which is what crosses an isolate.
- SimulationFactory = SimulationSetup Function(Object? arguments)
-
Builds a simulation where it runs, from
arguments— plain values the caller of IsolateSimulation.open passed. -
SizedImageDecoder
= Future<
Rgba8Image?> Function(Uint8List encoded, {int? maxDimension}) -
An ImageDecoder that can also scale a large image down while it decodes
it —
A4.17. - SkyColor = LinearColor Function(SkyLook look)
- The colour of the sky in the direction asked about.
-
SplatRangeReader
= Future<
Uint8List> Function(int offset, int length) -
Reads
lengthbytes of the tree file starting atoffset. -
ToolEventPoster
= void Function(String kind, Map<
String, Object?> data) - Posts what happened in a game, to whoever watches it from outside: the shape of postToolEvent, and of what a test hears it through.
-
VmExtensionHandler
= Future<
ServiceExtensionResponse> Function(String method, Map<String, String> parameters) -
What answers a VM service extension: the method's name and its
parameters, every one a string, as
dart:developerhands them over. - VoiceId = Object
- A live voice, as the backend sees it.
Exceptions / Errors
- ActionMapFormatException
- Thrown when a saved action map cannot be read: a newer build's, or a document that is not one.
- AnimationGraphFormatException
-
An animation graph's JSON (a model's
extras) in a shape the reader does not know, naming where in the document it went wrong. - AnimationPointerFormatException
-
An animation pointer (
KHR_animation_pointer) whose path this build does not know how to resolve. - AssetNotFoundException
- An asset the program named and the platform does not have: a key missing from the Flutter asset bundle, a file not on disk.
- CapabilityException
- Something asked of a device, a backend or a platform that it does not do: a feature a backend leaves out of its features, a limit a request exceeds, a check a backend declines.
- ComputePlacementException
- The typed refusal of a compute step nothing can run: why, and what each executor said.
- ConstraintCycleException
-
Thrown when
after/beforeconstraints, or plugin dependencies, go round in a circle. - CubeLutFormatException
-
A
.cubecolour lookup table the reader cannot read, naming the line. - DeviceResourceException
- A resource a device was asked to make or read and could not: pixels that are not the size their description says, a texture with nothing to read.
-
A device that would not open: a browser without WebGL2 or WebGPU, a GPU
the browser has blocklisted, or every backend a
DeviceRegistryholds refusing in turn. - DocumentFormatException
-
A document the envelope refused, when the format has no exception of its
own: another format's document, a version from the future, a
requiresthis build does not understand. - DracoException
- Thrown when a stream is not one this decodes, with the reason in it.
- ExpressionSyntaxException
- Text that is not an expression, with where it went wrong.
- F3dFormatException
-
Raised when a file is not a
.f3d, is truncated, or claims a version this build does not understand. - FbxFormatException
- An FBX file, which this build recognises and does not read yet.
- FieldResidenceException
- The typed refusal of a field that cannot be held where it asks: which field, which residence, why, and the capability that was missing.
- Flutter3dException
- The root of every exception flutter3d throws.
- Flutter3dFormatException
- Bytes or text that are not what they claim to be, or are a version this build cannot read: a level, a model, an image, a trace, a shader source.
- FmatFormatException
-
A
.fmatmaterial file that is not one: not a JSON object, no version key, or a version newer than this build reads. - FormatRegistrationException
- A format a FormatRegistry would not take: an id, alias or suffix that is another format's, a plugin's id outside its namespace, or a plugin's format with no fixture.
- FrameCaptureFormatException
-
A frame capture (
FrameCapture.fromJson) that is not one, or is from a newer build: the message says which, and what to do about it. - FrameGraphException
- A graph that failed to compile, with the reason a person can act on.
- FrameGraphSnapshotFormatException
- A frame graph snapshot that cannot be read: a document of another format, or of a version newer than this build reads.
- GameSettingsFormatException
- Thrown when a settings file cannot be read at all: a newer build's, or another format's.
- GeoOriginFormatException
- A geo origin in a document that cannot be read.
- GltfFormatException
- A glTF or GLB file the reader cannot read: a container that is not GLB, an accessor that runs past its buffer, a component type or mode the specification does not define.
- HdrFormatException
-
What a file that is not a readable
.hdris answered with. - ImageFormatException
- An image the pure decoders (PNG, JPEG) cannot read: a signature that is not the format's, a chunk that runs past the end, a feature the decoder does not implement.
- Ktx2FormatException
- Raised when bytes are not a KTX2 file, are truncated, or use a feature this stage of the loader does not read yet — see the library doc comment for exactly which those are.
- LevelFormatException
- Raised when a document is not a level, or is one this build cannot read.
- MaterialBundleException
-
A
.f3dmatbundle that holds no material, or one that cannot be told apart from another. Syntax errors inside a material areMaterialSyntaxException. - MaterialFormatException
-
A physical material's document — a
PhysicalMaterial's JSON, a data plugin'sphysicalMaterialsentry — that cannot be read: a number that is not one, a group with no source, a phase or an id that is not a word. - MaterialParameterException
-
A parameter name, a value or a unit a material does not take: a name it
does not declare, a value of another width, a
paramfolded into the shader when it was compiled, or a value MaterialParameters.setNamed cannot read as numbers. - MaterialRegistrationException
- A material or a pair a MaterialCatalog would not take: an id already taken, a plugin's id outside its namespace, an entry whose numbers PhysicalMaterial.problems finds implausible.
- MeshoptFormatException
-
A meshopt-compressed buffer (
EXT_meshopt_compression) that does not decode: truncated, an unknown header, or a count that does not match. - PanoramaFormatException
-
Bytes EnvironmentMap.fromEncoded was handed that are neither a Radiance
.hdrnor an image its decoder reads. - PipelineRefusedException
- A pipeline the backend could not build or link.
- PluginException
- A plugin cannot be discovered, installed, enabled or disabled, or a run-time plugin did something it was not allowed to.
- PluginFormatException
- Text that should name a version, a range or a manifest and does not.
- ResourceException
- Something outside the program that the engine needed and did not get: a file, an external tool, a GPU device, a network service, a build artefact that does not match the code reading it.
- ShaderBundleException
- Raised when a device will not load a bundle, and says which and why.
- ShaderCompileException
- A shader stage a backend's compiler refused, or a pair of stages its linker would not join.
- SplatOctreeException
- Thrown when bytes are not a splat tree this can read.
- SplatPlyException
- Thrown when a file is not a PLY this can read, with the reason in it.
- SplatSpzException
- Thrown when a file is not an SPZ this can read, with the reason in it.
- UnitFormatException
- Text that is not a unit, or a document's unit or quantity that is not one.
- UnitMismatchException
- A conversion between units of different dimensions: a length asked for in seconds, a luminous flux compared with an intensity.
- UnknownMaterialException
- A material asked for by an id no material in the catalogue has: a level, a world or a save naming a substance a plugin brings, with that plugin not installed.
- UnorderedAccessException
-
Thrown by
EngineLoop.validateOrder, and in a debug build when the loop orders its systems, for a step phase with an UnorderedAccess in it. - UnsupportedCapabilityException
- The refusal every capability-gated call throws where the capability is missing: a CapabilityException that names what was asked for and who refused it.
- WorldPropertiesFormatException
-
A world's properties in a document — a level's
world, a snapshot — that cannot be read.