Let's represent integers with D digits where each digit has B values (i.e., the base is B and we effectively work only with integers between 1 and B^D). Is it possible to choose a single cyclic/repeating stream of B^D digits and D relative position "windows" (to look into that stream and filter out the digits we view) such that all integers come out?
As an example, for D=3 and B=3, the stream "1 2 1 2 3 3 1 1 2 3 1 1 3 2 3 2 1 2 2 2 1 2 1 3 3 3 3" with window positions at "1 11 18" generates the full range of integers exactly once per cycle (the first integer generated is 112, then 212, ...).
I'm actually looking for an answer for D=4 and B=4 if there is no general method.