Given that a computer must execute in a sequence, I assume the VM is also doing so before deciding the final block state. Let's say my contract calls an external function from another contract that gives the state of a storage variable in that function. Assume the VM executes the instructions from that contract updating that variable first. Will my call to this external variable on the new block represent the old state it was in at the current block (soon to be previous block) or will it represent the state it is in at the very moment the new block is being created?
Ie: Whether this occurs through broadcast order, execution order etc is irrelevant, I'm only interested to know in what block the state is read.