piskelapp / piskel

A simple web-based tool for Spriting and Pixel art.
http://piskelapp.com
Apache License 2.0
11.1k stars 776 forks source link

Program usability enhancements, New Features, New Tools, Speed Improvements #223

Closed zdeveloperlane closed 8 years ago

zdeveloperlane commented 10 years ago

Thanks for making this awesome, I forked a copy to show what things I would like to see/help fix; I'm unable to make the correct test environment (as of yet) but that is my problem.

https://github.com/zdeveloperlane/piskel

As of yet, ONLY the index.hml under src will work (I disabled the closure compilation, I made this only to show what changes I care about, with implementations to test. Seems to only work in firefox if locally ran)

some of the first things I added that ya'll might consider,

P, E for pen and eraser are part of a tool ring, tap twice to toggle between them (faster editing) shift + P/E only colors pixels of the FIRST color painted on (fast shading tool) [ ] change brush size W, shift+W zoom in and out Grid display size (working on making grid display fast) Additional program constant editing (so all tweaks for colors, alphas, and values should be changable)

Definitely making user settable hotkeys, I have a large laundry list of tools to add.

I hope I can help make this project better for everyone! Thank you for your time.

juliandescottes commented 10 years ago

Hi !

Replying quickly before leaving for work, so I'll keep it short. I really appreciate your contribution. Really good suggestions, and what I saw on your fork seems perfect code-wise !

P, E for pen and eraser are part of a tool ring, tap twice to toggle between them (faster editing) shift + P/E only colors pixels of the FIRST color painted on (fast shading tool)

For shading, your idea seems really useful. It could be applied to 'Lighten' as well, it's behavior is similar to pen and eraser. Regarding the tool ring, I'm not sure how that would work ? You are on the Pen, you want to switch to Eraser, you tap P twice to do so ?

[ ] change brush size

Fine with the shortcut. We will need a small UI to visualize/edit this brush size. Something near the tools area probably.

Additional program constant editing (so all tweaks for colors, alphas, and values should be changable)

Good idea ! We can extend the User settings panel for this. Which settings would you like to make editable ?

Definitely making user settable hotkeys

Would be really nice. I would love to be able to edit shortcut keys by hovering on a tool with the mouse and just pressing the desired shortcut. Would probably need a dedicated popup to edit the shortcuts properly as well.

I have a large laundry list of tools to add.

For new tools, maybe we could only have the most used ones in the UI by default, and then allow the user to add tools ? I would like to keep the UI simple for the first contact :) But being able to add more specialized tools would be quite nice.

Don't hesitate to split this into several separate PRs. I think we can separate, Fast Shading, Brush Size, User settings, Customize hotkeys, More Tools. What do you think ?

Let me know if you need help with your dev environment.

Also one last comment, your last commit edited all the files. We can't have a proper diff from it. You might want to fix that before adding subsequent commits. Otherwise it will be difficult to review & merge later on.

Thanks !

zdeveloperlane commented 10 years ago

Hello! Thanks for the quick reply!

For shading, your idea seems really useful. It could be applied to 'Lighten' as well, it's behavior is similar to pen and eraser. Regarding the tool ring, I'm not sure how that would work ? You are on the Pen, you want to switch to Eraser, you tap P twice to do so ?

Thanks, and yes tapping P twice is detected, and if there is a 'next' tool in the ring it is selected; likely should also be a toggle in case people are trigger happy XD

Fine with the shortcut. We will need a small UI to visualize/edit this brush size. Something near the tools area probably.

Agree; I hadn't got my brush visualizer yet, but obviously I'd need to make a new util that generates pixel areas for round/slash/ what have you brushes

Good idea ! We can extend the User settings panel for this. Which settings would you like to make editable ?

As for what settings, I think (philosophically) everything should be tweakable; but I don't have a concise list yet; starter ideas are Onion Skin transparency, frame range, "advanced" mode, all the little options until they find their right place to be

Would be really nice. I would love to be able to edit shortcut keys by hovering on a tool with the mouse and just pressing the desired shortcut. Would probably need a dedicated popup to edit the shortcuts properly as well.

User settable Shortcuts yes; I'm working on how that'd be, your suggestion seems really clear to me! code wise, maybe another class like the settings class for mapping to/from; gonna have to play with it to figure out how to change it, or maybe it requires a reload? This js stuff is new to me, I'm an old C++ guy

For new tools, maybe we could only have the most used ones in the UI by default, and then allow the user to add tools ? I would like to keep the UI simple for the first contact :) But being able to add more specialized tools would be quite nice.

Very very much agree, I love the simple UI concept, and having the ability for the user to turn on/off tools is even better; then there could be a "show ALL tools" and users tweak it from there maybe... good idea!

Don't hesitate to split this into several separate PRs. I think we can separate, Fast Shading, Brush Size, User settings, Customize hotkeys, More Tools. What do you think ?

Yes, I'm very new to git, I have a lot to learn XD

Also one last comment, your last commit edited all the files. We can't have a proper diff from it. You might want to fix that before adding subsequent commits. Otherwise it will be difficult to review & merge later on.

First off is making a proper fork! I'll try and get that happening today.

Again, thanks very much! I hope I can help out, so far everyone I know likes the tool and is excited for what you'll come up with next!

P.S. I'm adding in limited mobile support too, so I can run this on my note 3 + firefox