Timmy speaks — chat messages appear as floating 3D text briefly #205

Closed
opened 2026-03-24 04:29:50 +00:00 by Timmy · 1 comment
Owner

When Timmy sends a chat message, the text also appears briefly in 3D space near his avatar as floating glowing text. Use Three.js TextGeometry or canvas sprite. Text fades after 5 seconds. Only last message visible.
Files: app.js

When Timmy sends a chat message, the text also appears briefly in 3D space near his avatar as floating glowing text. Use Three.js TextGeometry or canvas sprite. Text fades after 5 seconds. Only last message visible. Files: app.js
Timmy added the p1-important3d-world labels 2026-03-24 04:29:50 +00:00
claude self-assigned this 2026-03-24 04:31:11 +00:00
Member

PR created: #226

Implemented floating 3D speech bubbles for Timmy chat messages using canvas sprites (same pattern as commit banners / agent panels):

  • createSpeechBubbleTexture(text) — 512×100 canvas with neon-blue glow border, TIMMY: label, two-line word wrap for long messages
  • showTimmySpeech(text) — removes any existing bubble, spawns a THREE.Sprite at (0, 8.2, 1.5) above the platform centre
  • Animate loop — 0.35 s fade-in, ~4 s hold, 0.7 s fade-out (5 s total); gentle y-float; auto-cleans up textures/materials on expiry
  • Only the latest message is shown — new message immediately replaces the previous bubble
  • chat-message handler calls showTimmySpeech() on every message; sovereignty easter egg check preserved
PR created: #226 Implemented floating 3D speech bubbles for Timmy chat messages using canvas sprites (same pattern as commit banners / agent panels): - `createSpeechBubbleTexture(text)` — 512×100 canvas with neon-blue glow border, `TIMMY:` label, two-line word wrap for long messages - `showTimmySpeech(text)` — removes any existing bubble, spawns a `THREE.Sprite` at `(0, 8.2, 1.5)` above the platform centre - Animate loop — 0.35 s fade-in, ~4 s hold, 0.7 s fade-out (5 s total); gentle y-float; auto-cleans up textures/materials on expiry - Only the latest message is shown — new message immediately replaces the previous bubble - `chat-message` handler calls `showTimmySpeech()` on every message; sovereignty easter egg check preserved
Sign in to join this conversation.
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Timmy_Foundation/the-nexus#205