Files
aphrody-identity/README.md
T

2.2 KiB
Raw Blame History

@aphrody/identity

The Aphrody product identity for React/M3 surfaces, drawn from crates/ui/identity of the aphrody repository.

Import Contents Needs
@aphrody/identity AphrodyAvatar, AphrodyPet, BRAND_ICONS, brandIcon, brandSrcSet, pet data the @aphrody/m3 ?url loader
@aphrody/identity/brand brand emblem icons (icon-64/128/192.png) as URLs ?url loader
@aphrody/identity/atlas PET_ATLAS_URL (sprite sheet) ?url loader
@aphrody/identity/pet PET, frameAt, gazeFrame, spriteStyle (timed tracks, 16-way gaze) nothing
@aphrody/identity/runtime PET_WEB, resolve, currentFrame, Ambient, gaze: the crate clock (Codex-composed tracks, state lifetimes), tick for tick nothing
@aphrody/identity/element <aphrody-pet> Custom Element, defineAphrodyPet() (16.6 KB minified, 3.6 KB gzip) an atlas URL in src
@aphrody/identity/load loadIcon(source, { size, scale, tint, fit, output }): PNG, JPEG, WebP, GIF, SVG, ICO (best entry for size × scale) and symbol:<name>?style=…&fill=…&wght=…&grad=…&opsz=… from cdn.aphrody.com, to an ImageBitmap or SVG markup; the browser side of the crate loader (8.4 KB minified, 3.8 KB gzip) a browser for bitmaps

The brand and atlas modules import the crate assets by relative path, so they resolve in an aphrody checkout (this repository mounted at m3/). src/animations.generated.ts is generated from the crate's assets/aphrody/animations.json by bun run gen; bun run test (src/pet.test.ts) fails when the two disagree. Typecheck: bun run typecheck.

<aphrody-pet src="…/spritesheet.webp" size="104">: one timer per frame change, prefers-reduced-motion shows the first frame, setState("running" | "waiting" | "review" | "failed"), clearState(), play(name | null), gaze follows the pointer at rest (no-gaze disables it). src/web.generated.ts comes from the crate's assets/aphrody/web.json; src/runtime.test.ts replays the crate's tests/fixtures/parite-web.json. bun run demo serves a demo with Bun.serve, bun demo/check.ts drives it in headless Chrome, and bun run measure [--wasm file] prints bundle sizes and timings (choice and figures: crate README).