Repository navigation
Add live avatar and modernize - #64
Closed
oniharnantyo wants to merge 3 commits into
Closed
oniharnantyo wants to merge 3 commits into
oniharnantyo wants to merge 3 commits into
Conversation
added 3 commits
October 20, 2026 22:13
Replace the legacy webpack / Jest / ESLint setup with Vite+, which unifies Vite, Vitest, Rolldown, Oxlint and Oxfmt into a single toolchain. - build: library build emitting dual ESM + CJS bundles with bundled TypeScript declarations and sourcemaps - test: migrate Jest to Vitest v5 (jsdom, @testing-library/react) - lint/format: replace ESLint + Prettier with Oxlint + Oxfmt - demo: rebuild on Vite using the React 18 createRoot API - ci: replace Travis with GitHub Actions running lint, test and build on Node 18/20/22 - release: publish to npm from the `v*` tag workflow with provenance - add runnable Vite examples (basic, random, expressions) - point the release changelog URLs at the dapi-labs repository
Turn the static avatar into a character that can be interacted with. - expressions: 11 named expressions driving eyebrow/eye/mouth styles, with feature offsets so the face glides between them instead of snapping - gestures: one-shot nod, shake, sneeze and squash, playable declaratively via the `gesture` prop or imperatively through the ref handle - gaze tracking: `lookAt` follows the pointer over the avatar (hover) or across the whole window (global) - agent states: persona states (listening, thinking, speaking, focused, executing, tool_call, celebrating, confused, error) that change the pose, the expression, the breathing tempo and the emote badge - sentiment: a separate fast-changing emotional channel layered on top of the agent state - emote fx: animated comic / anime overlay badges (idea, zzz, sparkle, sweat, anger, question, exclamation, heart, gear) - secondary motion: spring inertia on the hair and accessories - talking: the mouth cycles speech-like shapes while the agent speaks - sleeping: the avatar yawns, droops and falls asleep after a period of inactivity, and startles awake on any interaction - useAvatarController: hook bundling the props, the ref and an imperative API for driving the avatar from app code - new feature sets: eyes (closed, droopy, squint, wide), mouth (frown, grimace, open, straight, surprised) and eyebrows (angry, down, flat, raised) - respect prefers-reduced-motion: the keyframes are never injected, so the avatar stays still
- list every new prop in the options table with its accepted values - add tables for expressions, agent states, sentiment and emote fx - document the useAvatarController and ref handle APIs - explain the ambient life behaviors, reduced motion and SSR support - list the runnable examples - replace the Travis badge with the GitHub Actions CI badge
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.