| # | Requirement | Acceptance Criteria | |---|-------------|---------------------| | | Canvas – 2‑D drag‑and‑drop canvas (800 × 800 px) where users assemble parts (head, body, eyes, accessories). | • Canvas loads in ≤ 1 s on desktop & mobile. • All parts snap to a grid (8 px) but can be freely positioned. | | AB‑002 | Part Library – Categorized library (Face, Hair, Body, Outfit, Props). Each part has 2‑3 color variants. | • Library searchable by keyword and filter. • Hover/ tap shows preview tooltip with name & rarity. | | AB‑003 | Layer System – Proper Z‑ordering (e.g., hair behind head). Users can reorder layers manually. | • Dragging a layer up/down updates preview instantly. • Exported avatar respects order. | | AB‑004 | Live Stats Preview – As users add parts, a side‑panel shows RPG stats (Strength, Agility, Magic, Charisma) derived from selected gear. | • Stats update within 200 ms of a part change. • Stats are deterministic (same part = same bonus). | | AB‑005 | Undo/Redo – Unlimited steps within the session. | • Ctrl+Z / Ctrl+Y (desktop) & two‑finger swipe (mobile). | | AB‑006 | Save & Load – Persist avatar to user profile. Auto‑save every 10 s. | • Saved avatar appears in “My Characters” list. • Loading restores exact canvas state & stats. | | AB‑007 | Export – Download PNG (transparent background) and JSON (metadata). | • PNG ≤ 150 KB, 2 × scale optional. • JSON includes part IDs, colors, and stat totals. |
-- Inventory (per avatar) TABLE inventory ( avatar_id UUID REFERENCES avatars(id), slot SMALLINT, -- 0‑4 standard, 5‑9 premium part_id UUID REFERENCES parts(id), equipped_at TIMESTAMP ); toonxrole
Please note: As "ToonXRole" is not a widely recognized standard term in existing literature (e.g., HCI, animation studies, or game design), this paper defines and explores it as a . | # | Requirement | Acceptance Criteria |