aibosan / anigen

SVG animation browser-based editor
GNU General Public License v3.0
83 stars 19 forks source link

Keyframes and timings doesn't say what kind of attribute is animating #5

Closed doctormo closed 7 years ago

doctormo commented 7 years ago

When using "Animate attribute..." the keyframes dialog doesn't show what attribute is being animated. Once the animation node is created, there's no information about what type of animation it is.

aibosan commented 7 years ago

What type of element are you animating? Does the attribute selection window pop up with no options, or does in not show at all? Can you provide example file?

doctormo commented 7 years ago

I'm animating opacity. All the widgets are visible and functional. Only the attribute being animated is not shown. So in this case the word "opacity" should be somewhere prominent in both the xml node view and the animation key frame view.

Sorry for not explaining well. Maybe this screenshot can help:

screenshot004838

aibosan commented 7 years ago

It's right next to the nodeName and id, above the tools. But I suppose having that information in the window as well wouldn't hurt.

doctormo commented 7 years ago

Ah I see it now! The light grey text to the right of the generated id. I wonder if it'd be good for the generated id to be something like aniopacity9344

aibosan commented 7 years ago

I never thought of that. The id structure is based on inkscape's model, taking just the node name as its basis. Also, the id can be generated before the attribute is set, and the attribute can be changed in the future, although the editor has no simple way to do that other than manually setting the value to something else.

In any case, you can rename an element by clicking the id, so you can always change it to something like "opacity-animation-1". Just keep in mind id needs to be unique, so if you change it to something you're using already, the old element will get renamed as well.

doctormo commented 7 years ago

Thanks for keeping things consistent with inkscape. (I'm an Inkscape board member, we try and make the thing work well, but animation has always been hard for us)

aibosan commented 7 years ago

I actually wanted to build aniGen as an inkscape extension at first, but I couldn't wrap my head around the mountains of source code. But I understand how building a UI for animation can be challenging. I've been doing it for years now, after all. There are numerous problems I'm constantly trying to work around. Should animations be shown in relation to static or animated position of the element? Should they be affected by other animations to show absolute positions at all times? If so, how do you merge something like motion+translation+rotation with different timings, possibly not synced up at all? How do you distinguish between different animations so the user doesn't accidentally edit the wrong one?

And so on, and so on. I have some good answers to some of those which I would love to implement, but they are very time-consuming to pull off, and the interface must be kept as understandable and uncluttered as it can be. I like Inkscape's methodology of "provide only necessary tools, don't create tools for stuff that can be done with existing tools", and try to do it that way as much as I can.

I wish inkscape would solve some of the animation-centric issues, though. And that annoying node bug. But you know, the project is large and intimidating, and I'm not the best at opening bug issues on github.

doctormo commented 7 years ago

The first bit of good news is that Inkscape isn't on Github. It will shortly be on Gitlab though, still on launchpad for bug reports. :-/ which is odd enough as it is.

We have thousands and thousands of open bug reports. You should champion your specific bug if you'd like it fixed (with, er links). Maybe an animation extension in inkscape only has to open up a browser window to anigen, would be easy enough.

I won't comment on the merging of animation elements. I think even the Doctor would struggle to put those timelines back together.

aibosan commented 7 years ago

Just make inkscape ignore animation elements. Right now, they mess up selection, pasting, and putting elements on top of groups that have animations in them, and stopping redraw of elements beneath animations. If there was an attribute to tell inkscape to ignore an element, that'd be nice, but I don't think sodipodi:insensitive will work in this case.

...I should give the bug report thing a look.

doctormo commented 7 years ago

I think Inkscape thinks it already does those things. So certainly a bug. We have so few animations to load and test and so few users able to make animations that it might have broken between releases (or it could have always been there and we just made assumptions)