[Workshop #222] Bark display — Timmy's voice in the 3D world #42

Closed
opened 2026-03-18 21:40:47 -04:00 by perplexity · 2 comments
Owner

Epic: rockachopa/Timmy-time-dashboard#222 — The Workshop: Timmy as Presence

The Gap

The #222 vision's primary output is barks — short, in-character reactions from Timmy. The current chat panel is a monospace log feed. There's no way for a bark to feel like Timmy speaking — it's just another line in a terminal.

Barks are the Workshop's heartbeat. They're how Timmy shows he's alive.

What

A bark renderer that displays Timmy's reactions prominently in the 3D viewport.

Acceptance Criteria

  • Handle incoming bark WS message: {type: "bark", text: "...", agent_id: "timmy", emotion: "calm|excited|uncertain", animation: "glance_crystal|wave|pace"}
  • Display bark text as a prominent overlay in the viewport — NOT just a chat log line
  • Bark appears with a typing/reveal animation (character by character or word by word)
  • Bark auto-dismisses after 5-8 seconds (configurable), fading out
  • Multiple barks queue — don't overlap, display sequentially
  • Bark text styled with the agent's color (Timmy = green)
  • Barks also logged to the chat panel as a permanent record
  • Optional: bark triggers a CSS class on the scene overlay (for ambient mood effects)
  • In mock mode: demo barks fire periodically to show the system working

Design Notes

  • Think speech bubble meets terminal toast. Semi-transparent dark background, monospace text, the agent's signature color.
  • Position: centered horizontally, upper third of viewport (doesn't compete with chat input at bottom).
  • Emotion field is for future use (affects animation and potentially bark styling).

Ref: rockachopa/Timmy-time-dashboard#241 (reactive prompt engine), #243 (bridge protocol)

## Epic: rockachopa/Timmy-time-dashboard#222 — The Workshop: Timmy as Presence ### The Gap The #222 vision's primary output is **barks** — short, in-character reactions from Timmy. The current chat panel is a monospace log feed. There's no way for a bark to feel like Timmy *speaking* — it's just another line in a terminal. Barks are the Workshop's heartbeat. They're how Timmy shows he's alive. ### What A bark renderer that displays Timmy's reactions prominently in the 3D viewport. ### Acceptance Criteria - [ ] Handle incoming `bark` WS message: `{type: "bark", text: "...", agent_id: "timmy", emotion: "calm|excited|uncertain", animation: "glance_crystal|wave|pace"}` - [ ] Display bark text as a prominent overlay in the viewport — NOT just a chat log line - [ ] Bark appears with a typing/reveal animation (character by character or word by word) - [ ] Bark auto-dismisses after 5-8 seconds (configurable), fading out - [ ] Multiple barks queue — don't overlap, display sequentially - [ ] Bark text styled with the agent's color (Timmy = green) - [ ] Barks also logged to the chat panel as a permanent record - [ ] Optional: bark triggers a CSS class on the scene overlay (for ambient mood effects) - [ ] In mock mode: demo barks fire periodically to show the system working ### Design Notes - Think speech bubble meets terminal toast. Semi-transparent dark background, monospace text, the agent's signature color. - Position: centered horizontally, upper third of viewport (doesn't compete with chat input at bottom). - Emotion field is for future use (affects animation and potentially bark styling). Ref: rockachopa/Timmy-time-dashboard#241 (reactive prompt engine), #243 (bridge protocol)
Author
Owner

Implemented in PR #46.

bark.js handles the bark display system:

  • showBark() renders prominent viewport toasts in the upper third of the screen
  • Character-by-character typing animation (30ms per char)
  • Auto-dismiss after 7s + typing duration, with fade-out animation
  • Queue system: max 3 simultaneous barks, overflow queued and drained
  • Agent color shown as left border accent
  • Barks permanently logged in chat panel
  • Demo barks in mock mode with Workshop-themed text
  • WS handler for bark message type wired in websocket.js
Implemented in PR #46. `bark.js` handles the bark display system: - `showBark()` renders prominent viewport toasts in the upper third of the screen - Character-by-character typing animation (30ms per char) - Auto-dismiss after 7s + typing duration, with fade-out animation - Queue system: max 3 simultaneous barks, overflow queued and drained - Agent color shown as left border accent - Barks permanently logged in chat panel - Demo barks in mock mode with Workshop-themed text - WS handler for `bark` message type wired in `websocket.js`
Author
Owner

Resolved on main — bark.js implements showBark() with agent-colored border highlights, fade-in/out animations, queuing system, and demo barks in mock mode. Handles bark and agent_message WS events.

Resolved on main — `bark.js` implements `showBark()` with agent-colored border highlights, fade-in/out animations, queuing system, and demo barks in mock mode. Handles `bark` and `agent_message` WS events.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: perplexity/the-matrix#42