forever components

Constructivist

Megaphone

A Constructivist megaphone emits expanding concentric red and paper-white arc rings across a dark field with bold diagonal bars. Runs autonomously.

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

Dark hero backgrounds evoking Soviet-era propaganda aesthetics, art/design portfolio showcases, bold ambient motion for creative brands.

When not to

Light-background layouts (background hardcoded dark). Contexts requiring legible text overlays — the expanding rings compete with content.

Working with an AI agent

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

Change the ring accent from red to gold (#c8a000), slow the spawn interval by setting spawnGap to 1.8, and widen the shout cone by increasing spread from 0.78 to 1.1. 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

  • ring color palette (RED/PAPER constants)
  • spawn gap interval (spawnGap=1.0)
  • emission cone half-angle (spread=0.78)
  • ring pool size (N=7)
  • speed scalar (S*0.0016)
  • megaphone scale (len=S*0.34, mouthR=S*0.20)
  • theme tokens (:root dark defaults + [data-theme=light] overrides)

Keep intact

  • DPR-aware canvas sizing and setTransform
  • visibilitychange pause/resume
  • reduced-motion static single-frame fallback
  • IIFE wrapper
  • theme hook (?theme= bootstrap + forever:theme message listener + theme tokens)

Known limitations

  • Background color hardcoded in CSS and JS — must change in both places
  • Ring color alternation tied to radius bucket, not index — changing N shifts the pattern
  • No pointer interactivity; composition is fixed

constructivismmegaphonecanvasgeometricringspropaganda-artambient

More Constructivist components

  • Diagonal ThrustRed 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.
  • 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.
  • 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.