Trading Floor — MSX-30 Live Open to Close
50 traders in 8 pits, a 70m LED ticker wall, a 36m big board, a circuit-breaker crash at minute 4 and a recovery rally at minute 7. Closing bell loops forever.
Built with:
three.jsr160single-file
Prompt
Build a single-file three.js r0.160.0 demo that simulates a NYSE-style
trading floor from opening bell to closing bell, on loop forever.
Constraints:
- Single HTML file < 200KB. three.js from unpkg only.
- First line of <body>: <!-- ROUND14_LIVING v1 -->.
- IIFE + strict mode. Disposables registry. Reseed every ~10 minutes.
- Autoplays forever.
3D floor:
- Marble tile floor + gold inlay ring, 8 grand columns with caps/bases,
ceiling chandelier with point light, 8 octagonal trading pits with
monitor clusters, opening-bell platform with brass podium + bell,
70m floor-to-ceiling LED ticker wall (CanvasTexture), 36×18m big-board
on the opposite wall (CanvasTexture), mezzanine ring with brass rail.
Living world:
- 50 traders via 4 InstancedMesh objects (body/head/two arms) with
per-instance vest colors (red=sell, blue=buy, gold=specialist) and
8 dynamic states.
- 20 stocks (4-char tickers, sectors, live price/change/volume + drift)
with named bigs (VLAR/KOXM/BLST/FRAK/CYNE) for vignettes.
- News scheduler with 20 templated event types (earnings, Fed, M&A,
CEO resigns, SEC probes, IPOs, cyber, chips, crypto, jobs).
- Crash at min ~4–5 (-4 to -8% + circuit-breaker banner + red overlay)
and recovery at min ~6–7.
Broadcast UI: MSX logo + LIVE pulse, MSX-30 index with delta, top-5
gainers/losers, anchor PIP (Madison Burke / Hank Dolan toggling),
TRADER OF THE DAY PIP, lower-third, breaking-news banner, market-
movers cut-in, volume-leader callout, news chyron, scrolling tape,
opening/closing bell banner with confetti Points cloud, vignette.
Cams: 10 director cameras (FLOOR WIDE, OPENING BELL, TRADING PIT,
SPECIALIST DESK, TICKER WALL, MEZZANINE, BREAKING NEWS, TRADER OF
THE DAY, CHANDELIER, BIG BOARD) rotating every 8–13s with eased lerp.
Forever loop: closing bell → reseed (new 20 stocks, new index base,
fresh news) every ~10 min.
Paste this into Claude, Cursor, or Copilot. Change one thing that matters to you.
What I learned shipping it
- Circuit-breaker + recovery arc is the dramatic spine — without it, a tickers wall is just decoration.
- InstancedMesh with per-instance vest color and 8 states is the cheapest way to make 50 traders feel alive.
- News chyron + bigs ticker + crash banner all referencing the same fictional companies (VLAR/KOXM/BLST) makes the world feel coherent.