Repository navigation
Add Pixel Doodle - #738
Open
ArmstrongThomas wants to merge 2 commits into
Open
Add Pixel Doodle#738ArmstrongThomas wants to merge 2 commits into
ArmstrongThomas wants to merge 2 commits into
Conversation
Test ResultsGitHub -- ArmstrongThomas/PixelDoodle
{
"github": "ArmstrongThomas/PixelDoodle",
"title": "Pixel Doodle",
"description": "An offline pixel-art editor and animation tool for DS, DSi and 3DS.",
"systems": [
"3DS",
"DS"
],
"categories": [
"app"
],
"unique_ids": [
845432
],
"download_filter": "PixelDoodle\\.(3dsx|cia|nds)$",
"image": "https://raw.githubusercontent.com/ArmstrongThomas/PixelDoodle/main/assets/pixel-doodle-logo.png",
"icon": "https://raw.githubusercontent.com/ArmstrongThomas/PixelDoodle/main/assets/icon-3ds.png",
"long_description": "Pixel Doodle is an offline pixel-art editor and animation tool for the Nintendo DS, DSi and 3DS. It supports canvases up to 512 px, eight layers, 256 frames, tags, linked cels, onion skin, Aseprite import/export, PNG import/export and a full set of drawing, selection, colour and palette tools.",
"llm_generation": "yes",
"stars": 1,
"author": "Thomas Armstrong",
"avatar": "https://avatars.githubusercontent.com/u/12937683?v=4",
"source": "https://github.com/ArmstrongThomas/PixelDoodle",
"created": "2026-10-15T04:59:26Z",
"download_page": "https://github.com/ArmstrongThomas/PixelDoodle/releases",
"version": "v0.24.0",
"version_title": "v0.24.0 First public release",
"update_notes_md": "# Pixel Doodle 0.24.0\n\nPixel Doodle is an offline pixel-art editor for Nintendo DS, DSi and 3DS.\nThis is the first public release, so it includes the complete editor and\nanimation toolset.\n\n## Canvas and drawing\n\n- Canvases from 1 to 128 pixels per side on DS, and up to 512 pixels per side\n on DSi and 3DS. New projects offer 16, 32, 64, 128, 256 and 512 pixel\n presets on DSi and 3DS, plus custom width and height.\n- Up to eight layers and up to 256 frames per project. The new-project screen\n shows the layer capacity for the chosen canvas, and the timeline shows the\n frame-memory budget in use.\n- Pencil and eraser with 1-16 pixel size, square or round tips, four saved brush\n presets, and a pixel-perfect mode for the one-pixel pencil.\n- Pencil, fill and shape dithering at Solid, 25%, 50% or 75% coverage.\n- Fill tool with contiguous-region or global colour replacement, active-layer\n or visible-image matching, and 0-255 tolerance.\n- Line, rectangle and ellipse tools with outline or filled interiors, shared\n brush size, dithering, live preview and one undo step per shape.\n- Colour sampling from the visible artwork.\n- Undo and redo with 32 transactions in a 512 KiB history. Paint history is\n frame-aware, so undo follows artwork across frames.\n\n## Selections and transforms\n\n- Rectangle and freehand lasso selections.\n- Replace, add and subtract selection modes.\n- Move, cut, copy, paste and delete selected pixels, plus Select All and\n Deselect.\n- Flip horizontally, flip vertically and rotate 90 degrees clockwise.\n- Duplicate the selection to a new layer.\n- Scale the selection 2x, 3x or 4x, or to half size, preserving alpha and\n selection holes.\n\n## Colour\n\n- RGBA colour with separate foreground and background targets and one-tap swap.\n- Square saturation/value picker, vertical hue rail and alpha control.\n- RGB, hex and alpha numeric entry.\n- Recent colours and a scrollable quick palette.\n- Palettes from 1 to 256 colours with an adjustable swatch grid.\n- Add, replace, remove and reorder swatches.\n- Built-in default palette and a user-saved default palette.\n- Import and export GPL, HEX and PNG-strip palettes.\n- Project palettes are stored in native projects and Aseprite files.\n\n## Layers\n\n- Add, delete, duplicate, rename and reorder layers.\n- Per-layer visibility, lock, alpha lock and opacity.\n- Normal, Multiply, Screen and Overlay blend modes.\n- Merge down for normal-blend layers.\n- Composite and active-layer previews on the upper screen, including a marker\n when the active layer is hidden.\n\n## Animation\n\n- Up to 256 frames with per-frame durations from 10 to 60,000 ms.\n- Add, duplicate, delete and reorder frames.\n- Layers and Timeline tabs with a frame grid, tag band, memory meter and\n frame strip.\n- Playback uses each frame's own duration. It loops the innermost tag containing\n the current frame, or the whole animation when no tag applies.\n- Named tags with inclusive frame ranges, six colours and forward, reverse,\n ping-pong or pong-ping playback.\n- Linked cels: link a cel with the previous frame, unlink it, or add a new\n linked frame. Editing any member of the group updates the whole group.\n- Onion skin with 1-3 previous and next frames, 10-90% opacity and an optional\n red/blue tint.\n- Frame sheet with duration presets, fine adjustment, apply-to-one or\n apply-to-all, move left/right, delete and tag editing.\n- Timeline moves: hold L and tap frame numbers to mark whole frame columns, then\n hold a marked number and drag the block to a new position. A single frame\n moves the same way without marks. Hold a cel and drag it to another layer,\n frame, or both.\n- Canvas frame strip for scrubbing, stepping, play/pause and the onion toggle.\n- Upper-screen animation view with the current frame, frame details and a\n filmstrip.\n\n## Guides\n\n- Pixel grid, shown from 4x zoom upward.\n- Independent horizontal and vertical symmetry.\n- Independent horizontal and vertical tiling, with repeated wrapped drawing and\n fill support.\n\n## Files and storage\n\n- Native `.pdd` projects preserving layers, frames, tags, linked cels and\n palettes.\n- Open, Save and Save As, with eight recent projects.\n- File browser with folders, type filtering, previews, rename, duplicate and\n confirmed deletion.\n- Aseprite import and export for `.aseprite` and `.ase` files, including up to\n 256 frames, up to eight flat layers, raw or zlib cels, RGBA pixels, layer\n order/visibility/opacity, Normal/Multiply/Screen/Overlay blending, per-frame\n durations, tags with colours and linked cels.\n- PNG artwork import as a single RGBA layer, including RGB, RGBA, grayscale,\n grayscale-alpha and indexed PNGs with transparency.\n- PNG export of the visible composite with alpha.\n- Recovery snapshots, temporary-file verification and backup copies when\n saving.\n- On-screen lowercase, uppercase and symbol keyboard with cursor movement and\n hold-to-delete.\n\n## Interface and settings\n\n- Dual-screen layout with drawing and controls on the touch screen and\n overview, layer or animation context on the upper screen.\n- Tool rail with Pencil, Eraser, Sample, Fill, Select, Line, Rectangle, Ellipse\n and Guides, each with a compact options panel.\n- Touch panning, integer zoom from 1x to 32x, button shortcuts and 3DS Circle\n Pad panning.\n- Remappable Tools, Pan, Sample and Zoom bindings. L/R, START and SELECT remain\n fixed.\n- Adjustable toolbox and zoom-overlay side, drawing timing display, diagnostics\n with memory and card-speed tests, and a built-in controls/help reference.\n- Settings, palettes, brush presets and recent files persist between sessions.\n\n## Install\n\n- **3DSX:** copy `PixelDoodle.3dsx` to the SD card and launch it with the\n Homebrew Launcher.\n- **CIA:** install `PixelDoodle.cia` with FBI or another title installer.\n- **NDS/DSi:** copy `PixelDoodle.nds` to the flashcart and launch it from the\n loader.\n\n## Current limits\n\n- DS mode supports canvases up to 128 pixels per side. DSi and 3DS support up\n to 512.\n- Up to eight layers and 256 frames, but the largest canvases reduce layer\n capacity and all frames share a fixed memory budget.\n- Selection scaling and clipboard transforms are limited to selections up to\n 128x128 pixels.\n- Undo keeps 32 transactions within a 512 KiB budget.\n\n\n30bd8aaafe7e0768273b7a497b8f48d6068adf48ee414ede1b22381fac433ea4 PixelDoodle.3dsx\na7ec6f5b90455ab5452c356c71a0d4bd5bb6d018208ba8b917534503e547abfc PixelDoodle.cia\n0894780e2f70dc54f827a9763c1d60535a589c6895029654cdba15f776b4e24a PixelDoodle.nds\n",
"update_notes": "<h1 dir=\"auto\">Pixel Doodle 0.24.0</h1>\n<p dir=\"auto\">Pixel Doodle is an offline pixel-art editor for Nintendo DS, DSi and 3DS.<br>\nThis is the first public release, so it includes the complete editor and<br>\nanimation toolset.</p>\n<h2 dir=\"auto\">Canvas and drawing</h2>\n<ul dir=\"auto\">\n<li>Canvases from 1 to 128 pixels per side on DS, and up to 512 pixels per side<br>\non DSi and 3DS. New projects offer 16, 32, 64, 128, 256 and 512 pixel<br>\npresets on DSi and 3DS, plus custom width and height.</li>\n<li>Up to eight layers and up to 256 frames per project. The new-project screen<br>\nshows the layer capacity for the chosen canvas, and the timeline shows the<br>\nframe-memory budget in use.</li>\n<li>Pencil and eraser with 1-16 pixel size, square or round tips, four saved brush<br>\npresets, and a pixel-perfect mode for the one-pixel pencil.</li>\n<li>Pencil, fill and shape dithering at Solid, 25%, 50% or 75% coverage.</li>\n<li>Fill tool with contiguous-region or global colour replacement, active-layer<br>\nor visible-image matching, and 0-255 tolerance.</li>\n<li>Line, rectangle and ellipse tools with outline or filled interiors, shared<br>\nbrush size, dithering, live preview and one undo step per shape.</li>\n<li>Colour sampling from the visible artwork.</li>\n<li>Undo and redo with 32 transactions in a 512 KiB history. Paint history is<br>\nframe-aware, so undo follows artwork across frames.</li>\n</ul>\n<h2 dir=\"auto\">Selections and transforms</h2>\n<ul dir=\"auto\">\n<li>Rectangle and freehand lasso selections.</li>\n<li>Replace, add and subtract selection modes.</li>\n<li>Move, cut, copy, paste and delete selected pixels, plus Select All and<br>\nDeselect.</li>\n<li>Flip horizontally, flip vertically and rotate 90 degrees clockwise.</li>\n<li>Duplicate the selection to a new layer.</li>\n<li>Scale the selection 2x, 3x or 4x, or to half size, preserving alpha and<br>\nselection holes.</li>\n</ul>\n<h2 dir=\"auto\">Colour</h2>\n<ul dir=\"auto\">\n<li>RGBA colour with separate foreground and background targets and one-tap swap.</li>\n<li>Square saturation/value picker, vertical hue rail and alpha control.</li>\n<li>RGB, hex and alpha numeric entry.</li>\n<li>Recent colours and a scrollable quick palette.</li>\n<li>Palettes from 1 to 256 colours with an adjustable swatch grid.</li>\n<li>Add, replace, remove and reorder swatches.</li>\n<li>Built-in default palette and a user-saved default palette.</li>\n<li>Import and export GPL, HEX and PNG-strip palettes.</li>\n<li>Project palettes are stored in native projects and Aseprite files.</li>\n</ul>\n<h2 dir=\"auto\">Layers</h2>\n<ul dir=\"auto\">\n<li>Add, delete, duplicate, rename and reorder layers.</li>\n<li>Per-layer visibility, lock, alpha lock and opacity.</li>\n<li>Normal, Multiply, Screen and Overlay blend modes.</li>\n<li>Merge down for normal-blend layers.</li>\n<li>Composite and active-layer previews on the upper screen, including a marker<br>\nwhen the active layer is hidden.</li>\n</ul>\n<h2 dir=\"auto\">Animation</h2>\n<ul dir=\"auto\">\n<li>Up to 256 frames with per-frame durations from 10 to 60,000 ms.</li>\n<li>Add, duplicate, delete and reorder frames.</li>\n<li>Layers and Timeline tabs with a frame grid, tag band, memory meter and<br>\nframe strip.</li>\n<li>Playback uses each frame's own duration. It loops the innermost tag containing<br>\nthe current frame, or the whole animation when no tag applies.</li>\n<li>Named tags with inclusive frame ranges, six colours and forward, reverse,<br>\nping-pong or pong-ping playback.</li>\n<li>Linked cels: link a cel with the previous frame, unlink it, or add a new<br>\nlinked frame. Editing any member of the group updates the whole group.</li>\n<li>Onion skin with 1-3 previous and next frames, 10-90% opacity and an optional<br>\nred/blue tint.</li>\n<li>Frame sheet with duration presets, fine adjustment, apply-to-one or<br>\napply-to-all, move left/right, delete and tag editing.</li>\n<li>Timeline moves: hold L and tap frame numbers to mark whole frame columns, then<br>\nhold a marked number and drag the block to a new position. A single frame<br>\nmoves the same way without marks. Hold a cel and drag it to another layer,<br>\nframe, or both.</li>\n<li>Canvas frame strip for scrubbing, stepping, play/pause and the onion toggle.</li>\n<li>Upper-screen animation view with the current frame, frame details and a<br>\nfilmstrip.</li>\n</ul>\n<h2 dir=\"auto\">Guides</h2>\n<ul dir=\"auto\">\n<li>Pixel grid, shown from 4x zoom upward.</li>\n<li>Independent horizontal and vertical symmetry.</li>\n<li>Independent horizontal and vertical tiling, with repeated wrapped drawing and<br>\nfill support.</li>\n</ul>\n<h2 dir=\"auto\">Files and storage</h2>\n<ul dir=\"auto\">\n<li>Native <code class=\"notranslate\">.pdd</code> projects preserving layers, frames, tags, linked cels and<br>\npalettes.</li>\n<li>Open, Save and Save As, with eight recent projects.</li>\n<li>File browser with folders, type filtering, previews, rename, duplicate and<br>\nconfirmed deletion.</li>\n<li>Aseprite import and export for <code class=\"notranslate\">.aseprite</code> and <code class=\"notranslate\">.ase</code> files, including up to<br>\n256 frames, up to eight flat layers, raw or zlib cels, RGBA pixels, layer<br>\norder/visibility/opacity, Normal/Multiply/Screen/Overlay blending, per-frame<br>\ndurations, tags with colours and linked cels.</li>\n<li>PNG artwork import as a single RGBA layer, including RGB, RGBA, grayscale,<br>\ngrayscale-alpha and indexed PNGs with transparency.</li>\n<li>PNG export of the visible composite with alpha.</li>\n<li>Recovery snapshots, temporary-file verification and backup copies when<br>\nsaving.</li>\n<li>On-screen lowercase, uppercase and symbol keyboard with cursor movement and<br>\nhold-to-delete.</li>\n</ul>\n<h2 dir=\"auto\">Interface and settings</h2>\n<ul dir=\"auto\">\n<li>Dual-screen layout with drawing and controls on the touch screen and<br>\noverview, layer or animation context on the upper screen.</li>\n<li>Tool rail with Pencil, Eraser, Sample, Fill, Select, Line, Rectangle, Ellipse<br>\nand Guides, each with a compact options panel.</li>\n<li>Touch panning, integer zoom from 1x to 32x, button shortcuts and 3DS Circle<br>\nPad panning.</li>\n<li>Remappable Tools, Pan, Sample and Zoom bindings. L/R, START and SELECT remain<br>\nfixed.</li>\n<li>Adjustable toolbox and zoom-overlay side, drawing timing display, diagnostics<br>\nwith memory and card-speed tests, and a built-in controls/help reference.</li>\n<li>Settings, palettes, brush presets and recent files persist between sessions.</li>\n</ul>\n<h2 dir=\"auto\">Install</h2>\n<ul dir=\"auto\">\n<li><strong>3DSX:</strong> copy <code class=\"notranslate\">PixelDoodle.3dsx</code> to the SD card and launch it with the<br>\nHomebrew Launcher.</li>\n<li><strong>CIA:</strong> install <code class=\"notranslate\">PixelDoodle.cia</code> with FBI or another title installer.</li>\n<li><strong>NDS/DSi:</strong> copy <code class=\"notranslate\">PixelDoodle.nds</code> to the flashcart and launch it from the<br>\nloader.</li>\n</ul>\n<h2 dir=\"auto\">Current limits</h2>\n<ul dir=\"auto\">\n<li>DS mode supports canvases up to 128 pixels per side. DSi and 3DS support up<br>\nto 512.</li>\n<li>Up to eight layers and 256 frames, but the largest canvases reduce layer<br>\ncapacity and all frames share a fixed memory budget.</li>\n<li>Selection scaling and clipboard transforms are limited to selections up to<br>\n128x128 pixels.</li>\n<li>Undo keeps 32 transactions within a 512 KiB budget.</li>\n</ul>\n<p dir=\"auto\">30bd8aaafe7e0768273b7a497b8f48d6068adf48ee414ede1b22381fac433ea4 PixelDoodle.3dsx<br>\na7ec6f5b90455ab5452c356c71a0d4bd5bb6d018208ba8b917534503e547abfc PixelDoodle.cia<br>\n0894780e2f70dc54f827a9763c1d60535a589c6895029654cdba15f776b4e24a PixelDoodle.nds</p>",
"updated": "2026-10-26T23:20:03Z",
"downloads": {
"PixelDoodle.3dsx": {
"url": "https://github.com/ArmstrongThomas/PixelDoodle/releases/download/v0.24.0/PixelDoodle.3dsx",
"size": 913896,
"size_str": "892 KiB"
},
"PixelDoodle.cia": {
"url": "https://github.com/ArmstrongThomas/PixelDoodle/releases/download/v0.24.0/PixelDoodle.cia",
"size": 730048,
"size_str": "712 KiB"
},
"PixelDoodle.nds": {
"url": "https://github.com/ArmstrongThomas/PixelDoodle/releases/download/v0.24.0/PixelDoodle.nds",
"size": 403968,
"size_str": "394 KiB"
}
},
"image_length": 1468,
"icon_index": -1,
"color": "#87775c",
"color_bg": "#807057",
"qr": {
"PixelDoodle.cia": "https://db.universal-team.net/assets/images/qr/pixeldoodle-cia.png",
"PixelDoodle.nds": "https://db.universal-team.net/assets/images/qr/pixeldoodle-nds.png"
}
}https://raw.githubusercontent.com/ArmstrongThomas/PixelDoodle/main/assets/pixel-doodle-logo.png |
ArmstrongThomas
marked this pull request as ready for review
October 26, 2026 23:35
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Pixel Doodle - a full-fledged pixel art studio app with Aseprite compatibility from the maker of Collab Doodle. AI was used to speed up development, no vibe-coding allowed though. LOL.