Skip to content

feat(studio): a command center and a floor that lives - #40

Merged
piotrlaczkowski merged 2 commits into
mainfrom
claude/live-screen-animation-ux-w9eppr
Sep 25, 2026
Merged

piotrlaczkowski merged 2 commits into
mainfrom
claude/live-screen-animation-ux-w9eppr

Conversation

@piotrlaczkowski

Copy link
Copy Markdown
Contributor

What

The Live floor's harness table had every phase agent crowded round one table, with a name tag each. This replaces it and makes the whole floor feel alive.

Command center (the harness)

  • A glass room with a mission screen on the back wall naming the phase, a console, a plant and a coffee machine.
  • The crew waits inside on stools, shown as small chips (glyph + mood) rather than name tags. Names appear on hover or selection.
  • Whoever is on walks out through a sliding door onto a glowing pad, with an "on air" lamp and a speech bubble, then walks back in when done.

Life on the floor (floorLife.ts: pure, deterministic, unit-tested)

  • Idle people have moods: watching the worker, a coffee break (cup in hand, sipping), stretching, a stroll round the table, and a nap with their head on the desk and floating Zzz after a long wait. Moods are staggered per person so the room never changes all at once.
  • A table whose tickets are all done celebrates: beers with clinks, a football passed round the players, dancing, and confetti. When the run ships, the whole floor joins in, command center included.
  • Figures now have legs, arms, hair and a per-person look (floorRig.ts, RigBody.tsx) so the poses read.
  • The flat map shows the same moods (badges plus CSS doze/stroll/party motion) and the same command center layout. The dossier adds a "meanwhile: ☕ on a coffee break" line.

Performance and UX

  • Idle name pills are quieter and smaller.
  • After a run the 3D floor keeps living at an ambient ~30 fps for 4 minutes, then drops to on-demand frames. A hidden tab renders nothing. Under reduced motion everyone holds a still pose of their mood.

Testing

  • make web-check: lint, typecheck:test, all vitest suites and the build pass.
  • New floorLife.test.ts and new TeamFloor.test.tsx cases cover the command-center chips vs. the pad, the party at a done table, and naps plus the dossier mood.
  • Checked visually in headless Chromium (WebGL via SwiftShader) in light and dark: walking out through the door, beers, football, a nap, a coffee break, and the flat map.

🤖 Generated with Claude Code

https://claude.ai/code/session_01MursiSjrf51muBCzrWus9Y


Generated by Claude Code

The Live floor's harness table seated every phase agent round one table,
which crowded the scene with name tags. The harness now waits inside a
glass command center: a mission screen names the phase, the crew sits on
stools as small chips, and whoever is on walks out through a sliding door
onto a pad, speaks, and walks back in.

Everyone else has a mood (floorLife, pure and deterministic): they watch
the worker, take coffee breaks, stretch, stroll round the table, and doze
off at the desk after a long wait. A table whose tickets are all done
celebrates with beers, a kick-about and a dance; when the run ships the
whole floor joins in. Figures get limbs and per-person looks (floorRig,
RigBody) so the poses read. The flat map shows the same moods and the
same command center, and the dossier says what an idle person is up to.

After a run the 3D floor keeps living at an ambient 30 fps for a few
minutes, then settles to on-demand; reduced motion holds still poses.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MursiSjrf51muBCzrWus9Y
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MursiSjrf51muBCzrWus9Y
@piotrlaczkowski
piotrlaczkowski merged commit 65aa838 into main Sep 25, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants