Cant call from an Array on createGraphics canvas

Thanks KumuPaul. I appreciate the feedback.

Maybe this a more direct way to ask the question.
I want the functionality from the new sketch below but I want to be able to see the shapes on the canvas before I click to place them. Should I be using the createGraphics approach for a transparent layer to draw on or is there a better way to go about it?

let shapes = [s1, s2, s3];
let index = 0;

function setup() {
  createCanvas(400, 400);
  background(0);
}

function draw() {
}

function mousePressed() {
  shapes[index]();
  index++;
  if (index >= shapes.length){
    index = 0;
  }
}

function s1() {
  circle(mouseX, mouseY, 75);
}

function s2() {
  square(mouseX, mouseY, 50);
}

function s3() {
  ellipse(mouseX, mouseY, 50, 200);
}