ワンクリックで
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.