Install
$ agentstack add skill-0xheycat-isometric-game-skills-canvas2d-isometric-renderer ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Canvas2D Isometric Renderer
Overview
This skill builds the core render loop: draw ground tiles back-to-front, then depth-sorted objects, using the grid math transform and the atlas. It is the backbone every gameplay skill plugs into.
When to Use
- You need to actually draw the isometric world.
- Tiles or sprites render in the wrong order.
- You are wiring grid math + atlas into a render loop.
Process
- Use
isometric-grid-mathfor all coordinate conversions. - Draw ground tiles in back-to-front order (by row+col).
- Draw objects/characters AFTER tiles, sorted by depth (see
depth-sorting-occlusion). - Source every image from the atlas (see
spritesheet-atlas-packing). - Apply the camera transform once per frame (see
camera-pan-zoom-controls). - Only draw tiles within the visible viewport (culling).
- Keep the draw loop pure - no allocations per frame.
for (const tile of tilesInView) drawTile(tile);
for (const obj of sortByDepth(objectsInView)) drawSprite(obj);
Rationalizations (Stop Lying to Yourself)
| Excuse | Reality | |---|---| | "I will draw everything every frame" | Drawing off-screen tiles wastes the frame budget. Cull. | | "Order does not matter much" | Wrong order = objects behind walls. Sort every frame. |
Red Flags - STOP if you catch yourself:
- Drawing the entire map instead of the viewport.
- Allocating arrays/objects inside the draw loop.
- No separation between tile pass and object pass.
Verification
You are NOT done until every box is checked:
- [ ] Ground tiles draw back-to-front correctly.
- [ ] Objects draw after tiles in depth order.
- [ ] Only visible tiles are drawn (culling works).
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: 0xheycat
- Source: 0xheycat/isometric-game-skills
- License: MIT
- Homepage: https://0xheycat.github.io/isometric-game-skills/demo/
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.