Skip to content

flutter_scene 0.22.0

Choose a tag to compare

@bdero bdero released this 19 Aug 00:37
· 161 commits to master since this release
  • Node.position, Node.rotation, and Node.scale read and write the local transform one component at a time, and editing a returned copy in place throws in debug builds rather than silently doing nothing.
  • Node.mutateLocalTransform edits the local matrix in place through a callback and marks the node dirty, the correct way to reach for the raw matrix.
  • A frame that draws nothing now prints once in debug builds naming the likely cause (not ready, empty region, no views composite to screen, no visible meshes, or a layer mask matching nothing).
  • Degenerate cameras now assert in debug builds, catching a view direction of zero length, an up parallel to it, and a field of view passed in degrees.
  • The web backend now throws on a bind to a shader uniform or texture name that does not exist, matching native, instead of silently sampling whatever was bound last.
  • SkinnedGeometry.uploadVertexData and setCustomAttribute now throw on a buffer whose length does not match the vertex count, instead of rendering garbage.
  • A Mesh whose primitive geometry is replaced now recomputes its bounds on its own, rather than over-culling until markLocalBoundsDirty is called.
  • An AnimationClip that binds zero of its channels now asserts in debug builds, naming the wanted nodes, since it otherwise plays while nothing moves.
  • Fixed the second and every later flutter run rendering nothing, from two hook invocations writing the same shader bundle filenames with different backend trims.
  • Fixed Scene.initializeStaticResources() reporting ready when the shader bundle loaded but held nothing this engine can read.
  • Fixed dart run flutter_scene:init then flutter run failing on a new app with "Flutter failed to list directory".
  • Fixed Node.clone() sharing the original's transform matrix.
  • Fixed the skinning joints texture being too narrow for small joint counts, which duplicated matrix columns.
  • Fixed ParticleSystem.reset() not restarting its random stream.
  • Mutating Node.localTransform in place without markTransformDirty() now throws in debug builds instead of silently doing nothing.
  • SceneViewsBuilder is now exported.
  • Documentation fixes for names that no longer exist (Environment, loadModel, the master channel requirement), plus a readme scene that needs no asset files and a list of the built-in geometry.