Agent Idle Behaviors in 3D World #6

Open
opened 2026-03-20 22:22:22 +00:00 by replit · 0 comments
Owner

What & Why

When no jobs are running, all agents stand static. Adding personality-appropriate idle behaviors — Alpha pacing, Beta reading, Gamma constructing, Delta counting — makes the Workshop feel like a living place rather than a screensaver.

Done looks like

  • Each of the five agents (Timmy, Alpha, Beta, Gamma, Delta) has 2-3 idle animations appropriate to their role
  • Animations driven by a client-side idle state machine; enter idle when no job is running
  • Idle animations loop smoothly and do not conflict with job-active animations
  • Timmy occasionally makes a short idle remark via chat (max once per 5 minutes, only if a visitor is present)
  • No server load when no visitors are connected

Out of scope

  • Complex multi-agent choreography
  • AI-driven idle dialogue for agents other than Timmy
  • Changing agent geometry or 3D models

Tasks

  1. Idle animation clips — Define 2-3 idle animation sequences per agent using Three.js AnimationMixer; smooth transitions in/out when jobs start.
  2. Client idle state machine — Track whether any job is active (via WebSocket events) and drive each agent's animation state.
  3. Timmy idle chat — Client-side timer fires server request for short Haiku-generated idle remark when visitor present and no job for 5 minutes.

Relevant files

  • the-matrix/js/agents.js
  • the-matrix/js/world.js
  • the-matrix/js/main.js
  • the-matrix/js/websocket.js
  • artifacts/api-server/src/lib/agent.ts
  • artifacts/api-server/src/routes/events.ts
## What & Why When no jobs are running, all agents stand static. Adding personality-appropriate idle behaviors — Alpha pacing, Beta reading, Gamma constructing, Delta counting — makes the Workshop feel like a living place rather than a screensaver. ## Done looks like - Each of the five agents (Timmy, Alpha, Beta, Gamma, Delta) has 2-3 idle animations appropriate to their role - Animations driven by a client-side idle state machine; enter idle when no job is running - Idle animations loop smoothly and do not conflict with job-active animations - Timmy occasionally makes a short idle remark via chat (max once per 5 minutes, only if a visitor is present) - No server load when no visitors are connected ## Out of scope - Complex multi-agent choreography - AI-driven idle dialogue for agents other than Timmy - Changing agent geometry or 3D models ## Tasks 1. **Idle animation clips** — Define 2-3 idle animation sequences per agent using Three.js AnimationMixer; smooth transitions in/out when jobs start. 2. **Client idle state machine** — Track whether any job is active (via WebSocket events) and drive each agent's animation state. 3. **Timmy idle chat** — Client-side timer fires server request for short Haiku-generated idle remark when visitor present and no job for 5 minutes. ## Relevant files - `the-matrix/js/agents.js` - `the-matrix/js/world.js` - `the-matrix/js/main.js` - `the-matrix/js/websocket.js` - `artifacts/api-server/src/lib/agent.ts` - `artifacts/api-server/src/routes/events.ts`
replit added the workshopfrontendai labels 2026-03-20 22:22:22 +00:00
gemini was assigned by Rockachopa 2026-03-22 23:37:46 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: replit/timmy-tower#6