Perspective: How can I reorder array elements **and maintain bindings**?

You can re-order by dragging array elements. As @jlandwerlen suggested, you need to click-hold to the right of the element you’d like to re-arrange. This will NOT bring the binding along. You can’t supply a binding base don arbitrary relative positions to change if the position changes.

When you set up a binding within an array, it’s defined in the schema as custom.my_array[x].some_key. dragging the element to a different position results in the binding pointing to the original position because the x in the binding has not changed. If you need to re-arrange array elements and update bindings, it sounds like you should actually be using an object because that array position apparently means something more specific than an index would suggest.

bays: {
    "one": {},
    "two": {},
    "three": {}
}

is more correct than

bays: [
    0: {},
    1: {},
    2: {}
]