It occurred to me that type 1 conflicts don't actually get marked in the current implementation, despite there being a function call that should be doing this.
The problem is that when mark_type_1_conflicts gets called here, the pos attribute of the node weights is not yet set, so it is still 0. The reset_alignment function, which to my knowledge is the only function that actually sets pos, is only called afterwards.
Type 1 conflicts not being marked does affect node positioning, so this is actually a problem.
Calling reset_alignment right before the call to mark_type_1_conflicts seems to fix the issue and should be safe as far as I can tell.
It occurred to me that type 1 conflicts don't actually get marked in the current implementation, despite there being a function call that should be doing this.
The problem is that when
mark_type_1_conflictsgets called here, theposattribute of the node weights is not yet set, so it is still 0. Thereset_alignmentfunction, which to my knowledge is the only function that actually setspos, is only called afterwards.Type 1 conflicts not being marked does affect node positioning, so this is actually a problem.
Calling
reset_alignmentright before the call tomark_type_1_conflictsseems to fix the issue and should be safe as far as I can tell.