let type;
let bars_used = false;
let grid_used = false;
let sprinkles_used = false;
let checkerEven = false;
let two_straight = false;
let worms_used = false;
let ss_circle = false;
var frameShape;
var bgType;
var floatingShapeType;
var centeredShapeType;
var framingShapeType;
var framingShape_failsafe = 0;
var hash;
var clrs;
var palettes;
var globalBlack;
var globalWhite;
var DEFAULT_SIZE = 1024.0
var WIDTH = window.innerWidth
var HEIGHT = window.innerHeight
var DIM = Math.min(WIDTH, HEIGHT)
var M = DIM / DEFAULT_SIZE
function setup() {
createCanvas(DIM, DIM);
globalBlack = color('#000000');
globalWhite = color('#FFFFFF');
clrs = [color(000000), color(000000), color(000000), color(000000), color(000000)];
palettes = [
[
[color('#FFFFFF'), color('#ec89b5'), color('#7ecfbc'), color('#f4ef94'), color('#acd6d4')],
[color('#000000'), color('#ec89b5'), color('#7ecfbc'), color('#f4ef94'), color('#acd6d4')],
[color('#554bf9'), color('#34ffec'), color('#ffbeff'), color('#f3abae'), color('#fc6f00')],
[color('#ffeb84'), color('#f2d8db'), color('#ffbae0'), color('#9fe6d6'), color('#000000')],
[color('#b2a3c5'), color('#8bcfc0'), color('#2a68b1'), color('#ff605d'), color('#fbcb21')],
[color('#000000'), color('#ffd9e4'), color('#fc635d'), color('#aee6cd'), color('#faca1e')],
[color('#000000'), color('#f1a9bf'), color('#4bcac1'), color('#e66494'), color('#f6df53')],
[color('#000000'), color('#f27998'), color('#04b7e2'), color('#f2fa66'), color('#a885a6')],
[color('#000000'), color('#dcb710'), color('#ff7c62'), color('#c62781'), color('#3babad')],
[color('#000000'), color('#6dfee1'), color('#ff9fe4'), color('#69cfff'), color('#fff59c')],
[color('#000000'), color('#f6c7bf'), color('#fdef96'), color('#88cac6'), color('#d2a5e0')],
[color('#000000'), color('#f41651'), color('#ff3fb2'), color('#ffa624'), color('#00a5b2')],
[color('#000000'), color('#fec3b5'), color('#2cae8c'), color('#ffe44f'), color('#c539a4')],
[color('#000000'), color('#03bcd8'), color('#e7b949'), color('#f25a35'), color('#eb9bbe')],
[color('#000000'), color('#dbeded'), color('#99d4e4'), color('#f8bee4'), color('#faff7a')],
[color('#000000'), color('#fe2284'), color('#fbf650'), color('#0fc2d6'), color('#01d4b1')],
[color('#000000'), color('#f9ce80'), color('#fb8372'), color('#6cdabf'), color('#0ebf6f')],
[color('#dc787a'), color('#fff681'), color('#0df7fe'), color('#ff7170'), color('#8383ff')],
[color('#000000'), color('#01aaad'), color('#bfaad3'), color('#9dd9d7'), color('#f59cb0')],
[color('#000000'), color('#f7bfda'), color('#fdeb3f'), color('#82d2e9'), color('#0050a3')],
[color('#000000'), color('#f7cbe2'), color('#904762'), color('#fce935'), color('#75e8bf')],
[color('#3fda65'), color('#ff5aa9'), color('#fe9bc7'), color('#00d7ec'), color('#fddd0c')],
[color('#000000'), color('#89d0c0'), color('#f87980'), color('#b2a4c8'), color('#eed55e')],
[color('#000000'), color('#e0378a'), color('#eb7b4d'), color('#13a1b7'), color('#e9b955')],
[color('#542f63'), color('#deb505'), color('#fd5d5d'), color('#0069ad'), color('#7ba1c6')],
[color('#fff44d'), color('#f7a5bb'), color('#ed008c'), color('#01babc'), color('#00b7f1')]
],
[
[color('#FFFFFF'), color('#eee30f'), color('#65fadc'), color('#f37990'), color('#3b3ff7')],
[color('#FFFFFF'), color('#eee30f'), color('#65fadc'), color('#f37990'), color('#3b3ff7')],
[color('#000000'), color('#ff3396'), color('#2cd6cb'), color('#ffde02'), color('#ff7ef1')],
[color('#0f6ced'), color('#fbf259'), color('#efa7b3'), color('#6aecbe'), color('#ffffff')],
[color('#000000'), color('#fff757'), color('#e969fe'), color('#2bfbff'), color('#ffffff')],
[color('#ff7e36'), color('#ec0d77'), color('#13abdc'), color('#deea7c'), color('#56fdc5')],
[color('#000000'), color('#fe47b3'), color('#5bcdff'), color('#fee229'), color('#ffffff')],
[color('#d7d30f'), color('#fa4d83'), color('#df7a2a'), color('#3bbda1'), color('#9c68b3')],
[color('#e14f8e'), color('#84931c'), color('#e8d403'), color('#639fde'), color('#ea9ac1')],
[color('#000000'), color('#69479d'), color('#ee3f76'), color('#4687c7'), color('#fce500')],
[color('#e4018c'), color('#96cce4'), color('#29ace4'), color('#fecf0d'), color('#ffffff')],
[color('#ed7193'), color('#f3e86c'), color('#47b375'), color('#87dcd7'), color('#e2ff6b')],
[color('#ff2e7f'), color('#9421ff'), color('#ff8e48'), color('#9df27b'), color('#ffe65a')],
[color('#d123d0'), color('#ff528b'), color('#015bf0'), color('#45fbc0'), color('#fe3a48')],
[color('#54bcbf'), color('#f6df43'), color('#e85d9e'), color('#e49cb2'), color('#ffffff')],
[color('#000000'), color('#fec3b5'), color('#01b9c3'), color('#885dd3'), color('#ffe44f')],
[color('#ec6da0'), color('#00b2a4'), color('#f2bb20'), color('#e9031d'), color('#ffffff')],
[color('#000000'), color('#feaab9'), color('#3ecabf'), color('#fcde58'), color('#fe8364')],
[color('#000000'), color('#ff4aa9'), color('#21adba'), color('#ffcb7b'), color('#ff80b7')],
[color('#44d0ff'), color('#b8f363'), color('#f91794'), color('#f4ad41'), color('#78289b')],
[color('#36e8da'), color('#f4f10e'), color('#e78f4f'), color('#f080e4'), color('#ffffff')],
[color('#ff44ad'), color('#feca16'), color('#8614c1'), color('#34e1db'), color('#00bed4')],
[color('#ff7785'), color('#000000'), color('#44e5d5'), color('#fdf9af'), color('#ffbcc3')],
[color('#d1ef1f'), color('#000000'), color('#28cbc8'), color('#ee56ad'), color('#b28dec')],
[color('#ffed0c'), color('#000000'), color('#036089'), color('#e30994'), color('#a6be50')],
[color('#02ffc9'), color('#000000'), color('#ff00a4'), color('#f0ea60'), color('#1701d2')],
],
[
[color('#7eb8da'), color('#92ddea'), color('#ffa5d8'), color('#be9ddf'), color('#9579d1')]
]
];
}
function draw() {
frameShape = "";
type = "based";
bgType = "";
bars_used = false;
sprinkles_used = false;
floatingShapeType = "";
centeredShapeType = "";
framingShapeType = "";
framingShape_failsafe = 0;
checkerEven = false;
two_straight = false;
worms_used = false;
let chars = "abcdef1234567890";
hash = "0x";
while (hash.length < 64) hash = hash + chars.charAt(Math.floor(random(0, 16)));
hash = tokenData.hash
randomSeed(hash);
type = xx(2) == 69 ? "based" : xx(2) < 200 ? "light" : "dark";
let palette_select = Math.floor(xx(4) / 10);
if (palette_select == 0) {
palette_select = 25;
}
let palette = palettes[2][0];
if (type == "light") palette = palettes[0][palette_select];
if (type == "dark") palette = palettes[1][palette_select];
var sortCols = [0, 0, 0, 0, 0];
for (var i = 0; i < 5; i++) {
let j = i - 1;
while (j >= 0 && xx(6 + 2 * i) < sortCols[j]) {
sortCols[j + 1] = sortCols[j];
clrs[j + 1] = clrs[j];
j--;
}
sortCols[j + 1] = xx(6 + 2 * i);
clrs[j + 1] = palette[i];
}
let randomOffset = xxs(16);
if (xx(16) < 63) {
randomOffset *= -5;
} else if (xx(16) < 126) {
randomOffset *= 2;
} else if (xx(16) < 189) {
randomOffset *= -3;
randomOffset /= 2;
} else {
randomOffset /= 2;
}
let randomOffset2 = xx(26) < 165 ? 0 - xxs(26) : xxs(26);
let randomOffset3 = xx(46) < 165 ? 0 - xxs(46) : xxs(46);
let randomOffset4 = xx(48) % 2 == 0 ? 0 - xxs(48) : xxs(48);
let randomOffset5 = xx(52) % 2 == 0 ? 0 - xxs(52) : xxs(52);
let bgSelect = xx(3);
if (type == "light") {
if (bgSelect < 6) {
background(255, 255, 255);
}
if (bgSelect > 5 && bgSelect < 50) {
dotsbg();
}
if (bgSelect > 49 && bgSelect < 100) {
gridbg();
}
if (bgSelect > 99 && bgSelect < 126) {
notebookbg(width);
}
if (bgSelect > 125 && bgSelect < 160) {
grid3Dbg();
}
if (bgSelect > 159 && bgSelect < 180) {
horizonbg();
}
if (bgSelect > 179 && bgSelect < 190) {
sprinklesbg();
}
if (bgSelect > 189 && bgSelect < 200) {
sprinklesGradientbg();
}
if (bgSelect > 199 && bgSelect < 226) {
wormsbg();
}
if (bgSelect > 225) {
fakegridbg();
}
}
if (type == "dark") {
if (bgSelect < 8) {
dotsbg();
}
if (bgSelect > 7 && bgSelect < 17) {
background(00, 00, 00);
}
if (bgSelect > 16 && bgSelect < 26) {
starscapebg(randomOffset4, randomOffset5);
}
if (bgSelect > 25 && bgSelect < 100) {
gridbg();
}
if (bgSelect > 99 && bgSelect < 126) {
grid3Dbg();
}
if (bgSelect > 125 && bgSelect < 176) {
horizonbg();
}
if (bgSelect > 175 && bgSelect < 227) {
notebookbg();
}
if (bgSelect > 226) {
fakegridbg();
}
}
if (type == "based") {
bgType = "based";
let x_lerp = 0;
let y_lerp = 0;
let w_lerp = DIM + (bgSelect < 128 ? 4 : 0);
let h_lerp = DIM;
let based_bg1 = bgSelect < 128 ? color('#00b0d7') : color('#ffb7af');
let based_bg2 = bgSelect < 128 ? color('#ffb7af') : color('#00b0d7');
let basedGradient;
basedGradient = createGraphics(DIM, DIM);
for (var i = y_lerp; i <= y_lerp + h_lerp; i++) {
let inter = map(i, y_lerp, y_lerp + h_lerp, 0, 1);
let c = lerpColor(based_bg1, based_bg2, inter);
basedGradient.strokeWeight(2);
basedGradient.stroke(c);
basedGradient.line(x_lerp - 2, i, x_lerp + w_lerp, i);
}
image(basedGradient, 0, 0);
}
let framingShape = xx(22) + framingShape_failsafe;
if (framingShape > -1 && framingShape < 8 && bgType != "notebook") {
if (type == "based") {
blendMode(ADD);
}
frameShape = "ellipse";
framingShapeType = "notebook";
let notebookFrameEllipse;
let notebookFrameEllipseMask;
notebookFrameEllipse = createGraphics(DIM, DIM);
let f = 0.02;
'use strict'
let grid = []
let notebook = []
var seed = floor(xx(18))
noiseSeed(seed)
notebook[0] = color(0, 0, 0);
notebook[1] = color(255, 255, 255);
let ratio = .5;
if (type == "light") {
ratio = .39
} else {
ratio = .58
}
notebookFrameEllipse.noStroke();
let dimScale = DIM/DEFAULT_SIZE
for (var y = 0; y < DIM; y++) {
for (var x = 0; x < DIM; x++) {
let xsc = floor(x/dimScale)
let ysc = floor(y/dimScale)
let i = noise(xsc * f, ysc * f) < ratio ? 1 : 0;
grid.push({
x,
y,
i
});
}
}
grid.forEach((g, index) => {
notebookFrameEllipse.fill(notebook[g.i])
notebookFrameEllipse.rect(g.x, g.y, 1, 1);
});
notebookFrameEllipseMask = createGraphics(DIM, DIM);
notebookFrameEllipseMask.noStroke();
notebookFrameEllipseMask.fill(255);
let frameOffset = randomOffset / 3;
let frameOffset2 = randomOffset2 / 3;
notebookFrameEllipseMask.ellipse(DIM / 2.0 + frameOffset, DIM / 2.0 + frameOffset2, DIM - s(456) - frameOffset, DIM - s(456) - frameOffset);
applyMask(notebookFrameEllipse, notebookFrameEllipseMask);
noFill();
stroke(clrs[4]);
strokeWeight(s(16));
ellipse(s(512) + frameOffset, s(512) + frameOffset2, DIM - s(456) - frameOffset, DIM - s(456) - frameOffset);
blendMode(BLEND);
}
if (framingShape > 7 && framingShape < 16) {
frameShape = "ellipse";
noFill();
strokeWeight(s(16));
stroke(nonBGColor(4));
let frameOffset = xsBetween(19, -100, 100)
let frameOffset2 = xsBetween(20, -100, 100)
let diameter = xsBetween(21, 550, 800)
ellipse(s(512) + frameOffset, s(512) + frameOffset2, diameter, diameter);
}
if (framingShape > 15 && framingShape < 26) {
frameShape = "square";
noFill();
strokeWeight(s(16));
stroke(nonBGColor(4));
let frameOffset = Math.floor(randomOffset / 3);
let frameOffset2 = Math.floor(randomOffset2 / 3);
square(s(256) + frameOffset, s(256) + frameOffset2, DIM / 2 - frameOffset);
}
if (framingShape > 25 && framingShape < 41) {
frameShape = "default_triangle";
noFill();
strokeWeight(s(16));
stroke(nonBGColor(4));
let frameOffset = randomOffset / 3;
let frameOffset2 = randomOffset2 / 3;
triangle(s(128) + frameOffset, s(768) + frameOffset, s(768) + frameOffset2, s(128) + frameOffset2, s(720) + frameOffset, s(940) + frameOffset);
}
if (framingShape > 40 && framingShape < 50) {
frameShape = "gradient_default_triangle";
let sourceDefaultFramingTriangle;
let maskDefaultFramingTriangle;
sourceDefaultFramingTriangle = createGraphics(DIM, DIM);
let x_lerp = 0;
let y_lerp = 0;
let w_lerp = DIM;
let h_lerp = DIM;
for (var i = y_lerp; i <= y_lerp + h_lerp; i++) {
let inter = map(i, y_lerp, y_lerp + h_lerp, 0, 1);
let c = lerpColor(clrs[0], clrs[1], inter);
sourceDefaultFramingTriangle.strokeWeight(2);
sourceDefaultFramingTriangle.stroke(c);
sourceDefaultFramingTriangle.line(x_lerp, i, x_lerp + w_lerp, i);
}
maskDefaultFramingTriangle = createGraphics(DIM, DIM);
maskDefaultFramingTriangle.noFill();
maskDefaultFramingTriangle.strokeWeight(s(16));
maskDefaultFramingTriangle.stroke(255);
let frameOffset = randomOffset / 3;
let frameOffset2 = randomOffset2 / 3;
maskDefaultFramingTriangle.triangle(s(128) + frameOffset, s(768) + frameOffset, s(768) + frameOffset2, s(128) + frameOffset2, s(720) + frameOffset, s(940) + frameOffset);
applyMask(sourceDefaultFramingTriangle, maskDefaultFramingTriangle);
}
if (framingShape > 249 && bgType == "grid") framingShape = 50;
if (framingShape > 49 && framingShape < 75) {
frameShape = "gradient_flipped_triangle";
let sourceFlippedFramingTriangle;
let maskFlippedFramingTriangle;
sourceFlippedFramingTriangle = createGraphics(DIM, DIM);
let x_lerp = 0;
let y_lerp = 0;
let w_lerp = DIM;
let h_lerp = DIM;
for (var i = y_lerp; i <= y_lerp + h_lerp; i++) {
let inter = map(i, y_lerp, y_lerp + h_lerp, 0, 1);
let c = lerpColor(clrs[0], clrs[1], inter);
sourceFlippedFramingTriangle.strokeWeight(2);
sourceFlippedFramingTriangle.stroke(c);
sourceFlippedFramingTriangle.line(x_lerp, i, x_lerp + w_lerp, i);
}
maskFlippedFramingTriangle = createGraphics(DIM, DIM);
maskFlippedFramingTriangle.noFill();
maskFlippedFramingTriangle.strokeWeight(s(16));
maskFlippedFramingTriangle.stroke(255);
let frameOffset = randomOffset / 3;
let frameOffset2 = randomOffset2 / 3;
maskFlippedFramingTriangle.triangle(s(900) - frameOffset, s(738) + frameOffset, s(400) + frameOffset, s(128) + frameOffset2, s(256) + frameOffset, s(938) + frameOffset);
applyMask(sourceFlippedFramingTriangle, maskFlippedFramingTriangle);
}
if (framingShape > 74 && framingShape < 120) {
frameShape = "flipped_triangle";
noFill();
strokeWeight(s(16));
stroke(clrs[4]);
if (type == "dark" && clrs[4] == color('#000000')) stroke(clrs[3]);
if (type == "light" && clrs[4] == color('#FFFFFF')) stroke(clrs[3]);
let frameOffset = randomOffset / 3;
let frameOffset2 = randomOffset2 / 3;
triangle(s(900) - frameOffset, s(738) + frameOffset, s(400) + frameOffset, s(128) + frameOffset2, s(256) + frameOffset, s(938) + frameOffset);
}
if (framingShape > 119 && framingShape < 150) {
frameShape = "gradientellipse";
let sourceGradientFrameEllipse;
let maskGradientFrameEllipse;
sourceGradientFrameEllipse = createGraphics(DIM, DIM);
let x_lerp = 0;
let y_lerp = 0;
let w_lerp = DIM;
let h_lerp = DIM;
for (var i = y_lerp; i <= y_lerp + h_lerp; i++) {
let inter = map(i, y_lerp, y_lerp + h_lerp, 0, 1);
let c = lerpColor(clrs[3], clrs[4], inter);
sourceGradientFrameEllipse.strokeWeight(2);
sourceGradientFrameEllipse.stroke(c);
sourceGradientFrameEllipse.line(i, x_lerp, i, x_lerp + w_lerp);
}
maskGradientFrameEllipse = createGraphics(DIM, DIM);
maskGradientFrameEllipse.noFill();
maskGradientFrameEllipse.strokeWeight(s(16));
maskGradientFrameEllipse.stroke(255);
let frameOffset = randomOffset / 3;
let frameOffset2 = randomOffset2 / 3;
maskGradientFrameEllipse.ellipse(s(512) + frameOffset, s(512) + frameOffset2, DIM - s(456) - frameOffset, DIM - s(456) - frameOffset);
applyMask(sourceGradientFrameEllipse, maskGradientFrameEllipse);
}
if (framingShape > 149 && framingShape < 225) {
frameShape = "inverse_flipped_triangle";
noFill();
strokeWeight(s(16));
stroke(nonBGColor(4));
let frameOffset = randomOffset / 3;
let frameOffset2 = randomOffset2 / 3;
triangle(s(900) - frameOffset, s(256) + frameOffset, s(600) - frameOffset, s(800) + frameOffset2, s(128) + frameOffset, s(256) + frameOffset2);
}
if (framingShape > 224 && framingShape < 250) {
frameShape = "default_flipped_triangle";
noFill();
strokeWeight(s(16));
stroke(nonBGColor(4));
let frameOffset = randomOffset / 3;
let frameOffset2 = randomOffset2 / 3;
triangle(s(128) + frameOffset, s(128) + frameOffset2, s(512) + frameOffset2, s(940) - frameOffset2, s(720) + frameOffset, s(128) + frameOffset);
}
if (framingShape > 249 && bgType != "grid") {
if (type == "based") {
blendMode(ADD);
}
frameShape = "gridTriangle";
grid_used = true;
let sourceDiagGrid;
let maskDiagGrid;
let diagLineCounter = (-1) * DIM;
sourceDiagGrid = createGraphics(DIM, DIM);
if (type == "light") {
sourceDiagGrid.background(255);
sourceDiagGrid.stroke(0);
}
if (type == "dark") {
sourceDiagGrid.background(0);
sourceDiagGrid.stroke(255);
}
sourceDiagGrid.strokeWeight(s(1))
while (diagLineCounter < DIM) {
sourceDiagGrid.line(0, 0 + diagLineCounter, DIM, DIM + diagLineCounter);
sourceDiagGrid.line(DIM, 0 + diagLineCounter, 0, DIM + diagLineCounter);
diagLineCounter = diagLineCounter + s(64);
}
maskDiagGrid = createGraphics(DIM, DIM);
let frameOffset = randomOffset / 3;
let frameOffset2 = randomOffset2 / 3;
maskDiagGrid.triangle(s(128) + frameOffset, s(128) + frameOffset2, s(512) + frameOffset2, s(940) - frameOffset2, s(720) + frameOffset, s(128) + frameOffset);
applyMask(sourceDiagGrid, maskDiagGrid);
noFill();
strokeWeight(s(16));
stroke(nonBGColor(4));
triangle(s(128) + frameOffset, s(128) + frameOffset2, s(512) + frameOffset2, s(940) - frameOffset2, s(720) + frameOffset, s(128) + frameOffset);
blendMode(BLEND);
}
let centeredShape = xx(6);
let xPos = s(512);
let yPos = s(512);
if (centeredShape < 24 && frameShape != "square") {
if (frameShape == "square") centeredShape = (28);
noStroke();
fill(clrs[0]);
let rect_mover = randomOffset / 2;
let rect_mover2 = randomOffset2 / 2;
let rect_size = 0;
if (abs(randomOffset2) < s(100)) rect_size = 2 * (abs(randomOffset2));
if (abs(randomOffset2) > s(99)) rect_size = abs(randomOffset2) / 2;
rect(s(480) + rect_mover, s(220) + rect_mover2, rect_size + s(160), rect_size * 2 + s(320));
}
if (centeredShape > 23 && centeredShape < 65 && frameShape != "ellipse" && bgType != "horizon") {
if (type == "based") {
blendMode(ADD);
}
centeredShapeType = "horizon";
let SourceRetroSun;
let MaskRetroSun;
SourceRetroSun = createGraphics(DIM, DIM);
SourceRetroSun.background(0, 0, 0);
let horizon = 0;
SourceRetroSun.strokeWeight(s(1));
while (horizon < DIM / 3) {
SourceRetroSun.stroke(diffColor(globalBlack, 0));
SourceRetroSun.strokeWeight(s(horizon / 1.5));
SourceRetroSun.line(0, s(400) + s(15) * horizon, DIM, s(400) + s(15) * horizon);
horizon = horizon + 1;
}
MaskRetroSun = createGraphics(DIM, DIM);
if (centeredShape < 10) {
centeredShape = centeredShape + 11;
}
if (centeredShape > 100) {
centeredShape = centeredShape - 30;
}
cShapeComp = s(centeredShape);
MaskRetroSun.ellipse(xPos, yPos, cShapeComp * 7 + (cShapeComp), cShapeComp * 7 + (cShapeComp));
applyMask(SourceRetroSun, MaskRetroSun);
blendMode(BLEND);
↓ show full (23,170 bytes)