Interpolated hair curves clipping into mesh with unapplied subdivision modifier

Recently discovered something that ruins geonode hair for fur on animated characters, if a mesh has an unapplied subdivision modifier, interpolated hairs created by interpolate hair curves will clip into the mesh. This issue will disappear once the subdivision modifier is applied (unideal solution due to the fact that subdivided meshes are a PITA to modify)

From my understanding, this seems to just straight up be a technical issue/flaw with how the rest_pos attribute works and thus isn’t fixable from within geonodes. I hope this isn’t the case, since this absolutely ruins my ability to use geonode hair for animated characters.

Attached is a blend file which demonstrates this issue on a static suzanne model. You will notice bald spots which can’t be fixed by adding extra guide curves. Applying the subdiv modifier on suzanne will get rid of the bald spots.

Some solutions I’ve tried that DON’T work/are unideal:

  • Moving surface deform to the top of the hair curves modifier stack and unchecking ‘Surface Rest Position’ on interpolate hair curves node group

This only works for static characters that don’t deform. If used on a character with an armature or shapekeys which deform the surface of the mesh the curves are attached to, they will move positions and jitter.

  • Don’t use interpolate hair curves and instead add all hairs manually

I’m working on stuff with millions of hair strands. This will not work without interpolate hair curves where I can reduce the amount of strands at any point to improve viewport performance.

  • Apply the subdivision modifier

Already mentioned why this isn’t an ideal solution. Subdivided meshes are a PITA to modify after the fact, and is also impossible if your mesh uses shape keys since you cannot apply modifiers (easily) on meshes with shape keys.

Is there any other solutions I can try? This is a huge block for me to be able to work on stuff and I really hope this isn’t a technical issue where I have to stop working on my stuff and wait for a fix to be released.

SUZANNE fur groom clipping.blend (3.7 MB)

Any solution for this? It’s a huge problem for me right now as I cannot continue my work with this bug present.

Nearly two weeks of not being able to continue work. Has ANYONE got ANY idea? I’ve created an issue on the blender repo at developer.blender.org but have basically gotten zero response from anyone on the Blender team. It’s extremely frustrating.