How to get the face of a part by using a position?

I’ve been having trouble recently in a little self-imposed challenge.
I’ve been creating a system where a part dodges walls, and it works great with 0 rays; however I’ve realized there is an edge case where I need to be able to find what’s the current face given a position.

I haven’t found any solutions on the dev hub (that don’t use rays and work on meshes/unions)
but I’ve been using the new GetClosestPointOnSurface method, and I’m hoping that someone much smarter than I can, can calculate the face/normal based off a position.

I specifically need to do this so I can compare the face with a previous face, to then detect if they are on two different edges of a part.

I don’t really have any code to share, as all my attempts just don’t work out, but thank you for reading nonetheless!

Can’t you use .Orientation or LookVector possibly?