- Edited
In short: just read the title.
What I have tried: I have a ball implemented as an Area2D because a KinematicBody2D can be stucked in some corner case, that happen frequently in my game. But I also need the collision normal. In another topic the complicated function "collides_end_get_contacts" works in some configuration but can easily brings segfault which is unacceptable. As instance, if a CollisionShape is not at pos 0 0. (thank you Godot local coordinates hell..) the returned array of points is empty despite the fact the collision happens. Of course I can make sure all Collision Shape are in 0, 0 but you can understand it is not the safest solution.
I search for something more safe to get the collision normal of every shape that enters my Area2D. The PhysicsServer is about 3D. I don't even know where is the 2D equivalent. I tried to find where KinematicBody2D gets collsion normal. But i'm lost in the source.
https://github.com/godotengine/godot/blob/3.2/scene/2d/physics_body_2d.cpp (where the hell the variable "normal" of KinematicCollision object is updated ?? )
Anyone can points me in the right direction ?