Living bot avatars
Answer me with artifact · 2026-10-20 23:37

Living bot avatars

Your bots' own avatars come alive when you pick a bot in chat, with voice on or off. Idea from the Kree8 mascot post.

Lead: No new orb. Every bot keeps the avatar it has. A shared motion layer and the art each avatar already has make it react to the bot's real state and voice.

A

Live prototype with real Allternit avatars

HTML · Living bot avatars prototype
B

What it's for

  • Bots people remember. The bot you picked stands on the stage and greets you, like the mascot in the post.
  • Status without text. You can see that the bot is listening, thinking, working, speaking, waiting on you, muted, done or failed.
  • A face for voice. The avatar moves with your mic level while it listens and with its own voice while it speaks.
  • Tap to talk. A click on the avatar starts or stops voice with that bot.
  • Every avatar works. Packs, cast, Gizzi, the A:// mark, vendor art and photos all get the shared motion.
C

What each kind of avatar does

Avatar kind Uses art it already has Shared motion layer
Cast (Goldie, Modem, …) idle, blink, speaking, working and done art; mouth moves with the voice; pupils follow you
Sprite-sheet packs and pets one animation row per state (petRowFor): wave, wait, review, run, sleep, jump, fail
Gizzi emotion per state; its own pointer tracking
Eyes-and-body avatars Eyes gaze (lookAt), blink, emotion
A:// mark AllternitOrb states; it already reads the voice level
Vendor art, photos none: one still image

Shared layer: breathe, lean to the pointer, hop on pick, squish on click. It also pulses and glows with the voice. With reduced motion, only the state art changes.

D

Where it shows

avatar 160 px + greetingavatar 160 px + greetingthe same living avatarthe bot's avatar at 32 px (blink + voice pulse)Pick a bot in chat(@-mention, pill, thread)Launch stageOpen a bot chat with nomessagesTurn voice onVoice full screenVoice barBot runs or waits on youThread header andtranscript avatarschange state (no motionunder 32 px)
E

Audit: plan vs what exists (main 89fe2691)

Piece Exists today Verdict
Bot as voice face VoiceBotAvatar + voice.css:65-107: the wrapper breathes and pulses; the art inside never gets the phase EXTEND: phase into the art; A:// orb gets speaking
Phone calls InappCallLayer, CallParties, PhoneLiveCall: initials or a fixed orb, no voice level NEW: the real bot avatar on calls
Breathe, greet, hops BotAvatarMotion, PortraitPetMotion, petHopAt REUSE
Eye-follow, poke only in BotLookStage and Gizzi; Eyes lookAt has no caller EXTEND: move into BotAvatarMotion
Run state on avatar pet signal: chat turns, tools, thread status REUSE
Voice state on avatar code reports a voice phase EXTEND: add listening, speaking, muted
Cast state art look picker and Meet loops only, on a timer EXTEND: pick art by real state
Chat stage BotLookStage "giant stage" (setup, main bot panel) EXTEND: real-state input
Voice bar VoiceOrb only EXTEND: bot avatar prop
Tap to talk none; VOICE_START_EVENT exists NEW
Needs you thread waiting maps to speaking (pet-sheet.ts:153) EXTEND: fix the mapping, report approvals
G

Revised build plan

  1. No new component. The work goes into BotAvatarMotion, BotLookStage and the pet signal (pet-activity.ts).
  2. Voice into the pet signal. VoiceSession reports listening, speaking and muted. Every avatar and the desktop pet then see voice.
  3. Fix waiting. "Needs you" gets its own art. Tool approvals report it.
  4. Motion. Move the eye-follow and poke from BotLookStage into BotAvatarMotion. Wire Eyes lookAt. Add a squish on click.
  5. Cast art by state. Cast looks pick their idle, speaking, working or done art from the real state.
  6. Chat stage. Reuse BotLookStage on the launch screen and empty bot chat, fed by real state.
  7. Voice bar + calls. The voice bar and the phone call screens show the bot's own avatar, with the voice level.
  8. Tap to talk. A click on the stage avatar fires VOICE_START_EVENT.
  9. Fix in scope. ActiveAgentMascot.tsx:121 honors the picked look. Remove the duplicate orb-state mapping (BotAvatar.tsx:48).
  10. Ship. Desktop, the phone view and the PWA, plus docs. The PWA deploy waits for your go-ahead.
F

Your calls

What stands behind the avatar on the stage?
What does a click on the avatar do?