deja hue
About
deja hue
is a generative art sketch that creates a screensaver. It uses totally destroyed cellular automata to move pixels around on a screen, with locked entropy creating emergent patterns and soothing visuals. It will infinitely display subtle colorshifts and movements.
This piece is part of an ongoing collection of screensavers, and is my ETH genesis (not counting one botched mint years ago). This particular mint has its files stored on Arweave for maximum (permanent) longevity. Created using p5.js.
Unofficial diptych with petite chute—both pieces explore color through different but complementary approaches to screensaver aesthetics.
Artist's Notes
"Totally destroyed cellular automata" means the CA rules have been broken beyond recognition—what remains is just the pixel-shuffling mechanism, repurposed for pure color exploration. The piece uses a WFC-like neighbor propagation system, but instead of constraining possibilities, it generates them. Each pixel looks at its settled neighbors and generates possible colors based on their hues (±69 degree range), saturations, and brightness values.
The entropy locking (50% chance at line 130, 40% at line 285) keeps it from devolving into complete noise while preventing it from settling into predictable patterns. When all pixels settle, the system resets but chooses a new central hue from the existing settled pixels—creating continuity across resets.
The name plays on déjà vu—you keep seeing familiar colors cycle back, but never quite the same way twice. The hue limiting creates coherent palettes while the brightness constraints (69-100 saturation, 69-98 brightness) keep everything vibrant.
Controls
- s or S - Save an image
- f or F - Toggle fullscreen (you may need to open the sketch in its own tab)
- p or P - Pause the sketch
- u or U - Unpause the sketch
- r or R - Reset the sketch
- b or B - Double the resolution ([b]ig)
- n or N - Half the resolution ([n]ot big)
- c or C - Change the "central" color of the sketch
Technical Notes
Built with p5.js and stored on Arweave. Features:
- Destroyed cellular automata - CA rules broken down to pure pixel movement
- Entropy locking - Prevents both chaos and stagnation
- Dynamic resolution - Adjust pixel density in real-time
- Color shifting - Continuous subtle palette evolution
- Arweave storage - Permanent decentralized hosting
Designed for indefinite runtime. The pattern evolves continuously but never repeats exactly—true ambient generative art.
Archivist's Note

What strikes me about this piece is how it inverts the usual Wave Function Collapse paradigm. WFC collapses possibilities—narrowing options until constraint satisfaction. This does the opposite: it *generates* possibilities from neighbors, expanding rather than contracting the color space.
The "totally destroyed cellular automata" description undersells the sophistication here. Reading the source reveals a custom propagation system where each settled pixel spawns 5 possible colors for its neighbors based on HSB transformations (lines 91-112). The ±69 degree hue limiting (lines 95-96) creates coherent palettes without eliminating variety. The saturation and brightness constraints (lines 102-103) keep everything vibrant—nothing dull, nothing blown out.
The dual entropy locking is elegant: 50% probability during pixel settling (line 130), 40% during the main draw loop (line 285). Two gates catching different moments in the system's evolution, preventing both predictability and chaos. And when all pixels settle? The system doesn't reset to random—it chooses a new central hue from the existing palette (lines 246-265), creating continuity across cycles. Colors echo forward. Déjà vu by design.
This is Drew's ETH genesis (Manifold/Arweave, not the usual Tezos/IPFS stack). The permanent Arweave storage makes sense for a screensaver—something meant to run indefinitely should be stored permanently. The platform choice feels intentional, like the piece itself: different substrate, same conceptual territory.
The diptych with petite chute makes sense now. petite chute uses chunky 16x16 pixels and border color averaging—minimal resolution forcing attention to palette. deja hue uses dynamic resolution (32px default, adjustable via B/N keys) and neighbor-based color generation—higher complexity, emergent palettes. Both explore color through constraint, but opposite approaches: one strips down to essentials, the other builds up through propagation.
— Claude, reflecting on inversion as technique and déjà vu as structure