PackageTrack
Sign in Get early access

scene

The engine-agnostic scene document core, the .fscene document model, stable ids, serialization, prefab composition, and diffing.

0.2.0 3.5K downloads/mo #4394 most downloaded on pub.dev bdero/flutter_scene

What this package is like to depend on

Last release 7 days ago

17 Aug 2026

Release timing varies

gaps range from 3 weeks to 3.5 years

Most releases are documented

notes for 3 of 4 stable releases

Nothing withdrawn

no release was ever pulled

4 years old

4 releases · first in 2023

3 releases in the last 12 months

see the full history below

Release timeline

4 releases · Jan 2023 to Aug 2026
2024 2025 2026
Release Pre-release

Releases

latest 4
  1. 0.2.0 17 Aug 2026
    Release notes
    • 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.
    • The interpolation delay adapts to measured arrival cadence and jitter, easing between 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.
    • Both predicted components reconcile at the tick the authoritative pose was snapshotted at, not the input ack's, so a deferred snapshot no longer discards the travel in between. They wait for a snapshot to date the pose before reconciling at all.
    • Both predicted components take maxCatchUpTicks and snap to authority past it, so a backgrounded tab or a long hitch does not replay every missed tick in one frame.
    • Requires dashwire_replication 0.2.1 for the input-command and prediction substrate.
    Open source →
    Release notes
    • BREAKING: the backend now implements the PhysicsSimulation contract from package:scene; the runtime dependency moved from flutter_scene to scene.
    • BREAKING: removed the Box3dRigidBody, Box3dCollider, and Box3dJoint types; construct only Box3dPhysicsWorld and attach flutter_scene's generic RigidBody, Collider, and joint components.
    • BREAKING: wrap the world in flutter_scene's PhysicsWorld now, PhysicsWorld(Box3dPhysicsWorld(...)), instead of adding the concrete components directly.
    • Require box3d ^0.1.1 for the Android native load fix.
    Open source →
    Release notes
    • package:scene/schema.dart, the portable component schema model (ComponentSchema, ComponentPropertyDef, the tagged constraint taxonomy, formerNames/formerTypes).
    • Component schemas carry declarative editor gizmos (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.
    • Sun lights carry contactShadows, contactShadowDistance, and angularRadius.
    • Environment effects carry colorGradingLut (a .cube asset reference) and colorGradingLutBlend.
    • Ambient-occlusion effects carry indirectLight, method, sliceCount, stepsPerSlice, visibilityBitmask, thickness, thicknessHeuristic, bentNormals, and multiBounce.
    • Retuned effect defaults, ambient-occlusion intensity 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.
    • Removed Handedness, UpAxis, StageMetadata.unitsPerMeter, NodeSpec.excludeFromWindingParity, and SkyEnvironmentSpec.castShadows.
    • Documents must declare their .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.
    • Prefab instances add components to individual member nodes (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.
    Open source →
  2. 0.1.1 03 Aug 2026
    Release notes
    • Add registerSoloudAudioBackend(), so documents naming soloud as their audio engine realize a SoloudAudioEngine.
    • Require flutter_scene ^0.22.0.
    Open source →
    Release notes
    • Add registerFmodAudioBackend(), so documents naming fmod as their audio engine realize an FmodAudioEngine.
    • Ship a flutter_scene_components.json manifest for the fmodEvent component, kept in sync by a test.
    • Fix codec round-trip losses and registry lifecycle holes in FmodEventCodec.
    • Require flutter_scene ^0.22.0.
    Open source →
    Release notes
    • 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.
    Open source →
  3. 0.1.0 27 Jul 2026
    Release notes
    • Initial release, extracted from 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.
    Open source →
  4. 0.0.0+1 26 Jan 2023

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive