NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #2104 most downloaded on pub.dev
The engine-agnostic scene document core, the .fscene document model, stable ids, serialization, prefab composition, and diffing.
Last release 2 days ago
05 Oct 2026
Ships unpredictably
gaps range from 8 days to 3.5 years
Most releases are documented
notes for 6 of 7 stable releases
Nothing withdrawn
no release was ever pulled
4 years old
7 releases · first in 2023
One column per quarter.
TriMeshShape documents that a triangle collides from its front (counter-clockwise) face only.
TriMeshShape documents that a triangle collides from its front (counter-clockwise) face only.Development funded by our sponsors, Primio (Silver).
GizmoOrthographicVolume draws an orthographic camera's view volume, sized by a bound fit mode, extents, zoom, and offset.
GizmoOrthographicVolume draws an orthographic camera's view volume, sized by a bound fit mode, extents, zoom, and offset.NodeSpec.shadowCastingMode carries a node's shadow casting mode (off, on, doubleSided, shadowsOnly), delta-serialized and overridable on prefab instances through the shadowCasting path.EnvironmentEffectsSpec carries SMAA quality (smaaThreshold, smaaMaxSearchSteps, smaaMaxDiagonalSearchSteps, smaaCornerRounding), delta-serialized like the other effects.SceneDocument.editor (EditorStateSpec, EditorCameraSpec) carries the editor camera pose and selection.splitTriangleMeshByGrid bins whole triangles by world-space centroid into per-cell vertex/index buffers, and applyMeshSplitHints applies -split<N> node-name hints across a document (split children named Ground_x0_z3, hint stripped, orphaned source data removed).documentWorldMatrix, countResourceReferences, and isPayloadReferenced document utilities.unknown), unknown .fsceneb chunks on SceneDocument.unknownChunks (UnknownChunk), and a property value with an unknown tag loads as an inert UnknownValue instead of failing the document.encodeNode, which encodes one node the way encodeDocument does.Development funded by our sponsors, Primio (Silver).
Standardized model-space front-face winding to Counter-Clockwise (CCW) in .fscene format version 5; version 4 documents migrate by swapping index pair
.fscene format version 5; version 4 documents migrate by swapping index pairs during realization..fsceneb format version 2 compresses payload chunks with gzip; older readers reject version 2.MorphTargetsSpec and GeometryResource.morphTargets carry baked morph target deltas, names, and default weights.AnimationProperty.weights animates morph weights..fscene version 4; a version-3 reader refuses a morph-bearing document instead of silently dropping the deltas. Version 3 documents read as-is.EnvironmentEffectsSpec carries global illumination and temporal anti-aliasing settings, delta-serialized through .fscene and .fsceneb.PredictedTransformComponent with PredictedController , client-side prediction of an owned entity with authoritative input-replay reconciliation, so lo
PredictedTransformComponent with PredictedController, client-side prediction of an owned entity with authoritative input-replay reconciliation, so local input renders instantly while the sim stays server-authoritative. Selected per entity through SceneReplication's localPrediction seam.PredictedPhysicsComponent with PredictedPhysicsController, rollback prediction for an owned physics body. Mispredictions restore a retained world snapshot, adopt the authoritative pose, and replay pending inputs through the simulation. Needs a snapshot-capable backend (rapier).PredictedPhysicsController.onWorldRestored fires after a rollback restore. A restore rewinds to the body set its snapshot captured, so a controller managing bodies dynamically (remote-player proxies) allocates a fixed pool before the first snapshot rather than recreating them.NetworkTransformComponent re-anchors its interpolation buffer after an idle gap, so a resuming remote eases in instead of snapping.minDelay and the configured ceiling, so clean links render remotes barely behind while jittery ones buffer deep.SceneReplication.inputTargetDepth passes the input buffer depth through to the client (1 suits local or stable links).SceneReplication.minInterpolationDelay and SceneReplication.adaptiveInterpolation reach the interpolation buffer, so an app can floor the adaptive delay or hold it fixed.maxCatchUpTicks and snap to authority past it, so a backgrounded tab or a long hitch does not replay every missed tick in one frame.dashwire_replication 0.2.1 for the input-command and prediction substrate.PhysicsSimulation contract from package:scene; the runtime dependency moved from flutter_scene to scene.Box3dRigidBody, Box3dCollider, and Box3dJoint types; construct only Box3dPhysicsWorld and attach flutter_scene's generic RigidBody, Collider, and joint components.PhysicsWorld now, PhysicsWorld(Box3dPhysicsWorld(...)), instead of adding the concrete components directly.box3d ^0.1.1 for the Android native load fix.flutter_scene constraint to ^0.24.0.flutter_soloud 5.1.2, which compiles the engine through a build hook and fetches prebuilt Ogg, Vorbis, Opus, and FLAC libraries for the target on first build, Linux arm64 included. Apps can instead link system packages, compile the codecs from source, or build without them through hooks.user_defines.flutter_soloud in their pubspec (see the README).assets/packages/flutter_soloud/web/init_soloud.js from index.html (renamed upstream).SoloudAudioEngine.bufferSize (config key bufferSize) to start SoLoud with a smaller, lower-latency mix buffer.Development funded by our sponsors, Primio (Silver).
package:scene/schema.dart, the portable component schema model (ComponentSchema, ComponentPropertyDef, the tagged constraint taxonomy, formerNames/formerTypes).ComponentSchema.gizmo, the GizmoSpec primitive model with property-bound scalars, colors, and axes)..fscene version 3, component properties delta-serialize and audio attenuation settings nest; version 2 documents migrate as-is.contactShadows, contactShadowDistance, and angularRadius.colorGradingLut (a .cube asset reference) and colorGradingLutBlend.indirectLight, method, sliceCount, stepsPerSlice, visibilityBitmask, thickness, thicknessHeuristic, bentNormals, and multiBounce.1.0, bloom intensity 0.15, chromatic aberration 0.2, auto-exposure clamps -4/4 EV..fscene version 2 fixes every document to the native coordinate system and migrates left-handed version 1 documents.Handedness, UpAxis, StageMetadata.unitsPerMeter, NodeSpec.excludeFromWindingParity, and SkyEnvironmentSpec.castShadows..fscene version.SunLightSpec stores sky-driven analytic sun and cascaded-shadow settings.payloadSource links a text manifest to a binary payload sidecar.TorusGeometrySpec and IcosphereGeometrySpec procedural geometry, a torus around the Y axis and a geodesic sphere from a subdivided icosahedron.MemberComponent, PrefabInstanceSpec.memberComponents), and PrefabOverrideAspect addresses one aspect of an override without re-parsing paths.ConstantEnvironment, a reflection-free environment with uniform diffuse ambient radiance.EnvironmentResource carries agxWhite, agxContrast, environmentRotationY, and overridesEffects.encodeComponentSchemas/decodeComponentSchemas move a schema list through a manifest or cache payload, and propertyValuesEqual compares property values structurally.copyWith on MaterialResource and PrefabInstanceSpec.Add registerSoloudAudioBackend() , so documents naming soloud as their audio engine realize a SoloudAudioEngine .
registerSoloudAudioBackend(), so documents naming soloud as their audio engine realize a SoloudAudioEngine.flutter_scene ^0.22.0.registerFmodAudioBackend(), so documents naming fmod as their audio engine realize an FmodAudioEngine.flutter_scene_components.json manifest for the fmodEvent component, kept in sync by a test.FmodEventCodec.flutter_scene ^0.22.0.PhysicsSimulation.snapshot/restore (opt-in via supportsSnapshot), world serialization for rollback prediction and lag-compensation rewind.PhysicsSimulation.setBodyPose, immediate body teleport for rollback correction (default throws on backends without it).TextureResource carries a content role (color, data, normal) describing what its pixels represent.Typed actions ( ButtonAction , AxisAction , VectorAction , DeltaAction ) bound to physical controls through named slots in an ActionSet .
ButtonAction, AxisAction, VectorAction, DeltaAction) bound to physical controls through named slots in an ActionSet.DpadBinding, AxisPairBinding, ChordBinding, GatedBinding) with processors (Deadzone, Scale, Invert, ResponseCurve, PerSecond, SwapAxes), tunable sensitivity, inversion, and deadzones.InputListener, and InputScope.gamepads package with hot-plug, stable device handles, pairing, JoinHelper, and a macOS HID fallback for pads the GameController framework misses.PointerLock for first-person mouse look on macOS, Windows, Linux (X11 and Wayland), and the web.player.overrides, versioned JSON profiles with renames and migration, listenForBinding, conflict detection, and bindingDisplay labels that follow keyboard layout and pad style.scene.attachInput, node.playerInput, PlayerBinding, drivers for the bundled character and camera controllers, and DefaultActions.InputDebugOverlay and an injection API for tests, bots, and replays.Development funded by our sponsors, Primio (Silver).
flutter_scene. The .fscene document model (SceneDocument, node/resource/payload specs), stable ids (DocumentId, LocalId, IdAllocator), JSON and binary serialization (.fscene/.fsceneb), prefab composition, and structural diffing, as a pure Dart package.Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →