anchor.diff:    LineSegment(this.start, this.end);
     // Might as well use Vector3s to get depth, this is just easier to work with for now
     int depth;
  -  bool visible = true;
  +  bool hidden = false;
     bool intersects = false;
     
     // Assumes point is on line
  
positive.code:         break;
        
        LineSegment line = Lines[i][counter];
        if (line.visible) {
          geometry.vertices.add(new Vector3(line.start.x, line.start.y, 0.0));
          geometry.vertices.add(new Vector3(line.end.x, line.end.y, 0.0));
        } else {
          var line = new Line(geometry, material);
          scene.add(line);
          geometry = new Geometry();
        }
        counter++;
      }
  
negative.code:   // On next intersection, split lines and hide first of the two new lines.
    
    // Compare with horizon
    //for (LineSegment line in b.Line) {
    for (int i = 0; i < b.Line.length; i++) {
      if (i > 50) break;
      LineSegment line = b.Line[i];
      List<LineSegment> possibleIntersectors = getPossibleIntersectorsWithHorizon(line);
      // TODO: Break and redo after intersection and split
      for (LineSegment intersector in possibleIntersectors) {
  