# Arrival Board

> A working system updates in different rhythms. The board is alive because not all of it is changing at once.

## Philosophy

A still board is dead. A board where every line changes simultaneously isn't a board — it's a billboard, a single message dressed up as data. The thing that makes a real arrival board feel *alive* is the asymmetry: at any given instant, three lines are still and one is flipping; a moment later, one line has just landed in green and another has begun its scramble; the rhythm of updates never quite repeats. *Arrival Board* is that asymmetry rendered as type. It is the visual claim that a working system is not an animation playing on a loop — it is an ensemble of independent processes, each on its own clock, none of which the viewer can predict, all of which the viewer can see.

The piece presents four rows: `BOOT`, `AGENTS`, `SIGNAL`, `STATUS`. Each row has a static label on the left and a value field on the right. Each row's value cycles through its own short sequence on its own period: `BOOT` walks `LOAD → INIT → OK` over six seconds; `AGENTS` flips between `047 → 099` every two seconds; `SIGNAL` ticks `LOW → MID → HIGH` every second; `STATUS` slowly traces `BOOT → WARM → TEST → READY` over the full twelve-second loop. The four periods are chosen so the rows never re-synchronise within the loop — at any moment of any cycle, the board shows a different combination of states. The viewer cannot photograph the same frame twice unless they freeze it.

Inside one value's window each row scrambles for a fraction of a second — the slot characters cycle through a deterministic alphabet — and then locks. For half a second after a slot lands, the dots draw in the brand's signal-green, then relax to the standard palette. This is what the eye is allowed to *catch*: the moment of arrival, held just long enough to register, then released. Across the four rows, these green flashes happen at different intervals, so the board sparkles unpredictably without ever being noisy. It is the visual equivalent of a server room full of LEDs blinking at different rates — chaos that looks like order because every flash signals a real event.

The discipline of *Arrival Board* is in the period choice. Six, four, three, twelve — four numbers whose product is large enough that within twelve seconds no row ever re-aligns with another. Each row completes an integer number of cycles in the loop, so at t=12 every row lands back exactly where it started at t=0, making the seam invisible. But the *path* through the twelve seconds is unpredictable: the viewer cannot say in advance which two rows will be flipping in which moment. The piece feels like a live feed because, mathematically, it is — the asynchrony is not faked, it is constructed from coprime-ish periods that do exactly what their math says they will do.

There is no headline. There is no message. The board itself is the message: *we run as an ensemble. We update at different rates. The thing you see is real.* Strip away the brand logo and the footer and the piece would still read — a server status board photographed at this moment, then again, then again, and never the same twice.

*Arrival Board* aligns with Datacode's positioning as a builder of working systems. The visual metaphor — the public surface of an ensemble that is busy, asynchronously, in real time — is the brand's promise rendered as image. *We don't show you the answer. We show you the board.*

## Algorithmic Expression

- **Grid**: Bitmap-font 5×7 glyphs at 14px cell pitch, dot radius 5px.
- **Rows**: Four independent rows. Each row owns `{ label, values[], period }`. Labels are static (dim palette tier). Values cycle on `period` seconds, equally distributed across `values[]`.
- **Per-slot flip**: At the start of each value-window, each character slot scrambles through a random alphabet at 8 chars/sec for 0.6s, then locks. Slots stagger by 70ms so the field reads as a wave inside one row.
- **Signal flash**: For 0.45s after a slot lands, dots draw in `--signal` rather than `--text`.
- **Periods**: 6.0, 4.0, 3.0, 12.0 seconds. Each row completes an integer number of cycles in the 12s loop (2, 3, 4, 1 respectively), so at t=12 every row is back at its t=0 state — invisible seam. The four periods never re-synchronise during the loop, so no two consecutive frames show the same row-combination.
- **Background**: Faint dim-dot grid covers the row block with per-cell phase-shifted breathing at ~0.6 Hz.

## Brand Fit

`Arrival Board` and `dot-matrix-loader` share the bitmap-font dot-matrix language but argue different things. `dot-matrix-loader` cycles **one** message at a time across **one** central headline — a brand statement assembling and dispersing. `Arrival Board` displays **four** parallel processes, none of them centred, all of them updating asynchronously — a working system reporting itself. Use `dot-matrix-loader` when the brief is *manifesto*; use `Arrival Board` when the brief is *operational*.
