anchor.diff:            animationData);
         mat.SetUniform(uAnimationTable, animationTable);
   
  -      UpdateAnimatedSkeleton(
  -          skeleton, globalOffsetTransform, anim, animatedSkeleton, 0.0);
  -      mdWire = LineEndPointsToMeshData("wire", chronosGL,
  -          BonePosFromAnimatedSkeleton(skeleton, animatedSkeleton));
  -      Node mesh = new Node(mdWire.name, mdWire, matWire)..rotX(3.14 / 4);
  +      boneVisualizer = new BoneVisualizer(chronosGL, matWire, skeleton, anim);
  +
  +      Node mesh = boneVisualizer.mesh..rotX(3.14 / 4);
         Node n = new Node.Container("wrapper", mesh);
         n.lookAt(new VM.Vector3(100.0, 0.0, 0.0));
         prgBone.add(n);
  
positive.code:     phase.draw([perspective]);
      HTML.window.animationFrame.then(animate);
  
      double relTime = (timeMs / 1000.0) % anim.duration;
  
      int step =
          ((timeMs / 1000.0) / kAnimTimeStep).floor() % animationSteps.length;
      mat.ForceUniform(uTime, step + 0.0);
  
      UpdateAnimatedSkeleton(
          skeleton, globalOffsetTransform, anim, animatedSkeleton, relTime);
      List<VM.Vector3> bonePos =
          BonePosFromAnimatedSkeleton(skeleton, animatedSkeleton);
      mdWire.ChangeVertices(FlattenVector3List(bonePos));
    }
  
    List<Future<dynamic>> futures = [
  
negative.code: 
      final Map<String, dynamic> meshJson = list[0]["meshes"][0];
      final Map<String, dynamic> animJson = list[0]["animations"][0];
      VM.Matrix4 globalOffsetTransform = new VM.Matrix4.identity();
      List<Bone> skeleton = ImportSkeletonFromAssimp2Json(list[0]);
      final GeometryBuilder gb =
          ImportGeometryFromAssimp2JsonMesh(meshJson, skeleton);
      SkeletalAnimation anim = ImportAnimationFromAssimp2Json(animJson, skeleton);
      print("Imnported ${anim}");
      {
        MeshData md = GeometryBuilderToMeshData(meshFile, chronosGL, gb);
  