forever components

De Stijl Neoplastic

Primary Cascade

44 primary-colored squares fall down asymmetric vertical channels of a neoplastic-style black grid, stacking on stepped shelves then recycling from the top.

canvasmedium complexitymoderate motion

Open on the canvas to copy the code → Free account · 3 copies a day · membership goes unlimited

Live demo — the real component, running in a sandbox. One self-contained HTML file, zero dependencies. Open it on the canvas →
Worth keeping? Votes steer what gets built next — sign in to cast one, free to read

When to use it

Art or design portfolio backgrounds, De Stijl or Bauhaus themed hero sections, ambient loop for gallery/museum contexts.

When not to

Layouts requiring text legibility over the composition; contexts where constant falling motion would distract from primary content.

Working with an AI agent

Every component ships agent-ready metadata. An example instruction for this one:

Change the square count from N=44 to N=28, slow gravity by setting GRAV=0.0000020, and shift the yellow to orange by changing COL[2] to '#e8630a'. Theme: dark tokens live in :root, the light variant in :root[data-theme="light"]; ?theme=light or a {type:'forever:theme'} postMessage switches at runtime.

Safe to edit

  • square count (N=44)
  • gravity constant (GRAV=0.0000034)
  • primary colors (COL array)
  • channel boundaries (FR array)
  • shelf positions (SHELF array)
  • bar weight (BW = W*0.018)
  • theme tokens (:root dark defaults + [data-theme=light] overrides)

Keep intact

  • IIFE wrapper
  • prefers-reduced-motion guard with staticFrame() fallback
  • visibilitychange pause/resume
  • DPR-aware canvas sizing
  • theme hook (?theme= bootstrap + forever:theme message listener + theme tokens)

Known limitations

  • Stack reset uses fixed SHELF fractions — very tall stacks can glitch if squares are large relative to channel width
  • LCG seed uses Math.random() for channel/color picks but rnd() for position — mixing two RNG sources
  • No touch interactivity; purely passive display

de-stijlneoplasticfallinggridprimary-colorscanvasgenerative

More De Stijl Neoplastic components

  • Grid RecomposeBlack grid lines slide between asymmetric positions with cubic easing, repartitioning red, blue, yellow, and off-white rectangles in neoplastic style.
  • Boogie Pulse26 primary-color blocks travel and blink along a black asymmetric De Stijl grid over static color-field plaques, evoking neoplastic's Broadway Boogie-Woogie.
  • Block FillPrimary-color rectangles wipe and rise in staggered sequence to fill cells of an asymmetric black De Stijl grid on warm white; loops continuously.
  • Line WeaveHorizontal and vertical cream lines thread and interlace over primary-color blocks on a dark field, with bright nodes at crossing points during the weave…
  • Dynamic EquilibriumSix neoplastic-colored rectangles hang from a tilting beam; a spring-damper drives it toward equilibrium while a slow bias keeps it gently alive.
  • Counter CompositionA neoplastic grid of red, blue, and yellow cells divided by black bars rotates from 38° and settles to a gentle 15° resting angle with a slow living drift.