{"id":14225537,"url":"https://github.com/jbunke/stipple-effect","last_synced_at":"2025-08-09T21:32:10.053Z","repository":{"id":213880935,"uuid":"729594989","full_name":"jbunke/stipple-effect","owner":"jbunke","description":"Stipple Effect is a pixel art editor that supports animation and scripting (available on Windows, macOS and Linux)","archived":false,"fork":false,"pushed_at":"2024-09-08T14:35:44.000Z","size":3417,"stargazers_count":500,"open_issues_count":10,"forks_count":6,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-09-09T08:32:59.003Z","etag":null,"topics":["animation","drawing","game-dev","game-development","game-development-workflow","image-editor","indie","java","painting","pixel-art","pixel-editor","software","sprite-animation","sprite-editor"],"latest_commit_sha":null,"homepage":"https://flinkerflitzer.itch.io/stipple-effect","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jbunke.png","metadata":{"files":{"readme":"README.md","changelog":"changelog.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":"roadmap.md","authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["jbunke"],"patreon":"FlinkerFlitzer","custom":["https://www.paypal.me/bunkejordan","https://flinkerflitzer.itch.io/stipple-effect"]}},"created_at":"2023-12-09T18:14:11.000Z","updated_at":"2024-09-06T06:59:22.000Z","dependencies_parsed_at":"2024-05-07T18:27:26.480Z","dependency_job_id":"5619f37a-1fef-4706-93d2-f27e0b913b64","html_url":"https://github.com/jbunke/stipple-effect","commit_stats":null,"previous_names":["jbunke/stipple-effect"],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jbunke%2Fstipple-effect","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jbunke%2Fstipple-effect/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jbunke%2Fstipple-effect/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jbunke%2Fstipple-effect/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jbunke","download_url":"https://codeload.github.com/jbunke/stipple-effect/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":229327604,"owners_count":18055774,"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":["animation","drawing","game-dev","game-development","game-development-workflow","image-editor","indie","java","painting","pixel-art","pixel-editor","software","sprite-animation","sprite-editor"],"created_at":"2024-08-20T01:01:06.012Z","updated_at":"2025-08-09T21:32:10.020Z","avatar_url":"https://github.com/jbunke.png","language":"Java","funding_links":["https://github.com/sponsors/jbunke","https://patreon.com/FlinkerFlitzer","https://www.paypal.me/bunkejordan","https://flinkerflitzer.itch.io/stipple-effect"],"categories":["Java"],"sub_categories":[],"readme":"# ![Stipple Effect](https://raw.githubusercontent.com/stipple-effect/docs/master/assets/graphics/logo-anim.gif)\n\n[![Website](https://raw.githubusercontent.com/stipple-effect/docs/master/assets/buttons/website.png)](https://stipple-effect.github.io)\n[![Changelog](https://raw.githubusercontent.com/stipple-effect/docs/master/assets/buttons/changelog.png)](changelog.md)\n[![Roadmap](https://raw.githubusercontent.com/stipple-effect/docs/master/assets/buttons/roadmap.png)](roadmap.md)\n[![Buy on Itch.io](https://raw.githubusercontent.com/stipple-effect/docs/master/assets/buttons/itch.png)](https://flinkerflitzer.itch.io/stipple-effect)\n\n## About\n*Stipple Effect* is a pixel art editor that supports animation and scripting. It is designed to facilitate a variety of workflows and to encourage rapid, iterative creation of video game art assets and other types of artwork.\n\n* made by a solo game developer with the needs and skill sets of other indie devs in mind\n* lightweight and simple to learn and use, yet allows for considerable depth and complexity\n* expressive scripting API that can be used to **automate program actions** and **create dynamic preview and color transformations with complex logic**\n\n![Preview](https://raw.githubusercontent.com/stipple-effect/docs/master/assets/graphics/complex-preview.gif)\n\u003cdiv align=\"center\"\u003eA preview script in action\u003c/div\u003e\n\n## Features\n* Symbiotic relationship between [layers](https://stipple-effect.github.io/docs/layer) and [frames](https://stipple-effect.github.io/docs/frame)\n    * Linked-cel layers (contents persist across frames)\n* Two-color system: *Stipple Effect*'s brush, pencil, and gradient tool allow for interesting [combinations](https://stipple-effect.github.io/docs/color#combination-modes) of the [primary and secondary colors](https://stipple-effect.github.io/docs/interface#system-colors)\n* Project [state control](https://stipple-effect.github.io/docs/state-control)\n    * [Granular undo and redo](https://stipple-effect.github.io/docs/state-control#granularity)\n    * History\n    * Generate time lapses\n* Animation\n    * [Onion skinning](https://stipple-effect.github.io/docs/layer#onion-skin)\n    * Edit during playback\n* Split/stitch\n    * [Split a sprite sheet into frames](https://stipple-effect.github.io/docs/sizing#split-a-sprite-sheet-into-frames)\n    * [Stitch an animation into a sprite sheet](https://stipple-effect.github.io/docs/sizing#stitch-an-animation-into-a-sprite-sheet)\n* Palettes\n    * Import and export palettes\n    * [Palettization](https://stipple-effect.github.io/docs/color-actions#palettization)\n    * [Extract colors in a project to a palette](https://stipple-effect.github.io/docs/color-actions#extract-canvas-colors-to-palette)\n* [Selection](https://stipple-effect.github.io/docs/selection)\n    * [Family of selection tools](https://stipple-effect.github.io/docs/sel-area-tools) designed for pixel-perfect selection\n    * Intuitive and powerful [outlining utilities](https://stipple-effect.github.io/docs/outline)\n* [Pixel grid](https://stipple-effect.github.io/docs/pixel-grid)\n    * Easily enable/disable and modify the size of the pixel grid's cells\n    * The box select tool can snap to the grid\n* And much more!\n\nFind out more about the program by reading [the documentation](https://stipple-effect.github.io/docs/).\n\n## Scripting\n*Stipple Effect* scripts have three main uses: [**automation**](https://stipple-effect.github.io/docs/automation-scripts), [**custom previews**](https://stipple-effect.github.io/docs/preview-scripts) and [**color transformations**](https://stipple-effect.github.io/docs/color-scripts). It is highly recommended for users that want to get the most out of the program to read the API specification and familiarize themselves with its potential applications.\n* [Scripting overview](https://stipple-effect.github.io/docs/scripting)\n* [API specification](https://stipple-effect.github.io/api/)\n* [Example scripts](https://github.com/stipple-effect/script-examples)\n\nI have created [a VS Code extension](https://marketplace.visualstudio.com/items?itemName=jordanbunke.deltascript-for-stipple-effect) that provides syntax highlighting for *Stipple Effect* scripts.\n\n## External Dependencies\n* [Delta Time](https://github.com/jbunke/delta-time) - my lightweight graphics library that handles GUI and execution loop boilerplate\n* [ANTLR v4](https://github.com/antlr/antlr4) - lexing and parsing library that powers the _DeltaScript_ interpreter\n* [Animation Encoder](https://github.com/jbunke/animation-encoder) - my wrapper for Square's [gifencoder](https://github.com/square/gifencoder) and for [jcodec](https://github.com/jcodec/jcodec)\n\n## License\n\n*Stipple Effect* is distributed under an end-user license agreement (EULA). Read it [here](LICENSE) to understand your rights and responsibilities as a user.\n\n## Compile from source instructions\n\nFor those who do not have the means to buy *Stipple Effect*, the program can be compiled from source for free:\n\n### Instructions\n\n1. Clone this repository\n2. Download and configure external dependencies in your development environment\n   1. **Delta Time**: [download JAR - instructions in README](https://github.com/jbunke/delta-time)\n   2. **Animation Encoder**: [download JAR - instructions in README](https://github.com/jbunke/animation-encoder)\n   3. **ANTLR v4**: *Stipple Effect* uses version 4.13.1 of the ANTLR 4 Runtime. You can download the library from the Maven Repository or configure it manually. Find the artifact's dependency information [here](https://mvnrepository.com/artifact/org.antlr/antlr4-runtime/4.13.1).\n3. Set up the project and run configuration with the following details:\n   1. **JRE / JDK / Language level**: Java 17 or later\n   2. **Main class**: `com.jordanbunke.stipple_effect.StippleEffect`\n4. Build and run in the Java development environment of your choice!\n\n### Note:\n*Please keep in mind that you are liable to the terms of the EULA whether you buy the program or compile it from source.*\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjbunke%2Fstipple-effect","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjbunke%2Fstipple-effect","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjbunke%2Fstipple-effect/lists"}