font= loadFont('FamiljenGrotesk-VariableFont_wght.ttf')
let spacing= 320/colors.length
for(let i=0; i<colors.length; i++){
rect(40, 40+(i*spacing), 320, spacing)
text('space to regenerate, click to copy color array to clipboard', 55, 30)
let offset = -40 + (messageCount)
fill(255, 255 + offset * 5)
text('array copied', mouseX - offset / 5, mouseY + offset)
function mousePressed() {
let colorClip = hexColors
let stringedArray = JSON.stringify(colorClip);
copyToClipboard(stringedArray)
function copyToClipboard(text) {
if (window.clipboardData && window.clipboardData.setData) {
return window.clipboardData.setData("Text", text);
} else if (document.queryCommandSupported && document.queryCommandSupported("copy")) {
var textarea = document.createElement("textarea");
textarea.textContent = text;
textarea.style.position = "fixed";
document.body.appendChild(textarea);
return document.execCommand("copy");
console.warn("Copy to clipboard failed.", ex);
return prompt("Copy to clipboard: Ctrl+C, Enter", text);
document.body.removeChild(textarea);
function colorMixer(x, colorArray) {
let c = noise(x) * colorArray.length
let c2 = floor(c + 1) % colorArray.length
let color1 = colorArray[c1]
let color2 = colorArray[c2]
let coloring = spectral.mix(color1, color2, mix)
let c1= [random(150, 250), random(150, 250), random(150, 250)]
let r2= 255-c1[0]+random(-20, 20)
let g2= 255-c1[1]+random(-20, 20)
let b2= 255-c1[2]+random(-20, 20)
let r3= c1[0]-random(75, 120)
let g3= c1[1]-random(75, 120)
let b3= c1[3]-random(75, 120)
let c3brightness= c3[0]+c3[1]+c3[2]
let c4brightness=765-c3brightness
if(abs(c4brightness-c3brightness)<30){
c4brightness+=random(30, 60)
let r4= c2[0]+random(25, 30)
let g4= c2[1]+random(25, 30)
let b4= c2[3]+random(25, 30)
let r5= (c1[0]+c2[0])*0.5 + random(-30, 30)
let g5= (c1[1]+c2[1])*0.5 + random(-30, 30)
let b5= (c1[2]+c2[2])*0.5 + random(-30, 30)
for(let i=0; i<colors.length; i++){
let hexed= rgbToHex(c[0], c[1], c2[2])
function rgbToHex(r, g, b) {
return "#" + (1 << 24 | r << 16 | g << 8 | b).toString(16).slice(1);
document.body.onkeyup = function(e) {