I understand that BIP91 needs 269/336 signaled blocks.
My question is is it a rolling window of any 336 blocks or are there activation periods of 336 blocks that start and end at predetermined block numbers?
It looks like it is actually periods of 336 blocks instead of a rolling window. It is like what BIP 9 specifies, but uses 336 blocks as the window and 269 blocks as the threshold. The windows begin when a block's height is a multiple of 336.