Please dont take this out it's awesome because it opens up tons of possibilities. Also it dosent cause lag and its easy to erase unlike old commpresion.
personally, I don't see the point in removing this "bug" if that is what you want to call it. I have been here since the very begining of this version of powder and I played the original aswell, some people wont know what I am talking about. Seriously look at at this way, what is the point of removing it? I have seen many different saves that involve compression and not once has my powder toy lagged or crashed, I have a pretty bad mac book by the way. So if you do remove this "bug" actually lets call it an "unintended feature", then perhaps you should add a mixing mode similar to the one in OECAKE!. Just a thought.
I think this is an incredibly useful tool. not only would I reccomend keeping it, but i might even improve it in a way. perhaps prevent powders falling "out" or "from behind" solids, as this allows for "solid powders". this bug is useful in that it allows the combination of elements, creating useful "alloys" of different materials. also, it has a cap, to "decrease lagginess" as was the original reason for the bugfix. please do not remove this!
Lag was not the only reason to make stacked particles turn into BHOL.
The properties of the layered elements depend on the details of how various things are implemented in the source code, and as such are likely to change (possibly by accident) when the code changes. It is not an intentional feature, and so may not remain unchanged when new features are added or particularly messy parts of the code are rewritten.
Making the stacking check any more fine grained would require a significant amount of work, so isn't going to happen just yet (but may in the future, particularly if I ever get round to rewriting all the pmap stuff so that it copes better with multiple particles in the same place). For now, just don't be surprised if the layered elements suddenly behave in a different way and the "alloys" have different properties.
The post I linked to, nearly all of which also applies to small numbers of layers:
Nearly all bugs and exploits make maintainability an enormous pain, if all features of the exploit have to be kept intact.
Interactions between compressed particles, for example, depend on which update function the interaction occurs in. If stacked EMP is next to spark, all the EMP particles trigger because EMP checks for spark in its update function. However, if this was moved to the spark update function, then only a single stacked EMP particle would be triggered, not all of them. Why would we move it to the spark update function? Well, since EMP only interacts with spark, moving the interaction to the spark update function would allow the EMP update function to be removed, which should lead to an increase in speed in saves with EMP due to fewer functions being called.
Some of my other reasons for making stacked particles turn into BHOL, listed in the feedback thread, were:
They could be used to cause ridiculous amounts of lag, to make it hard to delete things, or to make it difficult to discover how a save works. Not to mention how much they offended my sense of physics...
jacob1:
I made this by removing the check that there isn't a particle already when drawing.
jacksonmj:
I'd like to remind everyone that it's not a good idea to rely on layered (a.k.a. stacked or compressed) particles continuing to behave the same way in future versions of Powder Toy. If you use them in saves, don't be surprised if one day the stuff in the save suddenly stops working. See https://powdertoy.co.uk/Discussions/Thread/View.html?Post=205718 for more details.
In most cases, there are adequate ways to achieve the same effect without relying on stacked particles.