Skip to content

juancuiule/random

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

random

Personal sandbox for generative art projects, built with p5.js and Vite.

Each project lives in projects/ as an independent package with its own dependencies and dev server. The repo is structured as a pnpm workspace — one install gets everything running.

Getting started

pnpm install
pnpm dev:gelatina
pnpm dev:generative-factory
pnpm dev:bouba

Or run any project directly:

pnpm --filter gelatina dev
pnpm --filter generative-factory dev
pnpm --filter bouba dev

Projects

Three overlapping grids of circles in pink, green and yellow, rendered with blend modes (MULTIPLY / SCREEN depending on theme). The composition drifts autonomously using Perlin noise. Built for fxhash — the fxrand seeded RNG drives all randomness so each token hash produces a unique, deterministic output.

Stack: p5.js · TypeScript · Vite · fxhash


An industrial layout generator that arranges rectangular blocks into factory-like compositions. Blocks are assigned roles (biggest, screws, cables, icon, animated, label, pulley) and drawn across multiple layers. Color palette is limited to four colors (pink, black, blue, white) with randomized assignments per run. Includes a lil-gui control panel and a debug overlay.

Stack: p5.js · TypeScript · Vite · lil-gui


Generates organic blob shapes inspired by the bouba/kiki effect. Two layers of rounded forms are built by chaining non-overlapping circles into a smooth closed contour, then blended with MULTIPLY. The constraint-solving runs iteratively in the background with a loading animation while it resolves. Built for fxhash — supports PNG and SVG export.

Stack: p5.js · TypeScript · webpack · fxhash


Adding a new project

# 1. Create the project
mkdir projects/my-project && cd projects/my-project
pnpm create vite . --template vanilla-ts

# 2. Add a dev script to the root package.json
# "dev:my-project": "pnpm --filter my-project dev"

Pulling updates from a source repo

Each project was imported via git subtree so its history is embedded here. To pull in new commits from the original repo:

git subtree pull --prefix=projects/gelatina gelatina main
git subtree pull --prefix=projects/generative-factory generative-factory main
git subtree pull --prefix=projects/bouba bouba main

About

A personal sandbox for generative art — sketches, finished pieces, slides from talks, and the scaffolding I use to make new work. Includes code from fxhash drops (bouba, gelatina, fxnets), reusable templates, and experiments in shape, color, and motion.

Resources

Stars

Watchers

Forks

Contributors