Merge pull request #779 from abarth/basic_docs

Add some dartdoc to basic widgets
diff --git a/packages/flutter/lib/src/rendering/binding.dart b/packages/flutter/lib/src/rendering/binding.dart
index 158ac28..b5ba171 100644
--- a/packages/flutter/lib/src/rendering/binding.dart
+++ b/packages/flutter/lib/src/rendering/binding.dart
@@ -97,11 +97,12 @@
           break;
         case PointerType.MOVE:
           _PointerState state = _pointers[datum.pointer];
-          // If the service starts supporting hover pointers, then it must
-          // also start sending us ADDED and REMOVED data points.
-          // In the meantime, we only support "down" moves.
+          // If the service starts supporting hover pointers, then it must also
+          // start sending us ADDED and REMOVED data points. In the meantime, we
+          // only support "down" moves, and ignore spurious moves.
           // See also: https://github.com/flutter/flutter/issues/720
-          assert(state != null);
+          if (state == null)
+            break;
           assert(state.down);
           Offset offset = position - state.lastPosition;
           state.lastPosition = position;
diff --git a/packages/flutter_sprites/lib/src/sprite_box.dart b/packages/flutter_sprites/lib/src/sprite_box.dart
index 5aaa35d..c1ea2aa 100644
--- a/packages/flutter_sprites/lib/src/sprite_box.dart
+++ b/packages/flutter_sprites/lib/src/sprite_box.dart
@@ -344,6 +344,9 @@
     _rootNode._visit(canvas, totalMatrix);
 
     // Draw physics debug
+    if (_physicsNodes == null)
+      _rebuildActionControllersAndPhysicsNodes();
+
     for (PhysicsWorld world in _physicsNodes) {
       if (world.drawDebug) {
         canvas.setMatrix(world._debugDrawTransform.storage);