<commit_before>// should be abstracted into a class
// all units in inches
// measured on lisa
float inseam = 31; // crotch to floor
float waist = 26; // waist circumference
float sideseam = 38.4; // waist to hemline (not floor to waist)
float hipCircumference = 35; // the "fullest part of your hip" 
float crotchDepth = 8; // from waist to seat when you're sitting
float ankle = 12; // based on your favorite pants

PVector A, B, p1, p2, p3, p4, p5;
PFont font;

void setup() {
  size(350, 800);
  
  font = createFont("Arial", 16);
  textFont(font);
  
  A = new PVector(0, 0);
  B = A.get();
  B.y += 5./8 + sideseam;
  p1 = A.get();
  p1.y += 5./8;
  p2 = p1.get();
  p2.y += crotchDepth;
  p3 = PVector.add(B, p2);
  p3.div(2);
  p4 = p3.get();
  p4.y -= inseam / 10.; // knee position
  p5 = p2.get();
  p5.y -= (hipCircumference / 2.) / 10. + (1 + 1/4.);
}

void draw() {
  background(255);
  float pointSize = 4;
  float drawingScale = 20;
    
  noFill();
  stroke(200);
  textAlign(LEFT, BOTTOM);
  PVector[] lines = {p1, p5, p2, p4, B};
  String[] lineLabels = {"Waist", "Hipline", "Crotch depth", "Knee", "Hemline"};
  for(int i = 0; i < lines.length; i++) {
    float y = lines[i].y * drawingScale;
    line(0, y, width, y);
    text(lineLabels[i], width / 2, y);
  }
  
  noStroke();
  fill(0);
  textAlign(LEFT, CENTER);
  PVector[] points = {A, B, p1, p2, p3, p4, p5};
  String[] pointLabels = {"A", "B", "p1", "p2", "p3", "p4", "p5"};
  for (int i = 0; i < points.length; i++) {
    float x = points[i].x * drawingScale, y = points[i].y * drawingScale;
    rect(x, y, pointSize, pointSize);
    text(pointLabels[i], x + pointSize, y);
  }
}

<commit_msg>more lines everywhere<commit_after>// should be abstracted into a class
// all units in inches
// measured on lisa
float inseam = 31; // crotch to floor
float waist = 26; // waist circumference
float sideseam = 38.4; // waist to hemline (not floor to waist)
float hipCircumference = 35; // the "fullest part of your hip" 
float crotchDepth = 8; // from waist to seat when you're sitting
float ankle = 12; // based on your favorite pants

PVector A, B, p1, p2, p3, p4, p5;
PVector p6, p7, p8, p6a;
PVector p9;
PFont font;

void setup() {
  size(350, 800);
  
  font = createFont("Arial", 16);
  textFont(font);
  
  // mark points
  A = new PVector(0, 0);
  B = A.get();
  B.y += 5./8 + sideseam;
  p1 = A.get();
  p1.y += 5./8;
  p2 = p1.get();
  p2.y += crotchDepth;
  p3 = PVector.add(B, p2);
  p3.div(2);
  p4 = p3.get();
  p4.y -= inseam / 10.;
  
  // add circumference measurements
  p5 = p2.get();
  p5.y -= (hipCircumference / 2.) / 10. + (1 + 1/4.);
  p6 = p5.get();
  p6.x += hipCircumference / 4. - 3/8.;
  p7 = p6.get();
  p7.y = p1.y;
  p8 = p6.get();
  p8.y = p2.y;
  p6a = p6.get();
  p6a.x += ((hipCircumference / 2.) / 10.) + (1/4.);
  
  // establish the crease line
  p9 = PVector.add(p5, p6a);
  p9.div(2);
}

void draw() {
  background(255);
  float pointSize = 6;
  float drawingScale = 20;
    
  // horizontal lines
  noFill();
  stroke(200);
  textAlign(LEFT, BOTTOM);
  PVector[] horizontalLines = {p1, p5, p2, p4, B};
  String[] horizontalLineLabels = {"Waist", "Hipline", "Crotch depth", "Knee", "Hemline"};
  for(int i = 0; i < horizontalLines.length; i++) {
    float y = horizontalLines[i].y * drawingScale;
    line(0, y, width, y);
    text(horizontalLineLabels[i], width / 2, y);
  }
  
  // vertical lines
  noFill();
  stroke(200, 0, 0);
  PVector[] verticalLines = {p6, p9};
  String[] verticalLineLabels = {"", "Crease line"};
  for(int i = 0; i < verticalLines.length; i++) {
    float x = verticalLines[i].x * drawingScale;
    line(x, 0, x, height);
    pushMatrix();
    translate(x, height / 2);
    rotate(-HALF_PI);
    text(verticalLineLabels[i], 0, 0);
    popMatrix();
  }
  
  // points
  noStroke();
  fill(0);
  textAlign(LEFT, CENTER);
  PVector[] points = {A, B, p1, p2, p3, p4, p5, p6, p7, p8, p6a, p9};
  String[] pointLabels = {
    "A", "B", "1", "2", "3", "4",
    "5", "6", "7", "8", "6a",
    "9"    
  };
  for (int i = 0; i < points.length; i++) {
    float x = points[i].x * drawingScale, y = points[i].y * drawingScale;
    ellipse(x, y, pointSize, pointSize);
    text(pointLabels[i], x + pointSize, y);
  }
}


{'fraction_non_alphanumeric': 0.1873822975517891, 'fraction_numerical': 0.051318267419962336, 'mean_word_length': 2.810762331838565, 'pattern_counts': {'":': 0, '<': 8, '<?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': 5, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2062527', 'n_tokens_mistral': 1856, 'n_tokens_neox': 1738, 'n_words': 503}