forever components

Constructivist

Diagonal Thrust

Red and black arrow-tipped slabs sweep along a -28° diagonal axis over a black field; a dark-red disc and a bold type bar anchor the composition.

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

Hero backgrounds evoking bold graphic-design or avant-garde aesthetics. Dark-mode landing pages, art/design portfolio headers.

When not to

Light-background UIs (background hardcoded near-black). Contexts requiring legible text overlays — slabs cross the full canvas.

Working with an AI agent

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

Change the diagonal angle from -28° to -45° by setting ANG = -45*Math.PI/180, and increase slab count to 8 by adding two new entries to the SLAB array. 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

  • diagonal axis angle (ANG = -28*Math.PI/180)
  • slab definitions (SLAB array — offset, length, thickness, color, speed, phase)
  • palette constants (RED, RED2, INK, PAPER, CREAM)
  • disc position and size (-0.66 multiplier, 0.072*S radius)
  • type bar proportions (H*0.86, W*0.62)
  • theme tokens (:root dark defaults + [data-theme=light] overrides)

Keep intact

  • IIFE wrapper
  • reduce / prefers-reduced-motion static-frame guard
  • visibilitychange stop/start pattern
  • DPR-aware canvas sizing (cv.width = Math.round(W*dpr))
  • theme hook (?theme= bootstrap + forever:theme message listener + theme tokens)

Known limitations

  • Background hardcoded to near-black (#0c0c0d) — must change CSS and BLACK constant together
  • Type bar is a decorative shape only — no real text rendered
  • Slabs wrap via modulo; very slow speeds may produce visible stutter at wrap boundary

constructivismgeometricdiagonalcanvaslooppropagandaambient

More Constructivist components

  • Red WedgeRed wedge drives into a recoiling black disc, scattering shards; bold slab type fades in after impact. Looping Constructivist poster animation.
  • Rotodynamic18 slab bars and word spokes radiate from an off-center hub, rotating at staggered speeds in a Rodchenko red-black-bone palette.
  • Floating FormsSuprematist field: tilted black square anchors red and off-white bars, squares, and a dot drifting in slow staggered CSS cycles on near-black.
  • MegaphoneA Constructivist megaphone emits expanding concentric red and paper-white arc rings across a dark field with bold diagonal bars. Runs autonomously.
  • Gear PosterThree SVG gears spin at different speeds while red diagonal bars slam in and slab-type text assembles — all on a dark constructivist grid.
  • Montage Cut11 Constructivist cut-outs slide in along diagonal angles then hold; a bold MONTAGE type stack and a slashing red diagonal anchor the composition.