Does anybody know of any resources regarding the "jamming A through B" feature. I would be interested in anything regarding momentum/stress passing through the layers as well as any info about the resulting wound/contact areas. I have noticed several interesting outputs around this feature, including a case where the contact area actually increased when jamming a rib through a lung.
Another interesting development regarding this, is that I previously had the belief that a part could only be jammed into other parts "AROUND" it, by first defeating all the layers in that part. However, if you use the sniffer to examine the wounds on the jammed parts, you can see that they consistently don't take enough damage to actually defeat all the layers in the part being jammed. They consistently all take a little bit of cutting and denting damage. I haven't analyzed nearly enough situations to confidently make this claim, but the data is starting to suggest a cap on damage to the jammed part at ~20%.
One thing that does look pretty solid, is that in order to make a part jam into another part, you must at least qualify for the middle tier of material stress result. For example, if you are doing a blunt attack, then you at least need to be able to initiate a fracture in that rib, in order to get it to jam into the lung. At this point, the damage seems to always be converted to edge damage, but I wouldn't be surprised if I find some edge cases that take material properties into account. This is easy to see if you spend some time with wooden whips. Eventually you'll see a combat line, where the apparent damage to the internal body parts was treated just like it was extra tissue layers. This only happens because each layer was never technically defeated, only dented or bruised.
It also interesting to note that if you examine jammed parts in the the analyzer, then you can see what appear to be round-off errors on the strain. The strain is usually taken directly from the material properties, but for these cases you can see that there is an extra small component (0 < x < 10) that seems to be added. I have noticed this previously, but now I can see that it happens often in the jamming scenario. It isn't consistent, but may end up being consistent, if we can uncover the rule. Another explanation is that it might just be small bug in one branch of DF code. No user is supposed to see this data, and the "error" is small enough to be all but meaningless.
Currently working towards a description of when things are jammed (according to what rule). So far, I've been able to reproduce all the effects you have seen on this thread without using any random number generation. I've been pushing that as far back in the development as I can, for obvious reasons. However, that may very well be why I have been unable to describe the jamming condition.