I was able to repeat this and am working on a fix right now. Grasshopper’s trimmed surface → curve conversion routine extracts edges of the trimmed surface and joins them into a single curve. Grasshopper was calling an older version of join that used the active document’s tolerance and if no document exists uses a super tiny tolerance. I rewrote the DocumentTolerance()
function on component classes in Grasshopper to return a fixed tolerance of 0.001 when no Rhino document exists (headless).
I missed this case in the conversion routines and after changing this to use our headless mode fixed tolerance your hops component works with your sample definition.
Thanks!
This fix will be in 7.12 which we will start shipping release candidates for on Oct 12. If you need an internal build with this fix before then, please let me know.
edit: it looks like this version of the curve joining routine was used in several other locations in Grasshopper. I am updating these as well. This may fix other issues that you have been seeing for discrepancies while solving remote definitions.