scene 0.4.1
scene: ^0.4.1 copied to clipboard
The engine-agnostic scene document core, the .fscene document model, stable ids, serialization, prefab composition, and diffing.
Changelog #
0.4.1 #
TriMeshShapedocuments that a triangle collides from its front (counter-clockwise) face only.
0.4.0 #
GizmoOrthographicVolumedraws an orthographic camera's view volume, sized by a bound fit mode, extents, zoom, and offset.NodeSpec.shadowCastingModecarries a node's shadow casting mode (off,on,doubleSided,shadowsOnly), delta-serialized and overridable on prefab instances through theshadowCastingpath.EnvironmentEffectsSpeccarries SMAA quality (smaaThreshold,smaaMaxSearchSteps,smaaMaxDiagonalSearchSteps,smaaCornerRounding), delta-serialized like the other effects.- The spec's temporal anti-aliasing defaults now match the renderer's.
SceneDocument.editor(EditorStateSpec,EditorCameraSpec) carries the editor camera pose and selection.- Added grid mesh splitting shared by editors and import pipelines:
splitTriangleMeshByGridbins whole triangles by world-space centroid into per-cell vertex/index buffers, andapplyMeshSplitHintsapplies-split<N>node-name hints across a document (split children namedGround_x0_z3, hint stripped, orphaned source data removed). - Added
documentWorldMatrix,countResourceReferences, andisPayloadReferenceddocument utilities. - Documents keep data this build does not read through a load and save. Unknown keys ride on the document, its specs, and their nested value objects (
unknown), unknown.fscenebchunks onSceneDocument.unknownChunks(UnknownChunk), and a property value with an unknown tag loads as an inertUnknownValueinstead of failing the document. - Added
encodeNode, which encodes one node the wayencodeDocumentdoes.
0.3.0 #
- Standardized model-space front-face winding to Counter-Clockwise (CCW) in
.fsceneformat version 5; version 4 documents migrate by swapping index pairs during realization. .fscenebformat version 2 compresses payload chunks with gzip; older readers reject version 2.MorphTargetsSpecandGeometryResource.morphTargetscarry baked morph target deltas, names, and default weights.AnimationProperty.weightsanimates morph weights..fsceneversion 4; a version-3 reader refuses a morph-bearing document instead of silently dropping the deltas. Version 3 documents read as-is.EnvironmentEffectsSpeccarries global illumination and temporal anti-aliasing settings, delta-serialized through.fsceneand.fsceneb.
0.2.0 #
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, theGizmoSpecprimitive model with property-bound scalars, colors, and axes). .fsceneversion 3, component properties delta-serialize and audio attenuation settings nest; version 2 documents migrate as-is.- Sun lights carry
contactShadows,contactShadowDistance, andangularRadius. - Environment effects carry
colorGradingLut(a.cubeasset reference) andcolorGradingLutBlend. - Ambient-occlusion effects carry
indirectLight,method,sliceCount,stepsPerSlice,visibilityBitmask,thickness,thicknessHeuristic,bentNormals, andmultiBounce. - Retuned effect defaults, ambient-occlusion intensity
1.0, bloom intensity0.15, chromatic aberration0.2, auto-exposure clamps-4/4EV. .fsceneversion 2 fixes every document to the native coordinate system and migrates left-handed version 1 documents.- Removed
Handedness,UpAxis,StageMetadata.unitsPerMeter,NodeSpec.excludeFromWindingParity, andSkyEnvironmentSpec.castShadows. - Documents must declare their
.fsceneversion. SunLightSpecstores sky-driven analytic sun and cascaded-shadow settings.payloadSourcelinks a text manifest to a binary payload sidecar.TorusGeometrySpecandIcosphereGeometrySpecprocedural 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), andPrefabOverrideAspectaddresses one aspect of an override without re-parsing paths. ConstantEnvironment, a reflection-free environment with uniform diffuse ambient radiance.EnvironmentResourcecarriesagxWhite,agxContrast,environmentRotationY, andoverridesEffects.encodeComponentSchemas/decodeComponentSchemasmove a schema list through a manifest or cache payload, andpropertyValuesEqualcompares property values structurally.copyWithonMaterialResourceandPrefabInstanceSpec.
0.1.1 #
PhysicsSimulation.snapshot/restore(opt-in viasupportsSnapshot), world serialization for rollback prediction and lag-compensation rewind.PhysicsSimulation.setBodyPose, immediate body teleport for rollback correction (default throws on backends without it).TextureResourcecarries acontentrole (color,data,normal) describing what its pixels represent.
0.1.0 #
- Initial release, extracted from
flutter_scene. The.fscenedocument 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.