{"id":19204851,"url":"https://github.com/dnek/pietron","last_synced_at":"2025-05-12T16:26:06.090Z","repository":{"id":30232170,"uuid":"124332772","full_name":"dnek/pietron","owner":"dnek","description":"Cross-platform IDE for Piet.","archived":false,"fork":false,"pushed_at":"2023-02-04T09:19:03.000Z","size":682,"stargazers_count":41,"open_issues_count":9,"forks_count":11,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-05-05T11:00:49.352Z","etag":null,"topics":["cross-platform-ide","electron","esolang","esoteric-language","esoteric-programming-language","interpreter","piet"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dnek.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-03-08T03:43:02.000Z","updated_at":"2024-12-05T10:16:04.000Z","dependencies_parsed_at":"2023-02-18T15:16:02.079Z","dependency_job_id":null,"html_url":"https://github.com/dnek/pietron","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dnek%2Fpietron","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dnek%2Fpietron/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dnek%2Fpietron/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dnek%2Fpietron/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dnek","download_url":"https://codeload.github.com/dnek/pietron/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253775171,"owners_count":21962302,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cross-platform-ide","electron","esolang","esoteric-language","esoteric-programming-language","interpreter","piet"],"created_at":"2024-11-09T13:09:56.363Z","updated_at":"2025-05-12T16:26:06.031Z","avatar_url":"https://github.com/dnek.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Pietron\n\n\u003cimg src=\"src/images/Pietron.png\" height=\"256px\"\u003e\n\nCross-platform IDE for Piet.\n\n## Description\n\nPietron is a cross-platform IDE for editing and debugging the source code of \"Piet\", an esoteric programming language.\n\nThe specification of Piet is [here](http://www.dangermouse.net/esoteric/piet.html).\n\nPietron is developed with [Electron](https://electronjs.org/) and named after it.\n\n## ScreenShot\n\n\u003cimg src=\"src/images/pietron_screenshot.png\"\u003e\n\n## Usage\n\n### Editor\n\n- Draw free lines by dragging on the canvas. \n\n- Select a color by clicking on the palette and the selected is shown at the bottom-right corner.\n\n- Change the color to draw with by clicking on the palette.\n\n  - The commands are shown in each color on the palette.\n\n  - The bare one is from * (origin) and the parenthesized one is to *.\n\n  - Change the * color by right-cicking on the palette.\n\n- Pick a color by right-clicking on the canvas.\n\n- Change the canvas size in various ways.\n\n  - Change the canvas size one by one with the top-left position fixed with Ctrl + Alt + [↑↓←→] (⌥⌘ on OSX).\n\n    | meaning | keyboard shortcut |\n    |-----------|---------------------|\n    | extend to the right | Ctrl + Alt + → |\n    | extend downwards |  Ctrl + Alt + ↓ |\n    | trim the rightmost column | Ctrl + Alt + ← |\n    | trim the bottom row | Ctrl + Alt + ↑ |\n\n  - Change the canvas size one by one with the bottom-right position fixed with Ctrl + Shift + [↑↓←→] (⇧⌘ on OSX).\n\n    | meaning | keyboard shortcut |\n    |-----------|---------------------|\n    | shift the image to the right | Ctrl + Shift + → |\n    | shift the image down |  Ctrl + Shift + ↓ |\n    | trim the leftmost column | Ctrl + Shift + ← |\n    | trim the top row | Ctrl + Shift + ↑ |\n\n  - Change the canvas size to the specified width and height with Ctrl(⌘) + R.\n\n- Undo/Redo support (Ctrl(⌘) + Z / Ctrl + Y (⇧⌘Z)).\n\n- Zoom support (Ctrl(⌘) + \";\" / Ctrl(⌘) + \"-\").\n\n### Debugger\n\n- \"Start Debug\" executes commands until the program terminates (F5).\n\n  - When the commands are executed over 1,000,000 times, a comfirmation dialog will be displayed.\n\n- \"Jump Debug\" excutes the specified number of commands (F6).\n\n- \"Step Debug\" excutes a next command (F7).\n\n- \"Stop Debug\" stops the execution (ESC).\n\n- While debugging, the source codel and the destination codel are indicated by red and blue borders.\n\n- 🎨Emoji🐛 Support.\n\n### File I/O\n\n- PNG/BMP support.\n\n- Codel size specification support.\n\n- Non piet colors are dealed as white.\n\n## Install\n\nDownload zipped files for your operating system from [releases](https://github.com/dnek/pietron/releases).\n\nExecutable files are contained in them.\n\n## Author\n\n- **dnek** - *Piet lover* - [dnek](https://github.com/dnek)\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## TODOs\n\n- Canvas with HTML5 `\u003ccanvas\u003e`.\n\n- Editor Selection mode.\n\n- Move with arrow keys on the canvas.\n\n- Command preview on the canvas.\n\n- Breakpoint.\n\n- File drag \u0026 drop.\n\n- Set the limits of stack \u0026 integer.\n\n- Debug log.\n\n## Acknowledgments\n\n- [Pidet](https://github.com/dnek/Pidet) is my previous product and I do not recommend using it.\n\n  - Japanese only.\n\n  - Windows support only.\n\n  - No Emoji support.\n\n  - Not maintained.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdnek%2Fpietron","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdnek%2Fpietron","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdnek%2Fpietron/lists"}