Provide precise information on part to part collisions

As a Roblox developer, it is currently too hard to program gameplay/vfx features that rely on accurate collision information, we can easily know parts that are intersecting or touching, when they begin and end their collision but we never know where that collision happens, depending on how collisions are handled internally there must be some information that we developers can use, such as surfaces that touch/intersect with each other or maybe even a rough averaged point in space where the touch happens. Ideally we’d get all the tris/quads of both parts that intersect (maybe even a new userdata type that represents a surface?). At this point any kind of data would be better than having no clue on what kind of collision happened as physics shapes can be very complex.

If Roblox is able to address this issue, it would improve my development experience because I’d be able to code more precise gameplay mechanics utilizing physics collisions as the core. My current goal with this is to be able to detect which surfaces a players root is touching at any time. That combined with player input can make for a very smooth and reliable wall-running system with multiple directions.
This upgrade can also be used for sound/visual effects on part collisions as well as many other things that the creative community can make up.

I’m sure there’s some data during the physics step that is processed internally and later lost, It’d be very beneficial to us developers to get access to it through .Touched, GetTouchingParts or any other/additional events/functions to enhance our capabilities