Public OSS copy (AGPL) via gitea_repo_migrate smoke
Go to file
2026-08-13 18:31:40 +02:00
docs/adr feat: import standalone Avatar Lab 2026-08-13 18:31:27 +02:00
legacy feat: import standalone Avatar Lab 2026-08-13 18:31:27 +02:00
scripts feat: import standalone Avatar Lab 2026-08-13 18:31:27 +02:00
src feat: import standalone Avatar Lab 2026-08-13 18:31:27 +02:00
.gitignore feat: import standalone Avatar Lab 2026-08-13 18:31:27 +02:00
.nvmrc feat: import standalone Avatar Lab 2026-08-13 18:31:27 +02:00
.prettierignore feat: import standalone Avatar Lab 2026-08-13 18:31:27 +02:00
.prettierrc feat: import standalone Avatar Lab 2026-08-13 18:31:27 +02:00
.yarnrc.yml feat: import standalone Avatar Lab 2026-08-13 18:31:27 +02:00
AGENTS.md feat: import standalone Avatar Lab 2026-08-13 18:31:27 +02:00
components.json feat: import standalone Avatar Lab 2026-08-13 18:31:27 +02:00
CONTEXT.md docs: clarify Avatar Lab domain language 2026-08-13 18:31:40 +02:00
index.html feat: import standalone Avatar Lab 2026-08-13 18:31:27 +02:00
package.json feat: import standalone Avatar Lab 2026-08-13 18:31:27 +02:00
README.md feat: import standalone Avatar Lab 2026-08-13 18:31:27 +02:00
tsconfig.json feat: import standalone Avatar Lab 2026-08-13 18:31:27 +02:00
vite.config.ts feat: import standalone Avatar Lab 2026-08-13 18:31:27 +02:00
vitest.config.ts feat: import standalone Avatar Lab 2026-08-13 18:31:27 +02:00
yarn.lock feat: import standalone Avatar Lab 2026-08-13 18:31:27 +02:00

Bible Strong Avatar Lab

Standalone React/Vite studio for creating procedural 2D avatars, expressions and animations. The project was extracted from Bible Strong so it can evolve independently.

Start

Requirements: Node.js 22.12+ and Corepack/Yarn 4.

corepack enable
yarn install
yarn dev

Open http://localhost:5173/.

Validation

yarn typecheck
yarn test
yarn build

yarn check runs the generated-engine freshness check and the full validation suite.

Project map

  • src/App.tsx: Studio interface and orchestration.
  • src/geometry.ts: framework-independent procedural projection.
  • src/surfaces.ts: supported head surfaces and primitive definitions.
  • src/renderedScene.ts: stable render layer backed by Motion values.
  • src/playback.ts: expression and animation playback.
  • src/studioDocument.ts: versioned project document and browser persistence.
  • src/exporter.ts: React/TypeScript and standalone JavaScript exports.
  • src/snapshotExporter.ts: static SVG and PNG photo-mode exports.
  • src/defaultStudioDocument.json: bundled avatars, expressions and animations.
  • scripts/generate-standalone-engine.mjs: embeds the procedural runtime used by exports.
  • legacy/: the two self-contained HTML prototypes that preceded the React app.
  • docs/adr/: accepted architecture decisions inherited from the prototype.

Product model

  • An avatar owns its body and neutral eye appearance.
  • The bundled behavior library supplies the initial expressions and animations.
  • On the first behavior edit, an avatar receives its own independent copy of both.
  • An animation references expressions from the same behavior library.
  • The Studio document can be exported/imported as JSON for portability.

See CONTEXT.md for the domain language and architecture constraints.