cloudhead / rx

👾 Modern and minimalist pixel editor
https://discord.gg/xHggPjfsS9
GNU General Public License v3.0
3.1k stars 109 forks source link

Frame cloning and sync editing #9

Closed fbbdev closed 5 years ago

fbbdev commented 5 years ago

Full copying and pasting ability would be very useful ofc and I'm sure it's on the roadmap, but in the meantime two features would help a lot with the animation process:

Maybe I can add the features myself and open some PRs if you like the idea? Let me know. Thank you for building and sharing this project, looks really promising and it's pleasing to use.

fbbdev commented 5 years ago

Ah, I see there's a planned Multi mode for brushes, I suspect that's for multi-frame editing? In that case, is there something I could do to help with this feature?

cloudhead commented 5 years ago

Yeah, multi-brush is exactly what you're talking about. It's actually trivial to implement in rx. Frame cloning is also planned, I'll see how complicated it is.

cloudhead commented 5 years ago

Hey I pushed multi-brush to master, do you mind trying it out?

https://github.com/cloudhead/rx/commit/8d07970eb177841d00cfb360ddd55c44c28a9419

You have to run:

cargo install --git https://github.com/cloudhead/rx --force --locked --features vulkan,winit

To install it. Note the added winit feature.

Then hold <shift> while painting.

fbbdev commented 5 years ago

Thank you, I'll try it later today. I forgot to specify the tag yesterday when I installed so I already discovered the winit feature the hard way :D

On Tue, Aug 27, 2019, 23:22 Alexis Sellier notifications@github.com wrote:

Hey I pushed multi-brush to master, do you mind trying it out?

8d07970 https://github.com/cloudhead/rx/commit/8d07970eb177841d00cfb360ddd55c44c28a9419

You have to run:

cargo install --git https://github.com/cloudhead/rx --force --locked --features vulkan,winit

To install it. Note the added winit feature.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/cloudhead/rx/issues/9?email_source=notifications&email_token=AAZCS7QY3GK5Q5XUC5WS66LQGWLJJA5CNFSM4IQGBRM2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD5JFCHQ#issuecomment-525488414, or mute the thread https://github.com/notifications/unsubscribe-auth/AAZCS7QOVURU22F7KO2CDA3QGWLJJANCNFSM4IQGBRMQ .

On Tue, Aug 27, 2019, 23:22 Alexis Sellier notifications@github.com wrote:

Hey I pushed multi-brush to master, do you mind trying it out?

8d07970 https://github.com/cloudhead/rx/commit/8d07970eb177841d00cfb360ddd55c44c28a9419

You have to run:

cargo install --git https://github.com/cloudhead/rx --force --locked --features vulkan,winit

To install it. Note the added winit feature.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/cloudhead/rx/issues/9?email_source=notifications&email_token=AAZCS7QY3GK5Q5XUC5WS66LQGWLJJA5CNFSM4IQGBRM2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD5JFCHQ#issuecomment-525488414, or mute the thread https://github.com/notifications/unsubscribe-auth/AAZCS7QOVURU22F7KO2CDA3QGWLJJANCNFSM4IQGBRMQ .

fbbdev commented 5 years ago

Just tested it, works perfectly, thank you. However, it accidentally exposed a problem in input handling: when the command line is activated, the release binding for modifier keys is ignored. So when I type a colon (<shift>+. on my qwerty it layout) the brush goes to multi-mode permanently (until I hit <shift> again of course). See issue #11

cloudhead commented 5 years ago

Ah good catch, thanks for opening the issue!

cloudhead commented 5 years ago

Frame cloning is now implemented in master, via :f/clone. Let me know if you encounter issues!

fbbdev commented 5 years ago

Works great! Thank you.

Done with some help from multi-brush prova

Playing around with frame cloning :smile: prova2

fbbdev commented 5 years ago

I think there could be a little bug though.. not sure if that was intended.

If you activate multibrush mode on frame 0, you get brushes for all frames. But if you activate on frame n, n > 0, you get brushes only for frames >= n. Also, if you start multi drawing on frame 0 and move to later frames, brushes will progressively disappear on the right and previous frames will not be drawn into.

fbbdev commented 5 years ago

Reading the code again I suspect that was the intended behavior.. however I find it a bit uncomfortable as I'd often like, when zoomed in, to multi-draw to the whole image without panning to the first frame. Also I often use the multi-brush as a reference to take measurements and reproduce features across different frames. The way it works now, I can only do that if I'm working in a frame that precedes the one I'm interested in. If I'm working in a later frame I have to count pixels instead.

Of course the current behavior is also very useful when animating.. not sure what would be better..

cloudhead commented 5 years ago

Works great! Thank you.

Great!

I think there could be a little bug though.. not sure if that was intended.

This is intended as it's quite helpful when animating, though I understand that it may get in the way. I'll think about it more.

fbbdev commented 5 years ago

Yeah you're right it's good for animation. Maybe it's too soon to reason about this.. maybe things will need to change a bit anyway after visual mode is fully implemented, and there could be new tools in the future like e.g. a measurement tool... In the meantime, the current functionality is already quite helpful for interesting work so not a major problem.

cloudhead commented 5 years ago

Yeah, maybe it can be a setting or something in the future - I think both use-cases are valid.