Repository navigation
Closed
Labels
area:fullstackEnd-to-end Host and Client implementationEnd-to-end Host and Client implementationarea:ui-uxInteraction and visual experience; may accompany a code-layer areaInteraction and visual experience; may accompany a code-layer areafeature:avatarPersonaBot avatar media and activity framePersonaBot avatar media and activity frameready-for-agentFully specified, ready for an AFK agentFully specified, ready for an AFK agentscope:tracerHuman-testable implementation sliceHuman-testable implementation slice
Milestone
Description
Parent
Part of #1209.
What to build
A Human opens a PersonaBot's Avatar editor, picks the goblin Avatar Species and styles left and right side hair separately, each with its own color. They save it and see the goblin in the roster and as a Window Companion that blinks, turns, gazes and speaks. This is the first vertical path through BotPixel (species base, split side hair, new recipe version) → the PersonaBot owning module (save and re-read) → Client editor → Avatar and Window Companion rendering.
Acceptance criteria
- BotPixel renders a goblin species base: green-leaning suggested body colors, pointed ears and small tusks, on the existing pixel bust rig.
- The goblin supports the full rig contract: transparent companion surface, current anchors, gaze, blink, left/right turns and closed/half-open/open mouths.
- Left and right side hair are separate pieces with independent styles and optional colors that default to the main hair color.
- Switching between human and goblin keeps hair, outfit and accessories. Anything the species cannot show is hidden and kept, with a visible note, and returns when the Human switches back.
- A recipe using species or split side hair carries a raised asset/schema version. Older Clients show the saved snapshot with ADR-0118's fallback note.
- Existing recipes render byte-identically: BotPixel's golden fixture is unchanged, and new golden entries cover the goblin at legal extremes and turned poses.
- Save → re-read through the PersonaBot owning module round-trips the new fields. Validation rejects out-of-range values.
- On an isolated verified DSH Profile, a goblin Bot animates and speaks in a Window Companion with a real DM reply. Before/after screenshots in light and dark themes are attached to the PR.
- The BotPixel release precedes the DeepSeekBot consumer change.
Blocked by
None (can start immediately).
Metadata
Metadata
Assignees
Labels
area:fullstackEnd-to-end Host and Client implementationEnd-to-end Host and Client implementationarea:ui-uxInteraction and visual experience; may accompany a code-layer areaInteraction and visual experience; may accompany a code-layer areafeature:avatarPersonaBot avatar media and activity framePersonaBot avatar media and activity frameready-for-agentFully specified, ready for an AFK agentFully specified, ready for an AFK agentscope:tracerHuman-testable implementation sliceHuman-testable implementation slice
Activity
DoodleBears commentedon Oct 8, 2026
Agent work claim
claude/cloud/session_01MozvQ2eMvqX1MzSqm9G2o8(not a DSH Session)claude/festive-gauss-gv7xu2(BotHarness/BotPixel and BotHarness/DeepSeekBot)Generated by Claude Code
feat(avatar): choose a goblin species and style each side of the hair
fix(avatar): type version 2 recipes so they carry what validation req…
fix(avatar): keep the editor typed against version-discriminated recipes
feat(avatar): goblin Avatar Species and split side hair (asset versio…
build(avatar): consume pixel-avatar 0.3.0 and record goblin evidence
fix(avatar): label the human species Person in English UI copy
style(changelog): drop the blank line left by the merge resolution
DoodleBears commentedon Oct 8, 2026
Agent work outcome
claude/cloud/session_01MozvQ2eMvqX1MzSqm9G2o8@botharness/pixel-avatar0.3.0, published. It adds the goblin species, split side hair and per-side colors as asset version 2, behind a version-discriminated recipe type.Generated by Claude Code