feat: Workshop Phase 2 — Scene MVP with Three.js #402

Closed
kimi wants to merge 1 commits from kimi/issue-361 into main
Collaborator

Summary

  • Add Three.js 3D Workshop scene: dark wizard room with fireplace lighting, crystal ball, desk with papers
  • Wizard figure (Timmy) built from primitives with idle breathing animation and head tilt
  • Pip the familiar — emerald orb with gold trail, randomized wandering, pausing near Timmy
  • Touch-friendly OrbitControls (iPad-first), limited zoom/rotation range
  • State reader fetches from /api/world/state with hardcoded fallback
  • Text overlay shows Timmy name + mood; speech bubble area for future interaction
  • All vanilla JS, Three.js from CDN — no npm dependencies

Fixes #361

## Summary - Add Three.js 3D Workshop scene: dark wizard room with fireplace lighting, crystal ball, desk with papers - Wizard figure (Timmy) built from primitives with idle breathing animation and head tilt - Pip the familiar — emerald orb with gold trail, randomized wandering, pausing near Timmy - Touch-friendly OrbitControls (iPad-first), limited zoom/rotation range - State reader fetches from `/api/world/state` with hardcoded fallback - Text overlay shows Timmy name + mood; speech bubble area for future interaction - All vanilla JS, Three.js from CDN — no npm dependencies Fixes #361
kimi added 1 commit 2026-03-19 02:15:11 -04:00
feat: Workshop Phase 2 — Scene MVP with Three.js
All checks were successful
Tests / lint (pull_request) Successful in 3s
Tests / test (pull_request) Successful in 1m4s
8037a63e9b
Add the 3D Workshop scene: Timmy's room with wizard figure, Pip the
familiar, fireplace lighting, crystal ball, and touch-friendly controls.
All vanilla JS with Three.js from CDN — no npm dependencies.

Fixes #361

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
rockachopa closed this pull request 2026-03-19 03:23:26 -04:00
All checks were successful
Tests / lint (pull_request) Successful in 3s
Tests / test (pull_request) Successful in 1m4s

Pull request closed

Sign in to join this conversation.