anchor.diff:  //    }
   
       update(t){
  -      statsU.start();
  -      window.animationFrame.then(update);
  -      runner.run();
  -      debugTexR0.run();
  -      statsU.stop();
  -      statsL.stop();
  -      statsL.start();
  +      try {
  +        statsU.start();
  +        window.animationFrame.then(update);
  +        runner.run();
  +        debugTexR0.run();
  +        statsU.stop();
  +        statsL.stop();
  +        statsL.start();
  +      } catch(err, exc) {
  +        print(exc);
  +      }
       };
       window.animationFrame.then(update);
       document.onKeyDown.listen((e){
  
positive.code:   //_x0 = gl.getExtension("OES_standard_derivatives");
    //_x1 = gl.getExtension("OES_texture_float");
    debugTexR0 = new glf.RendererTexture(gl);
    new Main(gl)
    ..am = initAssetManager(gl)
    ..start()
    ;
  }
  
  class Main {
  
negative.code:     am.loadAndRegisterAsset('filter2d_fxaa', 'filter2d', 'packages/glf/shaders/filters_2d/fxaa.frag', null, null).then((_){
        runner.filters2d.add(am['filter2d_fxaa']);
      });
      runner.stepmax = 32;
      runner.camera = makeCameraRM();
      runner.lightSegment = r.lightSegment_spotAt(new Vector3(2.0, 1.0, 5.0));
      runner.register(makeFloor());
  