<commit_before>;(function(exports) {
  var interval = 16;

  function Updater(coquette) {
    this.coquette = coquette;
    setupRequestAnimationFrame();
    this.updatees = [];
    this.tick = interval;
    this.prev = new Date().getTime();

    var self = this;
    var update = function() {
      var now = new Date().getTime();
      self.tick = now - self.prev;
      self.prev = now;

      // call update fns
      for (var i = 0; i < self.updatees.length; i++) {
        if (self.updatees[i].update !== undefined) {
          self.updatees[i].update();
        }
      }

      // call draw fns
      for (var i = 0; i < self.updatees.length; i++) {
        if (self.updatees[i].draw !== undefined) {
          self.updatees[i].draw();
        }
      }

      requestAnimationFrame(update);
    };

    requestAnimationFrame(update);
  };

  Updater.prototype = {<commit_msg>Pass canvas ctx when draw() called on updatees.<commit_after>;(function(exports) {
  var interval = 16;

  function Updater(coquette) {
    this.coquette = coquette;
    setupRequestAnimationFrame();
    this.updatees = [];
    this.tick = interval;
    this.prev = new Date().getTime();

    var self = this;
    var update = function() {
      var now = new Date().getTime();
      self.tick = now - self.prev;
      self.prev = now;

      // call update fns
      for (var i = 0; i < self.updatees.length; i++) {
        if (self.updatees[i].update !== undefined) {
          self.updatees[i].update();
        }
      }

      // call draw fns
      for (var i = 0; i < self.updatees.length; i++) {
        if (self.updatees[i].draw !== undefined) {
          self.updatees[i].draw(coquette.renderer.getCtx());
        }
      }

      requestAnimationFrame(update);
    };

    requestAnimationFrame(update);
  };

  Updater.prototype = {
{'fraction_non_alphanumeric': 0.14934354485776805, 'fraction_numerical': 0.00437636761487965, 'mean_word_length': 2.1480206540447506, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7341161', 'n_tokens_mistral': 595, 'n_tokens_neox': 571, 'n_words': 129}