We were recomputing which widgets to show only when we were on the other side
of the repaint boundaries. That doesn't work well for pageable lists because we
come to rest exactly on a repaint boundary, which means we don't cull the other
page.
After this patch, we recompute the set of widgets using an edge-trigger when we
hit the boundary. That's better than using a level-trigger so that we don't
continuously recompute the set of widget as we sit at the boundary.
The Firebase server seems to have changed behavior and is not giving us a List
instead of a Map. This patch switches us back to GitHub, which just serves the
same flat files all the time.
No you can't hit things inside degenerate transforms. Tranforming from global
coordaintes to degenerate local coordinates gives you Point.origin. Also,
upgrade vector_math to get a better invert constructor.
Fixes#1161Fixes#1224
Floating Action Button transitions
When the scaffold's floating action button (FAB) is replaced the old FAB shrinks to zero and then the new one grows to its full size. When a FAB is shown, its child spins into place.
This is all intended to be a good approximation of the "Lateral Screens" section of the material design spec.
The fab.dart example is included as stop gap until the gallery and other demos have been updated.
If you change the RenderObject tree between frames, you'll assert if
you subsequently hit test. So e.g. if you get two button presses back
to back, and you mutate the tree synchronously in response to the
first one, the second will assert.
This adds an onBuild callback to WidgetToRenderBoxAdapter to make it
easier to do the updates at the right time, i.e., during widget build.
It'll be called whenever you rebuild the WidgetToRenderBoxAdapter
itself, so all you have to do to use it is call setState() on whoever
is building the WidgetToRenderBoxAdapter.
Related: https://github.com/domokit/mojo/issues/614
Flutter can play sounds using this package. However, when Mojo Shell is running Flutter, it lacks the necessary media service.
This patch creates a hook to the mojo binary `media_service.mojo`. If Mojo Shell is built with this media service, then it will be able to play sounds when running Flutter.
The performance overlay is always drawn using the compositor. We should tell
the rest of the system that it's going to make a composited layer.
Fixes#1177