On the Subject of The Great Void

"I have to click SIX TIMES in ONE SECOND?!"

On the module, there is a rotating black sphere with six colored disks. Each disk has a number from 0 to 6 on it.

Identify the first face, which contains a symbol with an adjacent black dot. This black dot is face up for that face.

Next, identify the color and number of each face, in the order of the table below. Note that the dots represent face up.

2
5 1 4 6
3

On each face there is an encrypted number from 0-6. (leftmost = 0, rightmost = 6) 0123456

The colors on each face has its own number. In order, from 0 to 6, they are: Red, Green, Blue, Magenta, Yellow, Cyan, and White.

Using the number as the row and the color as the column, find your position in the center 7x7 table, where the top left is 0,0.

You need to obtain 3 digits for each face. The first is the position you are on.

The second is obtained by moving up 1, rotating <face number> times clockwise in 45 degree increments, then moving forward one. Sum both digits you crossed, subtracting 3 if greater than 2.

The third is the same process, starting from the last position of Digit 2, moving forward 1, rotating like in Digit 2, then moving forward 2, and summing all of the digits you moved onto, subtracting 3 until it is less than 3.

However, if you touch the edge at any point, you must 'bounce' off of it. If you hit it straight on, reverse your direction. If you hit it at an angle, reverse the direction by following the line's path, bouncing off of the table's edges. If you reach a gray space, teleport to the gray space on the other side of the grid, moving 1 space forward.

*Note: The table is on the next page.

1 1 0 0 0 1
0 1 0 1 1 1 0 0 2
1 0 0 2 1 1 2 2 1
2 2 1 1 2 2 1 1 0
0 1 0 2 1 0 0
0 1 1 1 2 0 2 0 1
1 0 1 0 0 1 1 1 2
2 0 0 2 1 1 1 1 0
1 1 2 0 1 2

Now that you have obtained all the digits for all 6 faces, we now need to reorder them.

If... Then...
1's symbol is greater than 4's, swap the digits of 2 and 3.
5's symbol is greater than 2's, swap the digits of 4 and 6.
3's symbol is greater than 6's, swap the digits of 5 and 1.
3 is red, cycle the digits 1 left (1 gets 2...).
6 is green, swap 1 and 6, 2 and 5, and 3 and 4.
1 is blue, swap 1 and 2, 3 and 4, and 5 and 6.

Join all faces in order together, replacing the first digit with a '1'. Use the table on the next page to convert your numbers into a sequence of [, ], and p's.

0 If there is not a 'p' directly before this, this is a 'p'.
Otherwise, if there is an unclosed '[' before this, this is a ']'.
Otherwise, this is a '['.
1 If there is are no unclosed '[' in the sequence, this is a '['.
Otherwise, this is a ']'.
2 If there is an unclosed '[' in the sequence, this is a ']'.
Otherwise, if there is a 'p' directly before this, this is a '['.
Otherwise, this is a 'p'.

If the sequence has an unclosed '[', add a ']' after it.

Input the final sequence. '[' means hold, ']' means release, and 'p' means waiting for a pulse. When you start inputting, the void will pulse white every second. Completing this input correctly will solve the module.