Well I don’t have anything to argue with you as you are very much convinced with your point so no gain in arguing :). I hope that some volunteer works on implementing and improving the now useless alpha inheritance (for you) to be a copy of photoshop’s behaviour for you and you will be able to work with ipad again.
As for me I don’t see any drawback on how Krita’s alpha inheritance works and behaves, yes it will be good if someone contributes in making it psd compatible.
As for drawbacks I don’t see them and it was not made to be different on purpose. it is how layer stack works in Krita. If the kind overlords of adobe kingdom would have made PSD an open format I am sure this would have atleast be implemented correctly to be interoperable.
I too want to see Krita grow but in its own way and not in the shadow of photoshop
I don’t care what Adobe does, I don’t use their products. But yeah, that would be cool if other apps could support .Kra. But with the current inherit alpha method, I don’t think that’s possible :\
Anyway we are going offtopic with the file format flamewar. I will stop and request you to do so too. The original request is to make inherit alpha save correctly in PSD format. so let the discussion be on that. Sorry for dragging it off topic in the beginning.
You can file a request for them to make the PSD format open, may be other apps would also benefit from it.
Very well, I don’t fault anyone here for their dislike of Adobe or PSD, again I’m not a fan either. In the current world we live in, I (and there are plenty of others like me) simply NEED the compatibility, that is all it is. Like I said, I want to use Krita, but if in the end it cannot offer what I need, I can’t use it.
I’ll still play with it for personal stuff from time to time and follow progress with interest
But I’m probably jumping the gun, maybe something can be done with inherit alpha as it is.
Maybe it’s not, but the structures required by inherit alpha are so different from those of clipping masks (to achieve the same clipping relationships), that I have no idea how one could code an automated process to translate them.
There are workarounds mentioned in the thread I believe. You can use them until someone implements this. I know it is too much work to use the workarounds but just wanted to bring it to your notice so that just because clipping mask is not saved in PSD from Krita, you won’t be stopped from using other niceties of Krita
There is an attempt in the free software world to provide a interchangeable file format that could be used in multiple programs. It’s called “ORA” (Open Raster). It’s designed to be easy to implement (unlike PSD, or god forbid, SAI file format , but even .kra is internal so it’s not easy for another app to support it, even though the code is open), it’s specification is out in the open (unlike PSD, which is closed, which means programs like Krita had/have to guess how it’s implemented - vide text layers), and there are already multiple programs that support it - Krita, Gimp, MyPaint (which uses it as its internal/default file format, too) and Drawpile, and I believe there are more, too. It’s easy to extend, too. See https://www.openraster.org/
Also you ask “why reinvent the wheel”. You forgot one thing though, in software there is often something called “historical reasons”. As in, there was a reason back in the days, and now it’s too costly to change it. Note that inherit alpha exists in Krita for quite some time - there is a chance that programs like Procreate didn’t exist back then (not sure how old it is), painting on iPad was not something possible, and the only clipping mask was in Photoshop, and it didn’t support such complex structures like we used above - maybe back then, Krita’s inherit alpha was actually a better solution.
Yeah I have spoken about that issue as the open source pipeline to be able make face against the industry standard. But you ignore that studios like to not spend money and they are converting to non-paid solutions. They haven’t yet because of legacy content they have so PSD lingers on so they have access to it still.
I really think this issue although problematic does not warrant a solution because your spreading the power of Adobe even more. Krita is a free download and does not represent any expense to any studio besides the IT headache of installing on computers. It is not like your demanding them to pay a 20€ to open a file.
If they really want PSD you should be using PS instead, and the pay of your expenses for it.
I guess we could introduce the KRA format to other paid software that uses PSDs too. That to me would be a better solution for sure and stop this stupid closed industry standard argument.
Actually, ORA has 12 programs that support it: OpenRaster - Wikipedia . The format’s current maintainer is Halla, I think, though we couldn’t make any changes without MyPaint or Gimp’s approval, so if there is anything crucial missing, we could try to add it. I was thinking of adding animation and maybe trying to make Kdenlive support it… And vector layers as .svg .
I just want to add that I don’t think it’s fair to shift the burden completely on krita here. Adobe could probably easily implement kra if they wanted to if enough people would demand it. And PSD is without question one of the worst formats for exchanging files with other software as many developers would agree (and as mentioned there is rarely any software with 100% compatibility).
At this point, I’d like to take a moment to speak to you about the Adobe PSD format.
PSD is not a good format. PSD is not even a bad format. Calling it such would be an
insult to other bad formats, such as PCX or JPEG. No, PSD is an abysmal format. Having
worked on this code for several weeks now, my hate for PSD has grown to a raging fire
that burns with the fierce passion of a million suns.
If there are two different ways of doing something, PSD will do both, in different
places. It will then make up three more ways no sane human would think of, and do those
too. PSD makes inconsistency an art form. Why, for instance, did it suddenly decide
that these particular chunks should be aligned to four bytes, and that this alignement
should not be included in the size? Other chunks in other places are either unaligned,
or aligned with the alignment included in the size. Here, though, it is not included.
Either one of these three behaviours would be fine. A sane format would pick one. PSD,
of course, uses all three, and more.
Trying to get data out of a PSD file is like trying to find something in the attic of
your eccentric old uncle who died in a freak freshwater shark attack on his 58th
birthday. That last detail may not be important for the purposes of the simile, but
at this point I am spending a lot of time imagining amusing fates for the people
responsible for this Rube Goldberg of a file format.
Earlier, I tried to get a hold of the latest specs for the PSD file format. To do this,
I had to apply to them for permission to apply to them to have them consider sending
me this sacred tome. This would have involved faxing them a copy of some document or
other, probably signed in blood. I can only imagine that they make this process so
difficult because they are intensely ashamed of having created this abomination. I
was naturally not gullible enough to go through with this procedure, but if I had done
so, I would have printed out every single page of the spec, and set them all on fire.
Were it within my power, I would gather every single copy of those specs, and launch
them on a spaceship directly into the sun.
PSD is not my favourite file format.
I and other developers nearly lost our minds working with this horrid mess of a file format and it’s totally reasonable to not waste time on this when there are other features in dire need (from an FOSS dev perspective). This doesn’t add much to the original question but I think it illustrates why there are issues in compatibility, not only in Krita but other programs too; issues that perhaps never get resolved.
ORA sounds great to me! I sincerely hope more apps will support it in the future. Thank you for being perceptive enough to recognize that what I actually wanted (need) is to be able to share layered files between apps. A lot of this discussion is around what ought to be (nothing wrong with that, it’s a good perspective), but I am here with needs that currently are.
At the outset I feared this was the reason, but because everyone including the user guide was telling me it could do things that clipping masks couldn’t, and it’s better in ___ ways, I was looking for those ways.
I’d like to reiterate again that, all this request is, is a request to be able to move layered files from Krita into other art apps without breaking all the clipping relationships. If I wanted to make it solely for my own uses, .Kra to .Clip would suffice. But I acknowledge that as things currently stand, PSD is the standard.
My inquiries into the inherit alpha system was just bottom-up examination of the problem, that’s all.
Maybe true and I understand your reasons but demanding every software to use psd format is not the way to change (just as it would be unreasonable to demand every software to support kra files). The only way to get open exchange formats as industy standards is by demanding them, not giving in to what’s there.
Not sure if it will help you at all, but have you thought about using transparency masks instead? You usually can create a transparency mask out of selection, and you can select all visible pixels from a layer. I know, a bit more work, but transparency masks are usually very shareable between programs and devices. (Though note that Krita by default uses non-pass-through groups, and groups in Photoshop and maybe CSP too are pass-through - but if you open a PSD file, it will have pass-through groups by default - just keep that setting in mind when working/sharing).
Also, you can ask CSP to support ORA. They won’t implement it if only one person asks, of course, but if more people asked, maybe they would eventually do that. It’s an easy format to support (nearly everything can read zip archives, everything can read PNG files…) so there is not that much dev time to lose.