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.

New

Agent interactions lab

Fourteen prototypes for how a 3D agent can physically inhabit the page: cursor follower, trampoline button, wrecking ball, climb-the-title, more.

Beta

USDZ & AR Quick Look

Load an avatar, generate a USDZ companion in-browser, push it to R2, and confirm iOS Quick Look opens the result.

Beta

XR — Place your avatar in AR

Full first-class AR experience: WebXR immersive-ar with hit-test placement, full/half-body toggle, camera passthrough fallback.

Live

Half-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.

Beta

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 prod

Multi-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 prod

TTS-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.

In prod

ERC-8004 registry browser

Live read of on-chain agent identities across Base, Ethereum, Polygon, and testnets via agent0-sdk. No keys, no signer.

Live

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.

Beta

Create page v2

Redesigned /create chooser: featured recommended card, distinct 3D previews, time badges, destination hints, live stats from /api/explore, and integration strip.

Beta

3D 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.

Beta

Login — 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.

Beta

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.

Beta

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.

Beta

Pricing — 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.

Beta

Selfie 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.

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.

Beta

Voice Lab

Clone your voice in seconds. Professional recording experience with real-time waveform, guided prompts, voice library, and TTS playground.

Production

Persona 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.

Beta

Memory seeding

Bootstrap an agent's persistent memory from a list of facts. Watch retrieval queries hit the seeded entries on follow-up turns.

Beta

Skill royalty distribution

Onchain payout split: every paid agent invocation routes a configurable percentage to the skill author's wallet. Visualises the splits per call.

Beta

Reputation attestations on Base

Issue, query, and revoke EAS attestations for agent reputation. Live reads against Base mainnet via agent0-sdk.

Beta

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.

Beta

Decentralized 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.

Beta

Button (minimal)

Stripped-down version of the button-jump demo — just the avatar, the button, and the squish. Useful for tuning physics in isolation.

Beta

Brain (static snapshot)

Standalone copy of the multi-LLM brain demo — Claude / GPT / Qwen / Llama side-by-side, isolated from the production route.

Beta

Lipsync TTS (static snapshot)

Standalone copy of the TTS-driven lipsync demo — type text, hear it back, watch the visemes drive the avatar's mouth.

Beta

Lipsync mic (static snapshot)

Standalone copy of the mic-driven lipsync demo — live audio in, visemes out, no TTS step in the loop.

Beta

These 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.