entrances

MatrixDecode

Each character flickers through random glyphs, then settles to its target left-to-right — a decode reveal. The flicker is deterministic (seeded PRNG keyed by char index + frame), so it renders identically every time.

$ npx ondajs add matrix-decode

MatrixDecode

Each character flickers through random glyphs, then settles to its target left-to-right — a decode reveal. The flicker is deterministic: glyph picks come from a seeded PRNG (seededRandom) keyed by character index + frame bucket, so the same seed renders the same flicker every time (§1). Still-scrambling glyphs carry the accent; settled text goes neutral. Defaults to a monospace stack so the width stays steady while glyphs swap.

Props

PropTypeDefaultNotes
textstring"ONDA"Text that decodes in.
delaynumber0Frames before decoding.
charDelaynumber3Frames between chars settling.
scrambleDurationnumber18Frames each char scrambles.
scrambleSpeednumber2Frames between glyph swaps.
seednumber7Deterministic glyph seed.
charsetstringA–Z 0–9 symbolsGlyph pool.
color / scrambleColorstringtext / accentSettled vs scrambling color.
fontSize / sizenumber / role120Explicit px or canvas-aware role.
fontFamily, fontWeight, letterSpacing, alignmono defaultsTypography vocabulary.
placementregion or {x,y,anchor}Canvas placement.

Usage

TSX
import { MatrixDecode } from './components/onda/matrix-decode/MatrixDecode';

export const DecodeScene = () => (
  <MatrixDecode text="DECODED" placement="center" />
);