I've had troubles in the past with instance spinning when using "Align Euler to Vector" to align instances to face normals on deforming meshes. I have a setup that eliminates all spinning problems by aligning one Euler to the face normal (Z) and then also locking a second axis (X or Y) by aligning to a vector created from two of the vertices that make up the face. There is one major shortcoming of my setup that I need help with - currently I am manually stating the vertex indexes that form this second vector (nodes highlighted green). I want the vertex indexes to be automatically ascertained by somehow sampling the faces. I have a feeling I need to use the Corner-of-Face node but just can't figure it out.
Here is the blend file with the setup.
Take a look at the above blender file and you will see that on the single triangle the "spike" object is aligned to the face normal AND one the face edge between vertex 0 and vertex 1 - perfect! On the icosphere however things go wrong as they are all trying to align to verts 0 and 1 rather than two vertexes from each of the faces that spawn an instance. Automatically using the correct vertex indexes will provide a golden solution to instance spinning on deformed meshes.