gapVisibleIndex property

int gapVisibleIndex
final

Visible-order index of the resolved slot's leading edge: the make-room gap opens BEFORE the row at this index.

Derived from the resolved slot (parentKey + indexInFinalList), NOT from targetKey, so the previewed gap and the committed position cannot disagree. They differ whenever the resolved slot is not visually adjacent to the hovered row, which happens when a DropZoneResolver.canAcceptDrop veto or a cycle disables the below-on-expanded-parent rule over a row that has a visible subtree.

Valid range is [0, visibleNodeCount] INCLUSIVE. The terminal value means "after every visible row", which is the correct answer for appending at the very end.

Implementation

final int gapVisibleIndex;