The main problem is that Bullet 2 (2.82, to be specific - and perhaps Bullet 3 also has not tested it yet) handles edge collisions, generating distorted reaction normals.
Test Case 1: A small btBoxShape , located (0.9.0), vertically aligned, falls onto another box (also made from btBoxShape ), coordinated. Normal is calculated correctly, collision occurs only in the Y (vertical) axis. The box bounces slightly on the OY axis and stays around it.

Test case 2: a small box located (0.9.0), vertically aligned (the same) falls on another side face (this time made from btBvhTriangleMeshShape made from 2 coplanar triangles), also encoded. Normal is not calculated properly, collision occurs in all axes. The box bounces to the side, sometimes (depending on the specific collision coordinates) it is very noticeable.

Even hard coding of normal and recalculation of collision points based on it (see below) does not help.
//newNormal was set to hard-coded value of (0,-1,0) before cp.m_normalWorldOnB = colObj0Wrap -> getWorldTransform().getBasis() * newNormal; cp.m_positionWorldOnB = cp.m_positionWorldOnA - cp.m_normalWorldOnB * cp.m_distance1; cp.m_localPointB = colObj0Wrap -> getWorldTransform().invXform( cp.m_positionWorldOnB
NB using btAdjustInternalEdgeContacts does not help in any visible form, despite the correct configuration of tri info and the code check is done in order. Despite the fact that it works and gives some slight improvement in the reliability of modeling (albeit at a rather high cost of the processor), it still does not solve this problem.
The question arises: how to fix the case 2 behavior to match case 1. Any advice on how to avoid this situation (welcomes the kludges code), or why it doesn't work the way it should be welcomed.
Further link:
https://github.com/bulletphysics/bullet3/issues/92
http://www.bulletphysics.org/Bullet/phpBB3/viewtopic.php?f=9&t=8113
https://bullet.googlecode.com/files/GDC10_Coumans_Erwin_Contact.pdf
https://code.google.com/p/bullet/issues/detail?id=27
http://www.bulletphysics.org/Bullet/phpBB3/viewtopic.php?f=9&t=4603