一键导入
dartsnut-display-mapping
Dartsnut display and framebuffer mapping rules for panels, physical screens, layout, clipping, and fonts.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Dartsnut display and framebuffer mapping rules for panels, physical screens, layout, clipping, and fonts.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Dartsnut asset manifest, loader-helper, placeholder, and apply-mode workflow for art-bearing entities.
Root conf.json schema, defaults, size rules, preview handling, and reload requirements for Dartsnut projects.
Dartsnut workspace scaffold rules, just-in-time skill loading, file constraints, and emulator verification workflow.
Legacy Dartsnut runtime index that routes to the granular pydartsnut, conf, display, and asset skills.
Pixel-perfect compact UI guidance for console-style Dartsnut games and widgets.
Dartsnut game dart slot color mapping based on dart_index modulo four.
| name | dartsnut-display-mapping |
| description | Dartsnut display and framebuffer mapping rules for panels, physical screens, layout, clipping, and fonts. |
| license | MIT |
dartsnut-display-mapping)When to apply — mandatory: Read and follow this skill for any Dartsnut task that touches pixels, layout, resolution, framebuffer size, UI placement, fonts, or update_frame_buffer. That includes games, widgets, emulator previews, and refactors of drawing code.
Relationship to other skills: Use dartsnut-skill for pydartsnut APIs, loops, and I/O. Use conf-contract for root config. This file is the single reference for physical screens ↔ framebuffer mapping and related rendering rules.
128×160 layout (games and full-size widgets)The framebuffer passed to update_frame_buffer is always 128 wide × 160 tall. It maps to two physical displays:
| Surface | Image pixels (Pillow / pygame) | Physical size |
|---|---|---|
| Main | x ∈ [0, 127], y ∈ [0, 127] | 128 × 128 |
| Secondary | x ∈ [0, 63], y ∈ [128, 159] | 64 × 32 |
The secondary panel is left-aligned in the lower band of the image. Its hardware firmware address origin is (129, 0) in the machine's own coordinate space — that does not map to image x/y directly. Always use the image pixel ranges in the table above when drawing.
128×128 area when using a full 128×160 buffer.64×32 hardware panel for scores, labels, icons, or status when it improves layout.128×128, 128×64, 64×32)Image exactly at the configured [width, height] and pass it through pydartsnut as usual.128×160 buffer — machine firmware performs framebuffer merges for these sizes.128×128 area.128×160 framebuffer, always apply surface clipping in your reasoning and drawing:
x ∈ [0, 127], y ∈ [0, 159].64×32 strip or overflows the 128×128 play area.[128, 160]. Treat the surface as a 128×128 primary area plus a secondary region mapped to the physical 64×32 panel.