Geomerative text question

Yeah, something like this.

Edit: I now saw you wrote ‘curveVertex’, that would be the third one.
I modified the code, but nr 3 isn’t of course what you want.

import geomerative.*;
RFont f;
RShape grp;
RShape grp2;
RPoint[] pts;
RPoint[][] pointPaths;

void setup() {
  size(900, 900);
  RG.init(this);
  grp2 = RG.getText("Belli", "FreeSans.ttf", 200, CENTER);
  grp = RG.getText("Belli", "FreeSans.ttf", 200, CENTER);
}

void draw() {
  background(255);
  strokeWeight(2);
  RG.setPolygonizer(RG.UNIFORMLENGTH);
  pts = grp.getPoints();
  pointPaths = grp.getPointsInPaths();
  translate(300, 160);
  fill(0, 0, 0);
  noStroke();
  for (int i = 0; i< pts.length; i++) {
    fill(0);
    ellipse(pts[i].x, pts[i].y, 2, 2);
  }
  translate(0, 200);
  beginShape(POINTS);
  stroke(0);
  for (int i = 0; i< pts.length; i++) {
    vertex(pts[i].x + sin(frameCount*0.05 + pts[i].y*0.1)*5, pts[i].y);
  }
  endShape();
  translate(0, 200);
  noStroke(); 
  fill(255, 0, 0);
  grp.draw();
  noFill();
  stroke(0);
  for (int i = pointPaths.length-1; i >= 0; i--) {
    if (pointPaths[i] != null) {
      beginShape();
      for (int j = pointPaths[i].length-1; j >= 0; j --) {
        curveVertex(pointPaths[i][j].x + sin(frameCount*0.05 + pointPaths[i][j].y*0.1)*5, pointPaths[i][j].y);
      }
      endShape(CLOSE);
    }
  }
  translate(0, 200);
  noStroke();
  fill(255, 0, 0);
  grp.draw();
  stroke(0);
  for (int i =0; i< pts.length; i++) {
    line(pts[i].x, pts[i].y, pts[i].x + random(-15, 15), pts[i].y + random(-15, 15));
  }
}