nice work, tonfilm! i thought about that kind of solution when attempting to detect collisions between ODE-Geos and regular meshes.
this approach still fails to detect the proper normal when dealing with low-poly meshes like a box, where several vertices with radically different normals share the same distance to the intersection point.
i thought it would be possible to fix that by taking a number of the closest vertices (not just one), use the mesh indices to determine which 3 of these vertices belong to the same face, and take that normal - assuming that it would be the face we are intersecting. that approach fails because it is not certain that the vertices closest to the intersection point are those of the actual face we are intersecting, and i really don’t know how large the sample of vertices should be, as an arbitrary number of vertices might share the same position.
admitting that this is not really my top priority ;), any idea on how to solve that? or should i be looking forward to the Intersect (3d Mesh Subset Ray) node i see lurking in the changelog?