anchor.diff:    return possibleIntersectors;
   }
   
  +Map<int, LineSegment> horizonReplacementLines = new Map<int, LineSegment>();
   List<LineGroup> Lines = new List<LineGroup>();
   LineGroup Horizon = new LineGroup();
   void calculateLines() {
     Lines.clear();
     intersectionPoints.clear();
  -  const int lineCount = 30;
  +  const int lineCount = 3;
     Math.Random rand = new Math.Random();
     // Start w/ two lines - set up manually
     LineGroup a = new LineGroup();
  
positive.code:         print('Non-intersecting line with index ${i}, above horizon. Horizon start index: ${horizonStartIndex}, end index: ${horizonEndIndex}');
          
          // TODO: Fix with intersecting lines first
  //        for (int j = horizonStartIndex; j <= horizonEndIndex; j++) {
  //          print('Replacing horizon');
  //          Horizon.removeAt(j);
  //        }
  //        Horizon.insert(horizonStartIndex, line);
        }
      }
    }
  }
  
  
negative.code:     geometry.vertices.add(new Vector3(lineSegment.start.x, lineSegment.start.y + 5, 0.0));
      geometry.vertices.add(new Vector3(lineSegment.end.x, lineSegment.end.y + 5, 0.0));
    }
    print('Drew Horizon, ${Horizon.length} segments');
    var line = new Line(geometry, material);
    scene.add(line);
  }