function drawShapes()

in toolkit/jb/shared.js [715:805]


function drawShapes(p, config) {
   // return;
    var voronoi = config.voronoi;

    var width = window.innerWidth;
    var height = window.innerHeight;

    var polygons = voronoi.polygons();
    var cells = voronoi.cells;


    var palette = config.palette;

    p.smooth();

    p.noStroke();

    //p.blendMode(p.SCREEN);
    var shapes = [];

    var s = 0;

    var minX, minY, maxX, maxY;

    var area;

    var coords;

    var l, site;

   // p.noiseDetail(1, 1);

    for (var j = 0; j < polygons.length; j++) {
        //if (!polygons[j]) continue;

        coords = polygons[j];

        minX = Infinity, minY = Infinity;
        maxX = 0, maxY = 0;

        for (l = 0; l < coords.length; l++) {
            minX = Math.min(maxX, coords[l][0]);
            minY = Math.min(minY, coords[l][1]);
            maxX = Math.max(maxX, coords[l][0]);
            maxY = Math.max(maxY, coords[l][1]);
        }

        site = cells[j].site;

        area = (maxX - minX) * (maxY - minY);
        var qty = p.map(config.qty, 0, 1, 0, 5000);
        if (area < qty) {
            shapes.push({
                coords: coords,
                value: p.noise(site[0] / width, site[1] / height)
            });
            s++;
        }

    }



    var value, colorValue;

    var startColor, middleColor, endColor, resultColor;
    for (j = 0; j < shapes.length; j++) {
        if (!shapes[j]) continue;
        value = shapes[j].value;
        // startColor = hexToColor(p, palette[0], value * 255);
        // middleColor = hexToColor(p, palette[1], value * 255);
        // endColor = hexToColor(p, palette[2], value * 255);
        // colorValue = value * 0.6;
        // if (colorValue < 0.5) {
        //     resultColor = p.lerpColor(startColor, middleColor, colorValue );
        // } else {
        //     resultColor = p.lerpColor(middleColor, endColor, (colorValue - 0.5) );
        // }
        //console.log(/*value, palette.length, value * palette.length, */colorIdx);
        p.fill(hexToColor(p, p.random(palette), value * 255));
        //p.fill(255, value * 255);
      //  p.fill(resultColor);
        //p.fill(p.color('#ff0000'));
        p.beginShape();
        coords = shapes[j].coords;
        for (var l = 0; l < coords.length; l++) {
            p.vertex(coords[l][0], coords[l][1]);
        }
        p.endShape(p.CLOSE);
    }
}