2019-03-27 02:30:07 +03:00
# Lospec Pixel Editor
2019-03-27 02:20:54 +03:00
2019-03-27 02:30:07 +03:00
This is a browser based software for creating pixel art
2019-03-27 02:20:54 +03:00
2019-03-27 02:30:07 +03:00
The tool can be viewed online here: https://lospec.com/pixel-editor
2019-03-27 02:20:54 +03:00
2021-10-25 20:23:06 +03:00
## How to contribute
Please do not submit pull requests with new features or core changes. Instead, please file an issue first for discussion.
2019-03-27 02:20:54 +03:00
## What to Contribute
2021-12-13 17:24:03 +03:00
Any changes that fix bugs or add features are welcome. Check out the issues if you don't know where to start: if
you're new to the editor, we suggest you check out the Wiki first.
2019-03-27 02:20:54 +03:00
2019-03-27 02:30:07 +03:00
The next version is mostly focused on adding missing essential features and porting to mobile.
2019-03-27 02:20:54 +03:00
Suggestions / Planned features:
2021-01-01 16:41:31 +03:00
- Documentation
2021-01-04 01:59:11 +03:00
- Possibility to hide and resize menus (layers, palette)
2020-09-25 10:25:27 +03:00
- Tiled mode
2020-06-27 14:29:28 +03:00
- Load palette from LPE file
2021-10-25 20:23:06 +03:00
- Symmetry options (currently being worked on)
2021-10-31 20:03:21 +03:00
- Make a palette grid instead of having a huge stack on the right when colours are too many
- Possibly add collaborate function
2020-04-15 03:01:31 +03:00
- Mobile
- Touch equivalent for mouse clicks
- Hide or scale ui
- Maybe rearrange UI on portrait
- Fix popups
2020-09-15 13:12:35 +03:00
- Polish:
2021-12-06 13:26:42 +03:00
- CTRL+A to select everything / selection -> all, same for deselection
2020-09-15 13:12:35 +03:00
- Warning windows for wrong inputs
- Palette option remove unused colors
- Move selection with arrows
- Update borders by dragging the canvas' edges with the mouse when resizing canvas
- Move the canvases so they're centered after resizing the canvas (maybe a .center() method in layer class)
2021-12-13 17:24:03 +03:00
- Scale / rotate selection
2019-03-27 02:20:54 +03:00
## How to Contribute
2021-04-27 00:14:12 +03:00
### Requirements
You must have node.js and git installed.
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.
### Contribution Workflow
2019-03-28 18:36:57 +03:00
2019-03-27 02:20:54 +03:00
1. Click **Fork** above. It will automatically create a copy of this repository and add it to your account.
2. Clone the repository to your computer.
2021-04-25 19:35:15 +03:00
3. Open the folder in command prompt and run ** `npm install` **
2019-03-27 02:20:54 +03:00
4. Make any changes you would like to suggest.
2021-04-29 00:36:41 +03:00
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.
2019-03-27 02:20:54 +03:00
6. Add, Commit and Push your changes to your fork.
2019-03-28 18:41:05 +03:00
7. On the github page for your fork, click **New Pull Request** above the file list.
2019-03-27 02:20:54 +03:00
8. Change the **head repository** dropdown to your fork.
9. Add a title and description explaining your changes.
10. Click create pull request.
If you have any trouble, see this page: https://help.github.com/en/articles/creating-a-pull-request-from-a-fork
2021-04-29 02:03:50 +03:00
### Feature Toggles
Some feature might be hidden by default. Functions to enable/disable them are available inside global `featureToggles` and operate on a `window.localStorage` .
For example use `featureToggles.enableEllipseTool()` to make ellipse tool button visible. Then `featureToggles.disableEllipseTool()` to hide it.
2019-03-27 02:20:54 +03:00
## License
This software may not be resold, redistributed, rehosted or otherwise conveyed to a third party.