|
| 1 | +# Lospec Pixel Editor |
| 2 | + |
| 3 | +This is a browser based software for creating pixel art |
| 4 | + |
| 5 | +The tool can be viewed online here: https://lospec.com/pixel-editor |
| 6 | + |
| 7 | +## How to contribute |
| 8 | + |
| 9 | +Please do not submit pull requests with new features or core changes. Instead, please file an issue first for discussion. |
| 10 | + |
| 11 | +## What to Contribute |
| 12 | + |
| 13 | +Any changes that fix bugs or add features are welcome. Check out the issues if you don't know where to start: if |
| 14 | +you're new to the editor, we suggest you check out the Wiki first. |
| 15 | + |
| 16 | +The next version is mostly focused on adding missing essential features and porting to mobile. |
| 17 | + |
| 18 | +Suggestions / Planned features: |
| 19 | + |
| 20 | +- Documentation |
| 21 | +- Possibility to hide and resize menus (layers, palette) |
| 22 | +- Tiled mode |
| 23 | +- Load palette from LPE file |
| 24 | +- Symmetry options (currently being worked on) |
| 25 | +- Make a palette grid instead of having a huge stack on the right when colours are too many |
| 26 | +- Possibly add collaborate function |
| 27 | + |
| 28 | +- Mobile |
| 29 | + - Touch equivalent for mouse clicks |
| 30 | + - Hide or scale ui |
| 31 | + - Maybe rearrange UI on portrait |
| 32 | + - Fix popups |
| 33 | + |
| 34 | +- Polish: |
| 35 | + - CTRL+A to select everything / selection -> all, same for deselection |
| 36 | + - Warning windows for wrong inputs |
| 37 | + - Palette option remove unused colors |
| 38 | + - Move selection with arrows |
| 39 | + - Update borders by dragging the canvas' edges with the mouse when resizing canvas |
| 40 | + - Move the canvases so they're centered after resizing the canvas (maybe a .center() method in layer class) |
| 41 | + - Scale / rotate selection |
| 42 | + |
| 43 | +## How to Contribute |
| 44 | + |
| 45 | +### Requirements |
| 46 | + |
| 47 | +You must have node.js and git installed. |
| 48 | + |
| 49 | +You also need `npm` in version 7 (because of 2nd version of lockfile which was introduced there) which comes with Node.js 15 or newer. To simplify installation of proper versions you can make use of [nvm](https://github.com/nvm-sh/nvm#installing-and-updating) and run `nvm install` – it will activate proper Node.js version in your current command prompt session. |
| 50 | + |
| 51 | +### Contribution Workflow |
| 52 | + |
| 53 | +1. Click **Fork** above. It will automatically create a copy of this repository and add it to your account. |
| 54 | +2. Clone the repository to your computer. |
| 55 | +3. Open the folder in command prompt and run **`npm install`** |
| 56 | +4. Make any changes you would like to suggest. |
| 57 | +5. In command prompt run **`npm run hot`** which will compile app to the `/build` folder, serve under [http://localhost:3000](http://localhost:3000), then open in your browser. Moreover, it restarts server every time you save your changes in a codebase. You can go even further by running `npm run hot:reload`, which will also trigger webpage reloads. |
| 58 | +6. Add, Commit and Push your changes to your fork. |
| 59 | +7. On the github page for your fork, click **New Pull Request** above the file list. |
| 60 | +8. Change the **head repository** dropdown to your fork. |
| 61 | +9. Add a title and description explaining your changes. |
| 62 | +10. Click create pull request. |
| 63 | + |
| 64 | +If you have any trouble, see this page: https://help.github.com/en/articles/creating-a-pull-request-from-a-fork |
| 65 | + |
| 66 | +### Feature Toggles |
| 67 | + |
| 68 | +Some feature might be hidden by default. Functions to enable/disable them are available inside global `featureToggles` and operate on a `window.localStorage`. |
| 69 | + |
| 70 | +For example use `featureToggles.enableEllipseTool()` to make ellipse tool button visible. Then `featureToggles.disableEllipseTool()` to hide it. |
| 71 | + |
| 72 | +## License |
| 73 | + |
| 74 | +This software may not be resold, redistributed, rehosted or otherwise conveyed to a third party. |
0 commit comments