<commit_before>'use strict';

var THREE    = require('three');
var TweenMax = require('gsap');
var perlin   = require('perlin-noise');
var Range    = require('./range');

var Line = function(y, amp, index, size, startCounter, fftData) {
    this.size              = size;
    this.amp               = amp;
    this.index             = index;
    this.points            = this.generatedPoints(fftData);
    
    this.geometry          = new THREE.Geometry();
    this.geometry.vertices = this.points;
    
    this.material          = new THREE.LineBasicMaterial({color: 0xFFFFFF, linewidth: 3});
    
    this.mesh              = new THREE.Line(this.geometry, this.material);
    this.mesh.position.y   = -20 + (y || 0);
    this.mesh.position.z   = (16 - index) * -20 || 0;
    
    this.counter           = 0;
};

Line.prototype.update = function( fftData ) 
{
    // return
    if(!this.geometry.vertices) return;

    this.points = this.generatedPoints( fftData );

    for (var i = this.geometry.vertices.length - 1; i >= 0; i--) {
        this.geometry.vertices[i].y += (this.points[i].y - this.geometry.vertices[i].y) * 0.04;
    }

    this.mesh.geometry.verticesNeedUpdate = true;
};

Line.prototype.generatedPoints = function(array) {

    if(!array) return;

    var i;
    var range = Range.getRange();
    var start = range * (this.createOrder(this.index) % 11);
    var noise = this.initializeNoise(perlin, range, start, array);
<commit_msg>Finally fixed line.js and the range.js dependency.<commit_after>'use strict';

var THREE    = require('three');
var TweenMax = require('gsap');
var perlin   = require('perlin-noise');
var Range    = require('./range');

var Line = function(y, amp, index, size, startCounter, fftData) {
    this.size              = size;
    this.amp               = amp;
    this.index             = index;
    this.points            = this.generatedPoints(fftData);
    
    this.geometry          = new THREE.Geometry();
    this.geometry.vertices = this.points;
    
    this.material          = new THREE.LineBasicMaterial({color: 0xFFFFFF, linewidth: 3});
    
    this.mesh              = new THREE.Line(this.geometry, this.material);
    this.mesh.position.y   = -20 + (y || 0);
    this.mesh.position.z   = (16 - index) * -20 || 0;
    
    this.counter           = 0;
};

Line.prototype.update = function( fftData ) 
{
    // return
    if(!this.geometry.vertices) return;

    this.points = this.generatedPoints( fftData );

    for (var i = this.geometry.vertices.length - 1; i >= 0; i--) {
        this.geometry.vertices[i].y += (this.points[i].y - this.geometry.vertices[i].y) * 0.04;
    }

    this.mesh.geometry.verticesNeedUpdate = true;
};

Line.prototype.generatedPoints = function(array) {

    if(!array) return;

    var i;
    var range = new Range().getRange();
    var start = range * (this.createOrder(this.index) % 11);
    var noise = this.initializeNoise(perlin, range, start, array);

{'fraction_non_alphanumeric': 0.1466305452082628, 'fraction_numerical': 0.012190992211310531, 'mean_word_length': 2.345413363533409, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 5, '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': '1005718', 'n_tokens_mistral': 985, 'n_tokens_neox': 935, 'n_words': 205}