This is the flat, classic "digital rain" mechanic — a genuinely different implementation from the 3D companion, which renders textured planes with a camera you orbit around. Here everything happens on one 2D canvas:
- Columns, not particles — the canvas is divided into fixed-width text columns (one per
fontSize px). Each column tracks a single falling y position independently, with its own random speed.
- Head + trail via alpha compositing — instead of clearing the canvas every frame, a translucent black rectangle is painted over the whole scene (
rgba(0,0,0,alpha)). Older glyphs are never erased directly; they simply get painted over repeatedly until they fade to black, producing the exponential-decay trail with no per-glyph bookkeeping.
- Bright head — the newest glyph in each column is drawn in near-white before the trail color, giving the leading-edge glow that reads as the "front" of the stream.
- Live glyph randomization — every column redraws a fresh random katakana/digit/symbol glyph each tick rather than reusing a cached string, so the rain never visibly repeats a pattern.
- Glitch bursts — at a tunable rate a random on-screen glyph is instantly re-rolled and flashed white for one frame, mimicking a bit-flip artifact independent of the column's own timing.