Krita is tremendously useful for animation, but I’d like to bring new attention to a feature request that has been made before in various forms: drawing outside the canvas.
For static painting and drawing, seeing beyond the image’s borders can be very useful. For animation, I would argue it’s an absolute necessity: visual elements can enter or leave the frame at different times, and moving backgrounds in particular will never be entirely visible. Trying to adjust a layer’s motion without seeing what lies outside the render area makes things unnecessarily uncertain and fastidious.
Ideally, when playing back the animation, every frame would be rendered normally within the canvas, and at a much lower resolution outside of it. Alternatively, the excess area could be hidden entirely during timeline playback (as is the case now), but with the borders of transforming layers remaining visible. Implemented as a layer setting, this feature would enable the user to choose which layers can exceed the canvas.
Currently, the only option to keep everything visible during production is to make a canvas big enough to hold all the elements at all positions. Predictably, this can slow down rendering and playback massively, especially when transforming large, detailed images or layers over multiple frames.
With all the development happening around Krita’s animation workflow, is there any chance this rendering behaviour might be added in?
Any ideas to further develop this request are welcome.
On the contrary, GIMP has allowed viewing (AND editing) content outside the canvas boundary since version 2.10.14, released in October of 2019. Not only that but you can even save XCF files with out-of-bounds content and reopen it with everything remaining how you left it.
It really is a gamechanger, too. Makes it very easy and intuitive to just drag and drop a bunch of images onto the open document, arrange them however you like, and then simply resize the canvas around them. Making collages in GIMP used to be a pain in the butt before that feature was implemented.
I was sniffing around trying to figure out if Krita had this feature or not, too bad that’s not the case as the feature is quite useful and Krita is also the only legitimate raster editing software available for Android. Not having it isn’t a dealbreaker by any means, but it’d be nice to have.
Unfortunately according to some developer or other here on this foru, this kinda sorta used to be a thing way back, you could see things outside the canvas as being grayed out/slightly transparent, but someone or other decided it wasn’t useful so it got nuked and now it seems like unfluffyducking that change could be very difficult to do. Here’s hoping anyways.
I too want to agree I find myself quite often expanding canvas beyond of what I’d want to be the crop of the final image. I have no issue with that, problem arises though, that every time I want to export my image, I have to crop canvas just for that and redo it every time I want to modify and export again.
I think a nice thing to resolve this issue would be to add render camera. User would be able to mark certain area of the canvas that would be cropped to when exporting finished image. That way you could have things outside the “canvas” and still let user to choose how much of rendering performance they want to sacrifice for that.
Having that, in the future it could be expanded to cover another issue of 2D Camera movement in animation.
That is a dual purpose script and the toggle wraparound mode part needs to be deleted.
Then it will either resize to the layer or resize to the selection if there is one.
It could then be separated into a resize to layer script (the most useful one) and a resize to selection script, if you want that too.
The scripts could be assigned in Tools → Scripts → Ten Scripts then triggered by keyboard shortcuts that are listed in Settings → Configure Krita → Keyboard Shortcuts: Action Scripts → Ten Scripts
In use, you’d make a filled rectangle on a layer for each of the different layer sizes/positions that you want. They could be placed at the bottom of the layers docker, out of the way. Then to resize the canvas to your requirements, you’d select the appropriate rectangle-filled layer then trigger the ‘Resize to Layer’ script.
If you need any help in doing that then please create a new topic for it with a category of Develop: Developer Questions.
I believe a feature to “Show / Hide Border Canvas” would be incredibly useful, and there are many practical use cases for this feature.
For example, currently, I’m working on texture atlases sized 1024 x 1024px, with individual items being 64 x 64px. During this process, I sketch additional items or ideas outside the canvas. Currently, I can’t see or work with those sketches unless I manually adjust the canvas boundaries, which disrupts my workflow.
Being able to toggle the visibility of content outside the canvas would make it much easier to experiment with sketches, store unused items, and iterate on ideas without losing sight of the defined workspace.