Let’s see what Calibre do:
To my test, moving single entry works just like Sigil so no more repetition.
Let’s move multiple entries.
1. Continuous and same level:
Moves as if you move it one by one.
2. Non-continuous and same level:
Still, moves as if you move it one by one.
3. With sub level, select all and only entries within.
4. With sub level, select only parent entries
Works just like 3, and it auto select Sub-level entries for some reason. More movement show no difference with 3.
5. Here is the fun part:
This is caused by also moving entries one by one, but from bottom to top. If you move F, D, and B, you get the same result.
6. But if you select it continuously:
It moves like a single block.
And I will call it a day now, since I didn’t read the source code, does not know how it actually works. Mabe ask kovidgoyal for help.