{ "schemaVersion": "0.1.0", "id": "top1clone", "displayName": "Top1CodexPet", "description": "A cheerful pixel Codex pet in a green cap and jacket holding a small red booklet.", "kind": "creature", "tags": [ "codex-pet", "agent-status", "imported" ], "vibes": [ "open-source", "clone" ], "author": { "name": "open source", "url": "https://github.com/Beeferky/Top1CodexPet" }, "license": { "code": "MIT", "assets": "MIT", "source": "https://github.com/Beeferky/Top1CodexPet/blob/main/LICENSE" }, "spritesheet": { "path": "spritesheet.webp", "columns": 8, "rows": 9, "cellWidth": 192, "cellHeight": 208, "width": 1536, "height": 1872 }, "size": { "columns": 8, "rows": 9 }, "animations": [ { "name": "idle", "row": 0, "frames": 6, "purpose": "Calm resting loop." }, { "name": "running-right", "row": 1, "frames": 8, "purpose": "Rightward drag movement loop." }, { "name": "running-left", "row": 2, "frames": 8, "purpose": "Leftward drag movement loop." }, { "name": "waving", "row": 3, "frames": 4, "purpose": "Greeting or attention gesture." }, { "name": "jumping", "row": 4, "frames": 5, "purpose": "Playful jump." }, { "name": "failed", "row": 5, "frames": 8, "purpose": "Blocked, failed, or cancelled reaction." }, { "name": "waiting", "row": 6, "frames": 6, "purpose": "Waiting for approval, help, quota reset, or user input." }, { "name": "running", "row": 7, "frames": 6, "purpose": "Active task work or processing." }, { "name": "review", "row": 8, "frames": 6, "purpose": "Ready or completed output review." } ], "events": { "agent.idle": { "animation": "idle", "tone": "neutral" }, "agent.running": { "animation": "running", "tone": "working" }, "agent.waiting": { "animation": "waiting", "tone": "attention" }, "agent.review": { "animation": "review", "tone": "done" }, "agent.failed": { "animation": "failed", "tone": "critical" }, "session.rest_suggested": { "animation": "waiting", "tone": "care", "threshold": "runtime-driven" } }, "behavior": { "rules": [ { "id": "rest-suggested", "event": "session.rest_suggested", "tone": "care", "mode": "soft", "trigger": { "metric": "codingSessionMinutes", "operator": ">=", "value": 60 }, "message": "Top1CodexPet will suggest a short break after 60 minutes.", "animation": "waiting" } ] } }