ITADN

[Feature]: Bot Mode avatars should show more than two moods

#89099OpenAdolanium 创建于 18 小时前
type/featureP3comp/desktop
A
Adolaniumcommented
### Problem or Use Case In the Desktop app's Bot Mode, every bot has a small animated face in the roster. Right now the face only knows two states: idle and working. A few things make it feel a bit lifeless: - All faces blink at the same time, because they share one fixed 3.2 second timer. - Idle bots stare straight ahead. They never look around. - The blink is a hard swap between an open eye and a flat line, not a real close and open. - The body turns when the bot is working, but the eyes stay flat on the screen, so it does not really read as a head turn. - The face cannot show that a bot has an unread message, that the gateway is down, or that a bot is hidden. I would like the faces to feel more alive and to reflect what is going on with the bot, so I can read the roster at a glance without opening each chat. ### Proposed Solution Keep the current face (same shapes, colors, sizes, and picker) and extend the animation engine behind it: - Add moods beyond idle and work: happy, sad, sleepy, shy, surprised, sick. - Map roster state to moods in the Bots pane. For example: unread message -> happy, local gateway closed or errored -> sick, gateway connecting -> sleepy, hidden bot -> shy. - Give each bot its own timing offset so the roster does not blink in unison. - Make idle bots drift their gaze and glance aside now and then. - Make the blink a smooth vertical squash on a slightly random schedule. - Let the eyes slide with the head when it turns, so the working pose looks like a real turn. - Ease between moods so a change does not snap. Also fix a small bug: the row checks `gatewayState === 'busy'` for the working pose, but that value is the socket state and is never `'busy'`. The turn signal should come from `host.state.busy`. ### Alternatives Considered Swapping the face for a third party avatar library. That would change how every bot looks and throw away the shapes and colors users already picked, so I rejected it. Extending the current face keeps existing avatars the same and adds no dependency. ### Feature Type Other (Desktop app UI) ### Scope Medium (few files, < 300 lines) ### Contribution - [x] I'd like to implement this myself and submit a PR
0 条评论