three.ws · lab
Demo pages
Pre-release features wired end-to-end so we can test them before they replace anything on the live site. Everything on these pages hits real APIs and real storage — no mocks.
app · next — the redesigned viewer
The /app surface, rebuilt around the avatar. Ask-the-agent chat dock with rotating prompts that drive both LLM and animations · camera presets (Face/Body/Wide/Hero) · share & embed snippet · fullscreen · push-to-talk · auto-hide chrome · floor glow + camera drift. Compact searchable animation picker with all 67 clips. Real viewer, real LLM, real animations — no chrome competing with the agent.
NewAgent interactions lab
Fourteen prototypes for how a 3D agent can physically inhabit the page: cursor follower, trampoline button, wrecking ball, climb-the-title, more.
BetaUSDZ & AR Quick Look
Load an avatar, generate a USDZ companion in-browser, push it to R2, and confirm iOS Quick Look opens the result.
BetaXR — Place your avatar in AR
Full first-class AR experience: WebXR immersive-ar with hit-test placement, full/half-body toggle, camera passthrough fallback.
LiveHalf-body XR · lab
Side-by-side preview: full vs half-body, both WebXR sessions properly wired via WebXRSession.
Live@three-ws/avatar SDK
Drop-in <agent-3d> web component loaded from the npm SDK bundle, plus the programmatic AvatarCreator iframe.
Audio-driven lipsync → /lipsync/mic
Feed live mic audio through the viseme analyser and watch the avatar's mouth track your voice in real time.
In prodMulti-LLM brain → /brain
Send the same prompt to Claude, GPT, Qwen on Alibaba DashScope, Qwen3-Coder on ModelScope, and Llama on Groq. Side-by-side streaming, latency, and token usage.
In prodTTS-driven lipsync → /lipsync
Type any text, stream it through OpenAI TTS, and the avatar's mouth animates in real time via wawa-lipsync viseme detection.
ERC-8004 registry browser
Live read of on-chain agent identities across Base, Ethereum, Polygon, and testnets via agent0-sdk. No keys, no signer.
Avatar button jump
A 3D avatar runs up and leaps onto a physical button. Spring physics squish and bounce the button on impact, then the sequence loops.
BetaCreate page v2
Redesigned /create chooser: featured recommended card, distinct 3D previews, time badges, destination hints, live stats from /api/explore, and integration strip.
Beta3D home — give your AI a body
Hero with the avatar perched on the H1, jumping to the CTA on click. Crossfaded clips, proximity text shadow, splash on impact, ResizeObserver re-anchoring, and chip-triggered performances.
BetaLogin — agent reads along
Sign-in form wired with declarative data-agent-* attributes. Walks to the focused input, tracks the typing caret via a hidden mirror, covers her eyes on the password field, head-shakes on empty submit.
404 — she took a wrong turn
Avatar falls in from off-screen, lands on the 0 with a dust splash and proximity shadow, looks around lost. Click "Take her home" and she runs offscreen before the redirect fires.
Checkout — agent runs the cart
"Add to cart" triggers a reaction grab; the product orb spawns a flying clone that arcs alongside the avatar to the cart icon. Badge increments, cart thumps, agent celebrates and walks back to idle.
BetaPricing — she points at the right tier
Three-tier pricing table. Hover any tier and the avatar leaps to its top edge with a debounced jump arc, lands with a card-thump, and uses the reaction clip to point down at the CTA.
BetaSelfie Fit — avatar from your face
Real-time 468-point face mesh with quality gates (yaw, blur, lighting, centering), three-angle capture, and head-pose estimation. Now integrated into /create/selfie, dashboard, and agent pages as a production feature.
Avatar gallery picker
Browsable grid of available avatars with a live 3D preview pane. Click an entry to load the GLB, scrub through clips, copy the embed snippet.
BetaVoice Lab
Clone your voice in seconds. Professional recording experience with real-time waveform, guided prompts, voice library, and TTS playground.
ProductionPersona extraction
Paste a chat log or social bio. The extractor distills it into a persona seed the agent can use as system context for future conversations.
BetaMemory seeding
Bootstrap an agent's persistent memory from a list of facts. Watch retrieval queries hit the seeded entries on follow-up turns.
BetaSkill royalty distribution
Onchain payout split: every paid agent invocation routes a configurable percentage to the skill author's wallet. Visualises the splits per call.
BetaReputation attestations on Base
Issue, query, and revoke EAS attestations for agent reputation. Live reads against Base mainnet via agent0-sdk.
Agent token bonding curve
Buy and sell along a constant-product bonding curve. Price, reserves, and slippage update in real time as you simulate trades.
BetaDecentralized inference (Livepeer)
Stream an LLM completion through Livepeer's decentralized inference network instead of a centralized provider. Shows orchestrator selection + cost.
Beta@three-ws/avatar/react SDK
React wrapper around the avatar SDK. Drop <Agent3D /> into any JSX tree and pass props for clip, persona, and camera.
Button (minimal)
Stripped-down version of the button-jump demo — just the avatar, the button, and the squish. Useful for tuning physics in isolation.
BetaBrain (static snapshot)
Standalone copy of the multi-LLM brain demo — Claude / GPT / Qwen / Llama side-by-side, isolated from the production route.
BetaLipsync TTS (static snapshot)
Standalone copy of the TTS-driven lipsync demo — type text, hear it back, watch the visemes drive the avatar's mouth.
BetaLipsync mic (static snapshot)
Standalone copy of the mic-driven lipsync demo — live audio in, visemes out, no TTS step in the loop.
BetaThese pages are unlisted and noindex. They share the same backend as the live site but are intentionally separate from /create and /avatars/:id so the production flow keeps working while we test.