The site wasn't checking if the entity started in bounds until after one instance of movement.
This way, if you slightly adjust where an object is, you won't need to hold alt the whole time. This also makes pressing alt reset this behavior, so if you hold alt, drag out of bounds, release alt, and then move, you won't be thrown back in-bounds.
Everything should be passing a list of entities to a function that computes a bounding box and fits things now.
The viewer would try to call updateEntityElement, but the entity would be deleted, causing an error.