= "Animation Next" Project =
> Since the release of version 3.0, Krita has developed into a potent tool for digital raster animation. While a solid groundwork has been laid, the next step for Krita should be to focus on addressing remaining issues and making necessary improvements to facilitate the animation workflow for learners, hobbyists and industry professionals alike. In essence, that’s what this project is about—doing the remaining research, development and documentation needed to make sure that Krita is on the path to meeting the wants and needs of animators of all levels.
[[ https://docs.google.com/document/d/1yulbPhZO2UovJCPJu-hr4v3U4JjWPE8Ej_EVQmveEQU/edit?usp=sharing | You can read and comment on our project proposal here. ]]
This task will serve as the work area and to-do list for the project.
== Contacts: ==
Eoin and I are working on Krita ~09:30-18:30 PST (US West Coast) Mon/Tue, and ~09:30-13:30 PST Wed.
While those are the best times to get in touch with us about this project, feel free to send us a message or mail at any time. =]
@emmetoneill <emmetoneill.pdx@gmail.com> (emmetpdx on IRC)
@eoinoneill <eoinoneill1991@gmail.com> (eoinoneill on IRC)
== Scope ==
As of now, the scope of this project considers only the core //traditional animation workflow//.
In other words, the creation, manipulation and timing of hand-drawn and pixel art key/inbetween frames.
As such, other key workflows within the animation-making pipeline (storyboarding, compositing, etc.)
are outside of the current scope and should be discussed separately.
However, what is or is not in scope is an important point of discussion in and of itself,
so don't hold back if you have any thoughts or ideas that you think could be in scope.
== Sub-tasks ==
NOTE: As we gather feedback and suggestions from the community we will be adding potential tasks to the appropriate sections below.
Nothing is set in stone, however, and each point will need to be assessed for quality, scope and viability.
In other words, existence in this task should //not// be taken as a promise or official feature announcement.
//(Reserve new tasks for bigger jobs only, please link to them here.)//
**1.) Outreach** (Links forthcoming)
I've written [[ https://docs.google.com/document/d/1N9ZIRElBcJuZzMpHiTapoZnQEdebKIo9WizR_l2LK88/edit?usp=sharing | a draft outreach post]] and an [[ https://forms.gle/Hjw4FkZ26x8NMiKL9 | animation feedback survey ]].
[x] Krita-Artists https://krita-artists.org/t/feedback-wanted-help-us-improve-kritas-animation-tools/4171
[x] Reddit /r/krita https://www.reddit.com/r/krita/comments/ffy60q/feedback_wanted_help_us_improve_kritas_animation/
[x] Reddit /r/animation (checked with mods, no reply) https://www.reddit.com/r/animation/comments/foa2eg/krita_animation_feedback_wanted/
[x] Krita Steam Community https://steamcommunity.com/gid/103582791435216837/announcements/detail/1712995722671843343
[x] @Krita_Painting twitter. https://twitter.com/Krita_Painting/status/1237286799862611968
[x] SakugaBooru https://www.sakugabooru.com/forum/show/908?page=0
**2.) Polish** //(Papercuts, improvements and fixes for existing features and workflows as of Krita 4.2.9)//
[x] Animation Caching: Let's make sure that it's solid. **(Pending Merge Requests)**
[x] Improvement to "Current Frame" Caching for Improved Scrubbing (https://bugs.kde.org/show_bug.cgi?id=413859) **[[ https://invent.kde.org/kde/krita/-/merge_requests/259 | Merge Request ]]**
[x] Opacity Keyframe Caching Fixes **[[ https://invent.kde.org/kde/krita/-/merge_requests/264 | Merge Request ]]**
[x] Animation Caching for Animations with Layer Masks ( https://bugs.kde.org/show_bug.cgi?id=377289 ) **[[ https://invent.kde.org/kde/krita/-/merge_requests/260 | Merge Request ]]**
[x] Timeline Docker Right Click Menu Polish: Avoid having critical operations as the first element to avoid accidental selection on right click release. (related: https://bugs.kde.org/show_bug.cgi?id=413807)
[x] Timeline Docker: Remove layer sometimes deletes the wrong layer entirely. (see boud comment @ https://bugs.kde.org/show_bug.cgi?id=407416)
[x] Timeline Docker: Remove Layer doesn't just remove layer but deletes it. There should be a remove layer and delete layer option that are separate. (https://bugs.kde.org/show_bug.cgi?id=407416)
[ ] Timeline Docker: Time Change Shouldn't Mark Document as "Changed" (https://bugs.kde.org/show_bug.cgi?id=409443)
[ ] ~~Timeline Docker: Frame selection should also select layer for editing. (https://bugs.kde.org/show_bug.cgi?id=415977) (Ivan has [[ https://invent.kde.org/kde/krita/-/merge_requests/235 | an MR here ]] but it needs testing.)~~ MR Rejected
[x] Timeline Docker: Reconsider default "show in timeline" option. (https://krita-artists.org/t/toggle-show-in-timeline-default-setting/1754/4) There are cases where it isn't useful (masks, group layers) and there's an argument to be made that it makes the animation interface too messy.
[ ] Timeline Docker: For layers that aren't added to the timeline docker, there should be a clearer indication that the selected layer is being shown as a temporary timeline layer. Could simply be named *Selected Layer or a checkered background, or something.
[x] Render Animation: Ensure all file formats available are functional and viable (https://bugs.kde.org/show_bug.cgi?id=412456) **[[ https://invent.kde.org/kde/krita/-/merge_requests/273 | Merge Request ]]**
[x] Render Animation: HDR settings from image sequence cannot be edited in the video tab. (https://bugs.kde.org/show_bug.cgi?id=417521) **[[ https://invent.kde.org/kde/krita/-/merge_requests/273 | Merge Request ]]**
[x] Render Animation: Warnings regarding HDR mode in Save -> PNG options and Render Animation dialog - https://bugs.kde.org/show_bug.cgi?id=416772 (note there is a similar one with issues with HDR mode; well, it needs a bit of discussion, I guess it would be best if both were implemented). **[[ https://invent.kde.org/kde/krita/-/merge_requests/273 | Merge Request ]]**
[ ] Render Animation: Store export path (and possibly other render settings) in .KRA. (Suggested by @hurgar below)
[x] Render Animation: Export only unique frames, not including holds or clones. (Requested by @Bollebib in T7070) **[[ https://invent.kde.org/kde/krita/-/merge_requests/273 | Merge Request ]]**
[x] Layers Docker: "Non-recursive coloring of the group" (Requested by @Bollebib in T7070) -- Is the real problem here that coloring a group is overriding the user specified colors of children layers?
[ ] Layers Docker: Activate Next/Prev Sibling Layer aka Breadth First traversal aka Page Up/Down, without entering groups (Requested by @Bollebib in T7070)
[ ] Layers Docker: Filter layer handles by name. (Suggested by @Bollebib in T7070)
[ ] Layers Docker: Decrease opacity of a layer handle while dragging and dropping.
[ ] Tools: "Speed based smooth dropoff" Stabilization decreases gradually as stroke movement speed increases. (Requested by @Bollebib in T7070)
[ ] Performance: Improve scrubbing performance by compressing/delaying onion skin rendering. (Suggested by @Bollebib in T7070)
[ ] Misc: `QAction` naming should **always** match their representation in the menu system. See: https://bugs.kde.org/show_bug.cgi?id=393228
[ ] Misc: Frame change notifications. (Requested by @Bollebib in T7070)
[x] Misc: Allow editing and painting on normally-hidden isolated layers. (Requested by @Bollebib in https://bugs.kde.org/show_bug.cgi?id=383900 and T7070) **[[ https://invent.kde.org/kde/krita/-/merge_requests/267 | Merge Request ]]**
[ ] Misc: Re-apply last used filter, but prompt for settings. (Requested by @Bollebib in T7070)
**3.) Refactors**
T.B.D.
**4.) Features**
[ ] Audio: R&D Audio Subsystem (Bigger task. Will require separate phabricator task.) T2371 T12846
[ ] Audio / Timeline Docker: Audio Waveform Preview in Timeline. T12846
[ ] Animation Docker: 'Responsiveness' (https://krita-artists.org/t/about-animation-related-dockers/2828/3)
[ ] Timeline Docker: Frame Timing Adjustment Tool (related: https://bugs.kde.org/show_bug.cgi?id=418243) for quick adjustment to "1s, 2s, 3s, etc." for a selection of keyframes.
[ ] Timeline Docker: Wrap Scrubbing (https://bugs.kde.org/show_bug.cgi?id=356059) and possibly frame addition. (Requested by @Bollebib in T7070)
[ ] Timeline Docker: Animation cycles. In-progress by @jounip. (https://invent.kde.org/kde/krita/-/merge_requests/157) Will reach out to him.
[ ] Timeline Docker: Add more Layers Docker functionality. @Bollebib Needs more info.
[x] Render Animation: PNG/Image Export Setting That Only Exports Unique Frames (Requested by @Bollebib)
[ ] Render Animation: Add a way to render animation from prerendered image sequence https://bugs.kde.org/show_bug.cgi?id=411109 (really helpful for big animation when the user is short of RAM... and the bigger the animation is, the easier it gets ;) )
[ ] Misc: "Show Animation While Editing" Feature. (https://bugs.kde.org/show_bug.cgi?id=372449). I think maybe having a "Play Animation" checkbox in the overview docker would be acceptable?
[ ] Misc: Color Replace Filter (https://bugs.kde.org/show_bug.cgi?id=373571) as a complimenting tool for animation production.
**5.) Documentation**
T.B.D.
-----
Finally, as with all things Krita, **this is an open project and we welcome input and comments from everybody, especially artists and other community members.**
As such, please feel free to leave a comment or question below, [[ https://docs.krita.org/en/contributors_manual/community.html | chat with us on IRC ]], participate in threads linked above,
or send a mail to the mailing list or Eoin and I directly to join the ongoing discussion about the next steps and future direction of animation with Krita.
Thanks!