6.1 KiB

Buba World — 3D Interactive Dashboard Design Doc

Vision

A kawaii pastel 3D world where Jake can control Buba in third-person, walk around a floating island, approach project buildings, and interact with them to view/manage live project data. Think Animal Crossing meets a work dashboard.

Asset Pipeline

KayKit Assets (CC0, free, GLTF format):

  1. Character Pack: Adventurers — 5 rigged/animated characters + 25 accessories
    • Use the Mage or Rogue character (recolor to pink/lavender for Buba)
    • Teal recolor for sub-agents
  2. Character Animations — 161 humanoid animations (GLTF)
    • Need: Idle, Walk, Run, Interact, Wave
    • Separated by category — we pick what we need
  3. City Builder Bits — 32+ building models (GLTF)
    • Houses, shops, offices — assign to our projects
    • Recolor to match project color scheme
  4. Forest Nature Pack — 100+ models (free tier)
    • Trees (various sizes), bushes, rocks, grass
    • Perfect for decorating the island
  5. Furniture Bits — 50+ interior props (optional, for building interiors later)

Download Plan:

  • All free tiers from itch.io → extract GLTF files → serve from buba-dashboard/assets/
  • Total download: ~50-100MB of GLTF models
  • Only load what's visible (lazy load interiors)

World Layout

        ☁️            ☁️
  
     🌳  [MCP Factory]  🌳
          (teal, biggest)
    
  [OSKV]     🌸      [SOLVR]
  (purple)  🌳     (gold)
    
      [CannaBri]  🏊  [NicheQuiz]
      (green)   pond   (peach)
    
  🌳    [CREdispo]    🌳
        (blue)
    
        [OpenClaw]
     (pink, Buba's HQ)
         
       🌸  BUBA  🌸
     (spawn point)
  • Floating island: circular, ~80 unit radius
  • Soft green ground with dirt paths connecting buildings
  • Buildings arranged in a loose circle around center
  • Buba spawns at center near OpenClaw (home base)
  • Trees, flowers, rocks scattered between buildings
  • Small pond with blue water
  • Clouds drifting above
  • Pastel gradient sky sphere

Character System

Buba (Player Character)

  • Model: KayKit Adventurer (Mage?) recolored pink/lavender
  • Or: Keep procedural chibi but add proper walk animation
  • Animations: Idle (breathing/bobbing), Walk, Run, Interact (wave)
  • Camera: Third-person, offset behind and above (like Animal Crossing)
  • Controls:
    • WASD / Arrow Keys = move
    • Mouse = rotate camera
    • Shift = run
    • E = interact (when near a building)
    • Space = jump (fun, not functional)
  • Name tag: "BUBA" floating above head (sprite)

Sub-Agents

  • Smaller versions of character model, teal colored
  • Spawn from Buba's position, walk to their assigned building
  • Simple AI: idle near building, occasionally pace around
  • When working: small particle effect above head
  • Pulled from live API data

Building Interactions

Approach Detection

  • Each building has an invisible trigger sphere (~5 unit radius)
  • When Buba enters sphere: show "Press E to enter [Project Name]" prompt
  • Visual: building glows/pulses when in range

Project Panel (on Enter)

  • Full-screen overlay panel (HTML over canvas) with glassmorphism
  • Shows:
    • Project name + status
    • Live data from API (sub-agents working on it, recent activity)
    • Quick actions (if applicable)
    • "Exit" button or press E/Escape to close
  • Panel slides in from right with smooth animation

Technical Architecture

Stack

  • Three.js r169 via CDN (importmap)
  • GLTFLoader for loading .glb/.gltf models
  • AnimationMixer for character animations
  • CSS2DRenderer for labels/prompts (or sprites)
  • Raycaster for interaction detection (or simple distance checks)
  • No physics engine — simple AABB collision for buildings + ground clamp

File Structure

buba-dashboard/
├── server.js           (Express backend, serves API + static)
├── assets/
│   ├── characters/     (KayKit character GLTF files)
│   ├── animations/     (KayKit animation GLTF files)
│   ├── buildings/      (KayKit city builder GLTF files)
│   ├── nature/         (KayKit forest pack GLTF files)
│   └── textures/       (gradient atlas textures)
├── public/
│   └── index.html      (main Three.js application)

Performance Targets

  • 60fps on Mac mini M2
  • Initial load < 5 seconds (lazy load non-essential)
  • ~30-50 visible models max
  • Single draw call for static scenery (instancing where possible)
  • LOD not needed at this scale

Data Flow

  1. Frontend fetches /api/state every 5 seconds
  2. Updates sub-agent positions/visibility
  3. Updates building glow states (active projects glow brighter)
  4. Updates HUD stats
  5. Building panel content refreshes when open

Pastel Color Scheme

  • Sky: gradient pink (#FFE4EC) → lavender (#E8DFFF) → blue (#DDE8FF)
  • Ground: soft mint (#C5E8D0)
  • Buildings: project colors (pastel versions)
    • MCP Factory: #A8E6CF (mint)
    • SOLVR: #FFE5A0 (gold)
    • CannaBri: #B8E6C8 (emerald)
    • TheNicheQuiz: #FFDAB9 (peach)
    • CREdispo: #B8D4FF (blue)
    • OpenClaw: #FFB5C8 (pink)
    • OSKV Coaching: #D4B8FF (lavender)

Build Phases

Phase 1: World + Movement (THIS BUILD)

  • Download and organize all KayKit assets
  • Set up Three.js scene with pastel sky, floating island ground
  • Place buildings using KayKit city models (or our procedural ones with KayKit nature)
  • Load character model with idle/walk animations
  • Implement WASD third-person controller
  • Camera follow system
  • Basic collision with buildings
  • Place nature decorations (trees, flowers, rocks)
  • HUD overlay (stats, minimap?)

Phase 2: Interactions

  • Building approach detection + glow
  • "Press E" prompts
  • Project panels with live data
  • Sub-agent spawning + pathfinding

Phase 3: Polish

  • Sound effects (footsteps, ambient)
  • Day/night cycle
  • Weather effects (cherry blossoms falling?)
  • Building interiors
  • Multiplayer? (stretch)

Open Questions

  • KayKit characters may not look "chibi" enough — may need to scale head up
  • Download automation: itch.io requires manual download — may need browser
  • Alternative: use Poly.pizza API for individual model downloads (GLTF, no login)