-
Notifications
You must be signed in to change notification settings - Fork 273
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Official Roadmap [Issue Tracker] #540
Comments
Very nice write up! Here are a few of my personal thoughts on the matter.
If you are looking to have the project documented down to the class or method level, I would recommend generated documentation like Doxygen.
|
What about doing a monthly meeting on IRC? We may even talk through Jitsi Meet or Appear.in ? I have plans for Pencil2D roadmap and even financing that I would like to share with you. |
@scribblemaniac Thanks a lot for your suggestions! They are great. And thank you for the fastest commit merge in Pencil2D's history 😝 Indeed we have milestones, but I was thinking of a long-term wide scope kind of roadmap, something to give us a direction for the future. And regarding the dev guide I'll add your suggestions to the main comment. I'll have some free time at the end of the month, so hopefully I can setup a proper page for the dev guide in the github static site so we can begin filling in along those lines. @feeef That's something I've always thought about, trying to bring together the few devs there are. However since I've never been too sure about everyone's spare time I never suggested it. I was thinking of using a public Google hangouts address through the pencil2D google account, so we would avoid trolls to bother us. IRC sounds great, but I don't know how to setup one, maybe @gordielachance can help us out? And ideally I'd like a place to have screen sharing or image sharing functions because most of the things we'll talk first need to be shown or have graphical content. We all are animators, so If you have plans for Pencil2D future let's share, I'll make a roadmap static page as well within the github site so you guys can fork and edit. I firmly believe we shouldn't strive to become the next TVPaint. That software is great, but it has many features that aren't necessary for animation. Just convenient. I think one of the strengths of Pencil2D is it's ease of use and simple design. Like I still have issues to start drawing with programs like OpenToonz, Synfig, Blender, etc where I have to configure the shit out of them just to draw a stroke, and even when drawing, it just doesn't feel "natural". However Both Pencil2D and Mypaint share the same trait of Simplicity. Just boot up the software, pick a tool and start drawing / animating, no questions asked. This is imperative, I know I can get even some pro animators to use the software if we do this right. but first of all we need to stabilize the program. The crashing problems and the image memory issues (someone fixed image import memory issues here #536 ) but mainly we need to take out the restriction of having to use a certain amount of frames before it crashed as I've noted here #520 Regarding the financing, recently I've come across a page called https://www.bountysource.com/ It seems you can place a "bounty" attached to specific bugs and whatnot, to motivate random developers to undertake the task. Any person can claim the bounty as long as the bug is proven to be fixed. Since we're not a "foundation" dedicated to the preservation of Pencil2D, unlike Blender or Krita, I think the money can be used like this through a neutral third party in such a way that we can focus efforts on fixing several bugs, and directing donations while throwing money to specific tasks we need fixed. I still have to investigate more about it, but I saw Synfig devs were using it so it must be legit. We also could setup a patron / gumroad for Pencil2D, and make "development packages" so, if someone pays, we can assign someone who has free time to fix a particular function. Of course the money involved would depend on the function being added, or the bug being fixed. Ideally we need sort of a pool of money to draw from. That's why I thought the bountysource was a great Idea, unlike patron which requires commitment and gumroad is sort of a mixed bag since we'd have to grow extra work in providing proof and reassurance to those who "bought" the "development packages". |
@Jose-Moreno When it comes to setting up IRC, freenode might be a good option. It’s immensely popular with open source projects, after all. See https://freenode.net/. |
The OFTC has a pretty good IRC as well for OS projects. |
Hi guys, there already is an IRC channel on freenode (##pencil2D), but the link wasn't displayed on the homepage anymore. About the documentation, it is possible to create/edit pages the website's pages from the Wordpress Dashboard. If this isn't enough, maybe I could try to setup a documentation generator. I saw some Github pages running Sphinx (example : SimplePlugin); this is quite nice; but I don't know if it is available by default on Github. |
@gordielachance Hey! nice so we do have IRC, cool. Regarding the documentation I personally believe we should keep everything related to development here on Github and that includes documentation, because it is a role that developers (and advanced users) must fill out in order to secure up to date information regarding Pencil2D functionalities. Let's leave the docs to be hosted here as well. No need to risk angering the host gods with unnecessary bandwidth use 😝 This way it would be more open for everyone to contribute and we wouldn't need to bother you with an email to open them an editorial position in the page every time another person wanted to contribute. On a side note which still pertains to Pencil, I think it's time we begin to discuss how to change the website layout. I really think the website should be a one pit-stop for Pencil2D USERS, but developers should have their hub elsewhere (Github) since it gets really hard to keep the discussion alive and professional without getting burrowed by a million of questions about how to use Pencil2D on android (...) Considering a large percentage of our audience is comprised of kids below the age of 15 (in case anyone didn't know), we need to make double sure that we have a simple setup so they (and us) won't get confused. Even older users (for example) never take a look at the nested links, it's not obvious from the design that there are links inside the landing page header buttons, that's why I had to change it form the about page to the "look-at-me-you-download-pencil-here" kind of page. Sphinx is what Godot and Blender use for their docs, but if it's too much of a hassle let's do something more simple. Right now we need to start, the fancy things can come later when there's more time. Also, I said this before but I want to know where exactly can we donate for the page and hosting to be maintained, please post a link here, so maybe we can advertise that in due time and that way you'll also feel a bit of love for the work you do (which is great! thanks!). |
@Jose-Moreno I agree with you. I too think that Pencil2D has to be focused on simplicity, ease of use as MyPaint is for painting. OpenToonz is already a FOSS alternative to TVPaint so I guess that Pencil2D should differ in the way that while having less professional features, it makes you create straight away. I am currently working at Purism as director of creative and will hopefully get a Librem 11 at some point. It is a tablet PC with 2048 pressure levels stylus support, so I would like to optimize pencil to work on that kind of device. With this setup, you would draw and animate anywhere just like with a simple flipbook. In that regard I think that completing the MyPaint integration is essential. After that, I would focus on UI improvements like a more modern interface with choice between bright and dark theme, with touch support and finally, an easy way to share your creations (social networks, email...). In my opinion, Pencil2D 1.0 should look like this. Next to that, I am founding a non profit organization (http://ethiccinema.org) that is a sort of prod for libre motion art. Ethic Cinema is also a concept to help promoting an alternative economy in cinematography. This economy wishes to be ethical so that everyone can benefit from it. In that regard, every film creation based on this concept will have to help the development of a libre technology. For this to happen, we must first all agree with the roadmap to version 1 (we need @chchwy approval), we write it down, and Ethic Cinema would organize a crowd-funding campaign with this development as a target plus a short animated film or clip to go with it. Ethic Cinema is non profit so with this money, we would pay every developer and artists individually for their work. This is of course open to discussion so I am waiting for your comments! :) Cheers! |
I agree. Let's host development stuff on Github and let's host the "community" stuff on Pencil2D.
I created a dedicated topic here : #542 @feeef : i'll read your post with more attention after work, seems there is a lot of ideas in there ! |
@feeef Francois, that is exactly what we need! It's great that you're thinking so far ahead, and things like this were the reason why I wanted us to discuss the roadmap for a long-term development in the first place. I completely agree on the cross-promotion and partnering concept. The economical arrangements we need to discuss properly in order to further Pencil2D development. However going for a crowdfunding campaign can be a daunting task right now. After handling the social networks for almost 1 year ever since my idea of reactivating the community part where people would become interested in Pencil2D yet again, I've noticed a trend of mistrust towards the program own development, particularly since there's been so little real progress in the eyes of regular (non-technical) users. I even recall one dude a few years ago saying he wouldn't be willing to donate because he thought Pencil2D was a rip-off due to poor development... I've tried to let people know that we are few but passionate about this, however without real "proof" of progress, we won't make it. If we want to really make this right we need to somehow get a REAL stable version, with the basic features working as intended. For a real stable release to be true we need to fix the following in order of priority:
Most of this should be targeting version 0.7 or 0.8, but at least the first issue needs to be addressed by version 0.7 😄 p.s: I don't see any image if you posted one, but although I understand the "dark theme" need I really like the "lighter" theme that Pencil2D has hahaha. |
I agree with all that @Jose-Moreno. Of course we have a lot of work before this to happen but I guess that if we all keep focused in the same goal, there is no reason why we couldn't make it happen. About the dark theme, I imagine the user being able to switch between clear and dark. MyPaint 1.2 has a very good looking dark theme : https://i.ytimg.com/vi/5m_rCA7luFI/maxresdefault.jpg I have had so much work and so much projects in mind lately that I didn't really take the time to work on Pencil2D. I am very happy I manage to set up the MyPaint preview version but now I need to find some time to complete it. |
@feeef Actually that dark theme in the picture you linked looks pretty much like the dark variant of Adwaita (the default theme of GTK) to me. On my system, I have set a dark theme (Adapta-Nokto) globally and MyPaint and Pencil look pretty much the same (except Pencil has more components that don't adapt properly). |
Addendum: In case of Pencil you'd probably need to dig up some dark style for Qt that works on all platforms. Krita does it that way AFAIK, they include several Qt styles and let the user choose one; so it might be worth to have a look at their codebase. |
Theming is pretty simple actually. As @J5lx demonstrated, Qt will automatically detect the system theme and style elements accordingly. Based on those screenshots, the timeline is the only one that is not being styled correctly, which will be fixed when we rewrite it to use native Qt elements (#533). The theme can be changed in the code fairly easily as well. I have started work on the build instructions for Mac, and I think I can finish it sometime this week. Ideally before then we would decide on a location for development documentation. Here's the different places I can think of off the top of my head:
I like the idea of crowd-funding if there is a plan in place on what to use the money for, but I think morr hit the nail on the head. It would probably be much more successful if we released a substantial update that shows the average user that work is actually being done on this project and that there are developers that are capable of using that money to get us to 1.0. |
@scribblemaniac Actually the menu isn't styled correctly either and I can see some smaller inconsistencies as well:
|
@scribblemaniac As you may have read in some of the previous comments I strongly believe we should leave the development side of things in github and it's pages leaving the website for everything else user related (also because of the hacking attempts we've suffered) My main idea was to use pencil2d.github.io which it is a github page related to the main project that we created due to the problem with the main site shutdown due to spammers. https://github.com/pencil2d/pencil2d.github.io I feel it's easier to write the docs in your favorite text editor with markdown then upload the changes. I was working directly, but I think it's better to fork it since there's more people involved now. However we need to separate the USER documentation, from the DEVELOPER documentation and class reference. Maybe the user manual can be hosted in the static website mirrored in the official website (pencil2d.org) and the developer guide can be in the static page only? We might need to decide, but we also need to begin writing, for now let's work with what we've got and make it as simple as possible so it doesn't become a chore for anyone who wants to contribute. So I propose, forking pencil2d.github.io to contribute and see if we can begin working on this. I don't know anything about sphinx, daux.io etc other than they exist and how they look so i'll have to read how to implement it on the docs page, however if anyone knows how to do it, please give us a hand lol. What do you think about this? @feeef @chchwy @gordielachance @J5lx |
@J5lx Thanks for pointing that out. In my 'programmer' mind that is all expected behavior 😄 @Jose-Moreno I like the idea of using pencil2d.github.io for developer documentation and definitely agree it should be in a separate area from the user documentation.
I have worked with Sphinx before, and you should be able to generate html documentation and just move it straight into the doc folder. If you want the online documentation updated after every commit, it would probably be easiest to use Read the Docs which open source and has webhooks to automatically rebuild the documentation, the main drawback being that you wouldn't be able to connect that to pencil2d.github.io. If you can modify the DNS records for pencil2d.org, you could have it at something like docs.pencil2d.org thought. |
@scribblemaniac Hey so I managed to install sphinx on my pencil2d fork. https://github.com/Jose-Moreno/pencil Edit: I created a "docs" branch after noticing several mistakes I made. Edit#2: I also created a gh-pages branch so host a "work" clone of the github page. There's a "docs" folder with the sphinx installation. I've seen articles saying this can work such as this one http://executableopinions.readthedocs.io/en/latest/labs/gh-pages/gh-pages.html But I hope someone can help me further. But now I'm reading that Sphinx is mostly suited for Python docs, not C++. They seem to have this thing called "domains" so I'm allowed to change it from python to c++, but i think this is as far as I can get without help lol. Also I think the conf.py file might be missing some values For now I have just Sphinx installed. I do recall now that I did use Sphinx to try and contribute to Blender docs, but they had a lot of stuff automated so you basically commited the .rst files and lead a happy life. I have to also read this article about Sphinx and CMake which seems like a possible solution?. In the end meanwhile we find a suitable way of handling this we might have to manually enter all the info, which is less than ideal, I know. https://eb2.co/blog/2012/03/sphinx-and-cmake-beautiful-documentation-for-c-projects/ I'm afraid though that this week also I begin a new job and I'm going to be super busy, so I don't know how much time I can dedicate to investigating the documentation process, but I'll try to be around to help for sure! p.s. I didn't properly investigate "Read The Docs". I'll give it a look soon. |
@Jose-Moreno Great stuff, I'll go over it as soon as I get a chance! 😁 |
@Jose-Moreno Haha, it's 1 AM right now, and after browsing around your docs folder and the sphinx documentation in a slightly confused manner for about half an hour, it finally dawns on me why this doesn't look right, I was totally thinking of the wrong documentation program 😐 I was saying sphinx, but I was thinking about the features of doxygen! (I really need more sleep) Sorry for this confusion, you are right that Sphinx is not really meant for C++. I went ahead and set up doxygen documentation, and went through all of the configuration options. You can find the work on the add-doxygen branch of my fork. You can find the generated result at: There's not much to it right now, but the docs are generated from inline documentation, so as we add comments to the code, the HTML docs will update to incorporate these changes. Generation is fairly simple. Install doxygen, cd your root git directory in terminal, run |
@scribblemaniac Lol. I kept reading about Breather+doxygen+readthedocs combos, but since we had agreed on sphinx I went there. Oh well. I just need to delete the sphinx branch I setup (with a lot of suffering lmao) I'll take a look at your setup this weekend and clone it if I can. What I like about what you said is the comment system. To be honest I once looked at the code and is in heavy need of comments, so this seems like a perfect excuse to begin documenting each class, function and whatnot. Thank you for looking into this! |
The documentation for compiling on mac is done: |
This issue is getting a bit cluttered now to say the least, so here is a summary of everything as far as I can tell. What's been proposed here and finished
Things mostly agreed upon (?)
Things still up for discussion
|
Personally I think we should try and have an IRC meeting to discuss some of these issues (the roadmap in particular). That's not normally my cup of tea, but we can discuss this a lot faster 'in person'. Plus we need to hear more from @chchwy 😉 |
I think freenode's staff is happy to help in freeing unused registration to give official project access to such channels. this is the public info I get from querying for #pencil2d@freenode:
If you want I can try to engage with freenode's staff and see if they are willing to unregister the channel so we can take it over. |
I think that sounds great! Thanks for the extra information. |
@mapreri @scribblemaniac Actually that Nick was a contributor for Pencil2D! Also, sorry i've been away, really hectic things happening and my workplace. It's been madness. I'll try to read and organize what scribblemaniac has summarized already and see if anything was missing, but sof ar I can tell that's exactly what we've progressed so far. Thanks everyone! |
Oh! |
@chchwy @scribblemaniac @feeef @candyface @J5lx @mapreri @gordielachance So, I wanted to let you know that the Pencil Live document I was maintaining ever since last year was updated yesterday. After a long year of testing out Pencil2D and patiently listening to the cries of some users, I've rounded about 80+ feature requests from my own experience and from pro animators I've come across that have used the app. https://docs.google.com/document/d/1NmbAh1TQYDwoEgyrIy215fl_iCvBK651PIJno9KAijo/edit My question for you is, should I attempt to transfer all these requests to the issue tracker? or do we have any better way to get this? With this we certainly have the basis for a "future functionality" roadmap, however I want to know what are your thoughts on how to better organize it so we can add or modify new requests from a technical and a "regular" user standpoint. I'm still tidying up the list eliminating duplicates, but there shouldn't be many more. So let me know through the comments here or on the drive document. Thanks a lot for all of your hard work!!! 😃 : |
Preferably we should have all issues in the issue tracker yes. As for accessing the doc, you could link to it via the "Task list" button on the wiki page, then it would be easily available from the dev environment. https://github.com/pencil2d/pencil/wiki Good work :) |
I agree, the better way to track issues (and feature requests) imho is a
bug tracker, like github's. You could probably consider adding a label to
each of those bugs.
… |
I also agree about the bug tracker. Potentially one could also assign a milestone to those issues, that way we’d get a nice progress bar :) |
I agree with the tracker too! It will be easier to define ant track milestones for each features. It will also be easier for the new contributors joining. |
Alright everyone!, thanks for answering I'll gladly migrate them over, it might take some time before I finish cleaning up the duplicate, but once I do I'll categorize the requests before adding them. I don't have the ability to tag the issues though, so I guess I'll leave a tag suggestion on the issue as well, because I think it's important to prioritize certain features over others, of course this will be up for discussion as well. Slowly but surely we will see this software to flourish! Thanks a lot! 🎉 |
Ok, I managed to organize the bug requests into sections to give an idea of plausible milestones so now it resembles an actual roadmap 😄 . I'll begin submitting proposals as soon as I've finished reading and testing out each one to make it as clear as possible. Also I'll leave tag and milestone suggestions to be implemented along the issue. https://docs.google.com/document/d/1NmbAh1TQYDwoEgyrIy215fl_iCvBK651PIJno9KAijo/edit @chchwy I would like to ask if you could allow me to permissions to modify the Github wiki and to beign posting the roadmap there as well. Also is it possible that I can be allowed to put tags on the issues to better help with the organization of these new feature requests and bugs? Thanks! |
@chchwy @J5lx @candyface @feeef @gordielachance @scribblemaniac Good evening everyone. It pleases me to announce that we've finally been given authority over the Pencil2D Bountysource page. First I'd like to add those mentioned as members of the core Pencil2D team on BountySource so we can come together to consider rewarding specific development tasks that need our immediate attention. This would also allow us to setup a developer / team mailing list so we can get in touch for sensitive issues that arise. For this I'd like to ask you to send an e-mail to our address pencil2danimation(at)gmail.com so you can be invited. Along your email address, please send a list of nominated features that you consider are worth highlighting to the community so we can improve the software upon those highlights in a more focused manner. Please consider any issue posted on the github repository as well as feature requests consigned on this document: https://docs.google.com/document/d/1NmbAh1TQYDwoEgyrIy215fl_iCvBK651PIJno9KAijo/edit Ideally I would like to announce this new approach to the public along the release of version 0.6, not only to bring confidence to our users that Pencil2D will continue to be improved, but to have time to flesh out a proper plan to fund and develop future features and enhancements for the software that would simply not be possible without financial support in the long run. After this we should allow the community to vote and choose which of the highlighted features they want put a bounty on. Lastly the bounty would be initialized by one of the admins with the minimum allowed bounty ($5) in order to permit the community to "donate" to the specific development task to reward the efforts particularly on challenging tasks. Please take your time and consider not only the features you'd like to include, but also how much money you estimate it would cost for you to make it happen as a single developer. It may be obvious to say this, but sadly it may not be possible to get payed full rate for any of these development tasks, it would be ideal if we could find a willing corporate investor or use a crowdfunding strategy to achieve this, but for now let's keep it realistic as we're just starting out. With that said, I want to thank everyone who has dedicated themselves to contribute to this project over the past years. I'm quite sure time will prove these efforts fruitful as we continue to pursue an open source software for those potential creative talents that other projects don't cater to. Have a great week, I'll be pending for your response, p.s. If any other past developer that have worked with Pencil2D would like me to add them to the BountySource Pencil2D team, please let me know. As long as you want to help this project to evolve, we will continue to look forward working with you, cheers 😄 |
@chchwy @candyface @scribblemaniac @J5lx Hey, so in the past most of you sent me a few suggestions on which features we should prioritize past 0.6 So I created a temporary spreadsheet to visualize these suggestions which overlapped in many cases. I'm only missing CandyFace's suggestions but anyone else can comment freely so if you have anything else you feel like it should be prioritized please feel free to comment on the spreadsheet. https://docs.google.com/spreadsheets/d/1c2GOMLolfCu6qpwxZ-ZLcb_VIZUeeJd0P-PU8WzJZc4/edit?usp=sharing |
A while back there was some discussion on making #pencil2d (without the second #) on freenode our official IRC channel again (see #540 (comment)). If that is still a thing it’d probably be a good idea for some of the people actually using IRC actively (i.e. me, @candyface or maybe @scribblemaniac who made that discord-irc-bot just recently) to have some sort of control over that channel. Any thoughts about that topic? (I’ll also direct that Nick from Discord here in case he’s the same Nick who registered the freenode channel) |
@J5lx Actually now that you mention it, I think it is the same person! I totally forgot to ask him about that since it had been discussed before, but I never got to contact him until he contacted us back while setting up the discord server. I think it's worth a shot so you guys have more control over that node as well. |
For the record, Nick has now changed the founder of #pencil2d to @candyface |
I have added the discord-irc bot to #pencil2d as well, so both channels are now connected to discord. |
Nice. BTW, let me know if you want to have the bot hosted on an actual server (since it seems to come from some sort of ISP backbone right now) |
hi all, where to find the IRC chanel for pencil2d? |
@Brunobasta Hi Bruno, well IRC is usually deserted but as far as I recall there is a bot that will relay your messages to our discord server. I believe that a liberachat channel was opened here https://web.libera.chat/#pencil2d due to the freenode debacle (where the channel was hosted before but now it's difficult to reach afaik) |
Official Roadmap
Ok so I spoke with chchwy on the discord server that Spark01 setup for us. We agreed on moving the feature request list to a "tracker issue" to act as our official roadmap. And since this issue was already open I've just edited the main post, and will continue to do so until everything is take care of. If there is anything new to add please post it in the comments.
We have several categories that require our attention to bring Pencil2D to the next level:
LICENSING CHECK-UP
BITMAP ENGINE
VECTOR ENGINE
Vector engine upgrade proposal #616 (comment)
Implement Path and Contour strokes (reference behaviour: Toonboom harmony / Adobe Animate pencil & brush tools)
Stabilizer feature for vector tools: [REQUEST] "mass" or "slow position tracking" value for the PEN tool #245
Improve Stroke Calculations to allow for more natural drawing.
Improved Vector Fill Tool: When closed shapes have complex strokes (curves, jagged lines, spiked lines etc) the bucket tool can't fill the empty space properly.
Add ability to modify vector points for Pencil / Pen / Brush tool: Add, Remove, Join, Split stroke. These should be usable on any kind of stroke, be it pencil, pen or brush. These functions would be placed in their own widget panel too.
Geometric Shapes Panel: We need primitive vector tools, square, circle, triangle and to fix the polyline tool.
Boolean Operations Panel: Addition, subtraction, intersection between strokes (see merge below) and geometric shapes.
Improve stroke path (control point) merging and implement stroke contour merge. This behavior should allow for better optimization of the vector elements on the canvas and to preserve memory.
Multiple Control Point Selection: The marquee tool should have a control point selection mode for the vector engine.
Ability to change vector line width after stroke creation. It's suggested to have a width slider on either Selection or Move tool.
Variable Line Width Tool, to allow for variable line weight along the same path. (review toonboom harmony / adobe animate respective tools)
Implement Vector Motion Interpolation (Tweening)
Implement ability to view and manipulate control point tangents for splines: User should be able to adjust the spline tangents to create specific curvatures on the stroke.
Implement Stroke Sculpting: When clicking and dragging on a path the control points surrounding the moving portion of the stroke should move with a falloff area.
Improve automatic control point tangent behavior and implement a toggle: If you move a control point and the connected lines attached to become closer it will create a sharp angle. Sometimes you require to move the point but to maintain curvature as much as possible.
Implement bitmap to vector conversion based on applied strokes over canvas.
ANIMATION PREVIEW
TIMELINE ENHANCEMENTS & FRAME EDITING
Move animation controls to the middle of the timeline Move AnimationControls to the middle of the timeline #38 fixed via a bit refactoring and fixed timeline UI spacing #656
Implement widget to change timeline frame size and frame amount directly on the timeline, instead of the preferences. Just making a slider to handle this will work.
Implement frame instances: [feature request] instantiate frames #389
Allow for frame insert or duplication between frames: For example, creating a keyframe between two previous keyframes would mean moving over the frames that come after the one that's being inserted.
Implement functionality to insert or delete frames on multiple layers to change timing.
Implement automatic keyframe container creation when drawing over an empty frame.
Ability to Select and Move multiple keyframes between layers of the same type. (What happens if we move a raster drawing to a vector layer by accident? Should we allow seamless conversion? Can it be done?)
Implement a “reverse keyframes” function which would reverse frame order
Implement multiple selected frames duplicate and copy / paste operations
Implement MultiLayer Onion Skin feature (View > Onion Skin > MultiLayer Onion Skin)
Implement “multilayer onion skin”. This would allow to have onion skin affect multiple layers: [Feature] Multi layer onion skinning #1874
Frame Coloring System
*Empty frame = Black Outline + White Color
*Selected frame = Black Outline + Dark Grey
*Frame with content = Black Outline + Layer Color
Frame Label System: Timeline Marker + Layer Marker
Use Case 1: (REF: After Effects)
Text Markers are normally visible on the timeline (above frame numbers) or on Layers. Can contain comments or annotations for other animators or production teammates that work in the same file (i.e colorists, clean-up artists, checkers, etc). Or reminders for independent artists to finish a task later.
Use Case 2: (REF TVPaint)
Can be used for filtering display of frames types (key, bdwn, inbtwn) to visualize the animation during playback on different stages. Frame types would be constants K, B, I, so each time you wrote these letters on a marker, Pencil2D can acknoledge any layer frame marked with it belongs to the marked type (this is responsability of the user to properly mark the frame types)
Filters:
LAYER MANAGEMENT
Implement a layer merge feature: Layer merge #1206
Improve layer organization awareness
Implement Layer Groups to nest layers for organization purposes
Timeline Layer Filter (REF Krita Layer track timeline panel visibility properties #359) Note: Might work in sync with
Implement Custom layer colors: Allow to pick custom color or a predefined set of colors determined by the colour palette.
Implement a Z-Order Index + Override functionality for layers that can be animated. This would help to use different layers to be in front or behind any other layer with lower Z-depth. This is not true 3D Z-ordering but rather something similar to vector programs where you can re-arrange the objects overlap. This would be also important for using the camera with a z-depth toggle enabled in order to fake the parallax effect (the effect where elements that are farther move slower in comparison to those which are closer to the camera and move faster)
INTERFACE ENHANCEMENTS
Implement panel locks http://www.pencil2d.org/forums/topic/is-there-a-way-to-lock-the-windows/
On New File creation canvas state (rotation and zoom) should be reset (currently pan is reset). Fixed via pull clear recent files list #165 #686
Implement update / reset of open recent list: To add a way for RESETING the "OPEN RECENT" files #165 implemented via clear recent files list #165 #686
Implement Alpha Channel Slider: [REQUEST] Alpha channel with a Slide-Control value #237
Slider Display Change Proposal: Change the way sliders are working #15
Re-Implement Pop-Up palette for quick access to tool presets and colours: Just an idea: An instant/pop-up palette to quickly access favorite tool presets including a color wheel #157
Technical review or Refactoring Proposal: extract adjusting tool and feather adjusting tool to their own tools: extract adjustingTool and featherAdjustingTool to their own tools #124
WORKFLOW ENHANCEMENTS
Implement Shortcut Re-binding: http://www.pencil2d.org/forums/topic/the-ability-to-rebind-anything-and-disable-some-feutures/
Technical Review of QT / Pencil2D Hardcoded Keyboard shortcuts. Original Thread - Some keyboard shortcuts problem #61
Implement GUI for Pencil2D configuration settings: A way to save the Custom shortcuts list for future needs. #177
Implement ROOM or WORKSPACE Paradigm Making special canvases for different works/documents #28
Implement Shortcut to change between last used tools: Implement shortcut to switch between last two used tools (including layer, color, ...) #158
Implement Shortcut to change between last used colors
Implement shortcut to create straight lines with any drawing tool. Ref Thread: Add a shortcut key for making straight lines with the polyline tool #44
Fix Flip selection content tool
Implement SHIFT & TRACE feature: This will allow you to offset onion skinned frames to trace over previous portions of your drawing in order to speed up construction and allow for traceback techniques.
Implement a flipping & rolling function. Flipping & Rolling are two techniques that allow the animator to quickly preview playback based on the actual drawing / frame container. This proposal was separated and issued here [Request] Implement Flipping / Rolling Feature #978
REF: TVPaint's "Flip" function panel: https://www.tvpaint.com/doc/tvp11/index.php?id=lesson-tradigital-animation-advanced-flip-presentation
Implement a Library Panel for vector objects, bitmap reference images & sound resources http://www.pencil2d.org/forums/topic/some-ideas-more-modify-the-cursor/
UNDO + REDO PARADIGM
Implement UNDO / REDO operations to affect keyframe + layer operations
Note: When undoing frames we should also undo frame container creation.
REF Thread: Redo for deleted frames: An UNDO option for "frames deleted" #36
REF Thread: Redo + layer rotation: Few Wishes (Undo frame deleting & Layer rotation) #187
Implement UNDO / REDO Configurable steps.
COLORING WORKFLOW ENHANCEMENTS
tool presets for colored linework: #25
(Bitmap) Implement a color replacement function
Refine Tool Functionalities for separate drawing and coloring tasks. Note: Pencil2D already has a primitive system of lineart /paint color separation.
Improve Color Palette Selection for Bitmap Layers
DRAWING TOOLS ENHANCEMENTS
Implement or Adapt current tools to create pixel-perfect artwork (no antialias)
Implement Pixel snapping to grid
Improve custom Grid to allow for grid cells with asymmetric proportions.
Improve Brush Tool Feathering visualization. Note: Brush area circle that represents the brush should have another inner circle that shrinks towards the center when the Feathering value is higher. The area difference between the outer and inner circle represents the feathering of the brushstroke.
Implement Brush Presets
Implement Textured Tip Brushes: REF Thread: Hashing Brush Hashing Brush #344 (might be possible with mypaint)
Implement a Global Pressure Sensitivity editor to alter WinTab (and others) input signals.
SELECTION TOOLS
Implement a Lasso / Freehand + Polygonal Selection tool: build a lasso tool #118 , More selection tools #18
Implement Selection Marquee tool to follow canvas rotation: [REQUEST] make selection toggle to follow or not canvas rotation #379
Implement a Toggle to ignore canvas rotation: When utilizing Lasso selection it can be used to cut a shape manually without following the canvas rotation.
TRANSFORM TOOL ENHANCEMENT (SELECTION + MOVE TOOL)
CAMERA HANDLING
http://www.pencil2d.org/forums/topic/camera-panning-zoom-or-z-depth-and-rotation/
DIALOGUE & LIP-SYNC
AUDIO ENHANCEMENTS
PLUGIN SUPPORT
EX-CHANGE FORMATS & IMPORT-EXPORT
ANIMATION PRODUCTION SPECIFIC REQUESTS
Implement an X-sheet Panel for professional / classical animators. http://www.pencil2d.org/forums/topic/classic-x-sheet-integration/ Xsheet feature #1119
Implement Layer-space transforms (Position, Rotation, Scale)
Allow modification of visual path to adjust trajectory of layer objects in real-time
The text was updated successfully, but these errors were encountered: