forever components

De Stijl Neoplastic

Grid Recompose

Black grid lines slide between asymmetric positions with cubic easing, repartitioning red, blue, yellow, and off-white rectangles in neoplastic style.

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/design portfolio heroes, generative art showcases, or any context calling for calm geometric abstraction with a classical reference.

When not to

Contexts requiring legible text overlay — moving grid lines compete with content. Low-end devices running many canvas tiles simultaneously.

Working with an AI agent

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

Change YEL to '#e84f17' for a second red tone, increase line weight multiplier from 0.022 to 0.030, and add a fifth slot at 0.88 in VSLOTS. 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

  • primary color palette (RED, BLUE, YEL, PAINT constants)
  • slot positions (VSLOTS / HSLOTS arrays)
  • line weight multiplier (S*0.022)
  • cell color layout (base array in buildCells)
  • slide duration range (rnd(1.6,2.6))
  • cycle period (cycle=6.2 seconds)
  • theme tokens (:root dark defaults + [data-theme=light] overrides)

Keep intact

  • IIFE wrapper and 'use strict'
  • prefers-reduced-motion static-frame branch
  • visibilitychange pause/resume
  • DPR-aware canvas sizing and ctx.setTransform
  • theme hook (?theme= bootstrap + forever:theme message listener + theme tokens)

Known limitations

  • Cell color layout is hardcoded in buildCells — primary placement does not react to line positions dynamically
  • Background color is hardcoded in both CSS and canvas fillRect; must edit both to change it

gridneoplasticgeometryde-stijlcanvasloop

More De Stijl Neoplastic components

  • 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.
  • Split PlaneA square canvas splits along alternating seams; two halves slide apart and reflow into new De Stijl primary-color compositions every 4.4 s.