Use when changing the playable 2.5D template sprite, cloning it into character classes, or wiring idle/walk/attack sprite-sheet playback.
71
86%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
This is not the crowd system. Do not route playable template work through
vendor/tiny-crowd-layer.js, crowd/, or engine/world/11-vehicle-crowd.js.
Runtime:
engine/world/47-worlds-room.js owns the playable in-world/player-room
avatar from these template sheets.world[x][z],
cellMeshes, export JSON, saved worlds, or crowd people.F. Class cycling
uses [ / ].window.__tinyworldWorlds:
setAvatarClass(name), cycleAvatarClass(delta), avatarClass(), and
avatarClasses().engine/world/47-worlds-room.js are also
64px grid sheets: columns are animation frames and rows are directions. Crop to
a single row with repeat.y = 1 / rows; do not sample a full 256px-tall
column, or four stacked bodies render in-world.Without_shadow
sheets for swordsman/orc avatars unless the user explicitly asks for baked
ground shadows.front/down, left, right, back/up.
Movement should update the sampled row from the camera-relative sector; do not
fake left/right by flipping a single side row when the sheet has real side rows.Assets:
models/people/25D/.down, downRight, right, upRight, up, upLeft,
left, downLeft.models/people/25D/classes/<class>/ as
idle.png, walk.png, and attack.png.python3 tools/generate-playable-25d-classes.py.When adding a class:
CLASSES and an overlay function in
tools/generate-playable-25d-classes.py.AVATAR_CLASSES in
engine/world/47-worlds-room.js.npm test and npm run build.039a20a
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.