bible-strong-avatar-lab/packages/avatar-web
PhilippeMaillot 767f5191e9 feat(studio): independent body-part colors and double-click to edit body
- Add an optional per-node color so each shape added to the body can be
  colored independently from the body color.
- Surface the color picker in the body construction panel, with a reset to
  inherit the body color.
- Paint secondary primitive fills as motion values so they stay in sync with
  the geometry while the camera rotates, across avatar switches and on the
  exported snapshot / runtime renderers.
- Preserve the node color through export and import of .avatar.json.
- Double-click the 3D model to enter body construction editing (when not
  already editing).
2026-09-08 16:53:42 +02:00
..
src feat(studio): independent body-part colors and double-click to edit body 2026-09-08 16:53:42 +02:00
LICENSE chore(release): prepare runtime packages 0.1.0 2026-08-17 18:15:45 +02:00
package.json chore(release): prepare runtime packages 0.1.0 2026-08-17 18:15:45 +02:00
README.md chore(release): prepare runtime packages 0.1.0 2026-08-17 18:15:45 +02:00
tsconfig.build.json feat(runtime): unify React and ESM avatar exports 2026-08-17 17:27:20 +02:00
tsconfig.json feat(runtime): unify React and ESM avatar exports 2026-08-17 17:27:20 +02:00
vite.config.ts feat(runtime): unify React and ESM avatar exports 2026-08-17 17:27:20 +02:00

@bible-strong/avatar-web

DOM renderer for Bible Strong procedural avatars. It uses @bible-strong/avatar-core for schema validation, playback and rendering, without requiring React.

pnpm add @bible-strong/avatar-web
import { createAvatar } from '@bible-strong/avatar-web'
import definition from './cloudee.avatar.json'

const avatar = createAvatar('#avatar', {
  definition,
  defaultAnimation: 'idle',
})

avatar.play('happy')
avatar.pause()
avatar.stop()

For a browser project without a bundler, load an ESM build through an import map or CDN and fetch the definition JSON before calling createAvatar.

The package follows Semantic Versioning. While it remains below 1.0.0, breaking API changes increment the minor version and fixes increment the patch version.