Op Art
Hypnotic Truchet mazes, pulsing stripe tunnels and moiré, with one red wave flooding through the pattern.
Optical-art style for exhibitions, festivals, music releases and product drops that want to stop the scroll. Seeded Truchet tile mazes re-wire themselves as rotation waves sweep across the grid, a red ripple runs through the arcs, a tunnel of concentric rings XORs against rotating spokes, and chunky geometric type is punched out of solid plates so the pattern shows through the letters. Strict black and cream with a single red accent, small mono spec labels in black tags in the corners, and a moiré end card.
With Frame Jam installed, press Use this style in the local gallery, or just ask your agent:
Make a video with the Frame Jam style "op-art" and open it for review.Palette
Type
- Display
- Unbounded 900Uppercase knockout words 176–250px cut out of solid plates via SVG masks; 92px on the end card
- Body
- IBM Plex Mono 500Spec labels 15px uppercase, tracking 0.12em, cream on black tags
Motion
- TileRotate
- smoothstep (per-tile, staggered by distance)
- Plate
- expo.out
- PlateSwap
- back.out(3)
- Tunnel
- none
- EndCard
- expo.out
- Average shot
- 1.75s
Four pattern systems, ~1.4–2.2s each. The pattern itself never stops moving: rotation waves take ~1.2s to cross the grid, the tunnel streams outward continuously.
Transitions and text
- hard cut between pattern systems (maze → tunnel → inverted maze → moiré)
- solid plates wipe in across the pattern and carry knocked-out type
- palette inversion: cream-on-black maze becomes black-on-cream
- type is a hole in a plate: the plate grows from a 0-height line and the pattern shows through the letters
- word swap inside the same plate with a back.out bump
- date block scales up from scaleY 0, tag line rises 30px
- end-card words rise 40px with expo.out, 0.1s stagger
Style guide your agent follows
- Palette is strictly #0d0d0c and #efe8da plus one accent red #e8402a (pink #f2a493 only as the soft edge of the red wave). No other colours, no gradients.
- Truchet maze: 12–16 tiles across, each tile two quarter-circle arcs (stroke 30% of tile size), orientation from a seeded PRNG. Animate rotation waves: each tile turns +90° with smoothstep over ~0.4s, delayed by its distance from an origin (whole grid in ~1.2s).
- Colour the accent by distance, not by tile: an expanding ring (band ~70px red, ~80px pink edge) or a flood front from a corner.
- Tunnel: ~24 concentric rings (stroke = half the spacing) streaming outward with a breathing spacing, XORed with 28 rotating spokes via mix-blend-mode: difference.
- Type is always knocked out of a solid plate (SVG mask) in Unbounded 900 uppercase, one short word per plate; plates wipe in with expo.out. Keep words ≤5 letters at 176–250px on 1080.
- Corner labels: IBM Plex Mono 15px uppercase in black tags with red separators (title, seed, tile count, scene n / 4).
- End on a moiré of two offset concentric ring sets behind a black disc with a red rim and the name; avoid soft fades and drop shadows.



