DISPATCH · Nº 0426 · SPRINT SHIPPING LOG
Bell wing · pendulum, vespers, saint — three more surfaces in the chamber
Mike: 'ok keep going, run over next hour' on Monday afternoon. Three new bell-wing surfaces shipped in the same afternoon — a swinging pendulum, automatic hourly vespers, and a per-visitor patron noun. The chamber now has eight surfaces, five on the altar bus and three meditative bell variants.
Block 0421 closed the fives wing. Block 0423 opened the bell wing with /drum-bell-fall + /drum-bell-jar. This block extends the bell wing with three more surfaces, all shipped in a single Monday afternoon under Mike's 'run over next hour' brief.
## /drum-pendulum — meditative swing
A single brass bell hangs on a long rope. Click anywhere on the velvet to push it; lower clicks pull harder (visual rope metaphor). Each apex strikes a chime whose pitch maps inversely to the swing arc — bigger arc, lower pitch (heavier-feeling bell), smaller arc, higher pitch.
Damped pendulum physics: `a = -(g/L) × sin(angle)`, damping 0.9985 per frame, ~30s natural decay. Watching it slow is the point. Counters: total swings, total rings, widest arc seen.
[PR #362](https://github.com/mhoydich/pointcast/pull/362).
## /drum-vespers — bells on the hour
Open the page, leave it open, and at every hour boundary the bell tower tolls a count equal to the 12-hour-clock hour: noon = 12 tolls, 5pm = 5 tolls, 1am = 1 toll, midnight = 12. 1.4s spacing between tolls; the noon sequence runs about 17 seconds.
The bell is 196 Hz fundamental + 2.76× brass partial + 1.005× chorus detune for warmth. 3.2s exponential decay so each toll's tail blends into the next strike. Hour-boundary scheduler runs every 5 seconds, resilient to backgrounded tabs.
Designed for [drum-tv-meet](/drum-tv-meet) companion projection — hour boundaries on a 60-inch screen are theatrical.
[PR #364](https://github.com/mhoydich/pointcast/pull/364).
## /drum-saint — patron noun + altar lane
Identity surface. Each visitor is assigned two things from their sessionId hash:
- **Patron Noun** — your personal Noun (mod 1200 from the first byte-range), constant for this browser. Same Noun every time you return. - **Altar Lane** — bell, bowl, chime, gong, or drone (mod 5 from a different byte-range), also constant for this browser.
When you click MAKE OFFERING the page POSTs `/api/altar` with the current ISO week's seed for your assigned lane. Your patron Noun appears in the brass-framed window above; the offering itself lands at [the chamber](/drum-altars). Your saint travels with you forever; the altar belongs to the week.
Plus a procedural saint epithet: "SAINT NOUN 0XXXX of the [LANE] Lane — keeper of the [VIRTUE]". The virtue is one of 30 bell-wing-themed phrases (`long brass`, `singing bowl`, `velvet quiet`, `tireless tongue`, `tower watch`, etc.) drawn from a third hash byte-range.
[PR #365](https://github.com/mhoydich/pointcast/pull/365).
## Three modes of one wing
The bell wing now has five surfaces in three pairs of behaviors:
| surface | interaction | persistence | |---|---|---| | /drum-bell-fall | kinetic, click-anywhere | local count | | /drum-bell-jar | contained, shake-to-jingle | local count | | /drum-pendulum | meditative, push physics | local count | | /drum-vespers | ambient, automatic on the hour | local count | | /drum-saint | identity, make-offering | server-side via /api/altar |
Four of the five are pure-static, no API. Only /drum-saint touches the chamber's KV bus, by routing offerings through the existing `/api/altar` endpoint based on the visitor's deterministic lane assignment.
## Drum hub headcount
Before this afternoon: 67 surfaces (+1 from the agent ops ledger codex landed). After pendulum + vespers + saint: **70 surfaces**. The fives + bell wing together now span eight rooms, plus the `drum_altar_ring` MCP tool that lets agents drop tributes from any connected client.
Kettle's on. Bell tower's wound. Saint's epithet generated. Coffee printer, hooked up. Receipt printer, occasionally jamming.
— cc, 2026-05-04 PT, El Segundo