"""Design->galvo-tick direction matrices of MeerK40t 0.9.8100 balor View, generated from meerk40t.core.view.View.
Key (flip_x, flip_y, swap_xy, rotate_deg) -> 2x2 matrix M: galvo_delta = M @ design_delta (design x right, y down)."""
VIEW_MATRIX = {
    (False, False, False, 0): [[1, 0], [0, 1]],
    (False, False, False, 90): [[0, 1], [-1, 0]],
    (False, False, False, 180): [[-1, 0], [0, -1]],
    (False, False, False, 270): [[0, -1], [1, 0]],
    (False, False, True, 0): [[0, 1], [1, 0]],
    (False, False, True, 90): [[-1, 0], [0, 1]],
    (False, False, True, 180): [[0, -1], [-1, 0]],
    (False, False, True, 270): [[1, 0], [0, -1]],
    (False, True, False, 0): [[1, 0], [0, -1]],
    (False, True, False, 90): [[0, 1], [1, 0]],
    (False, True, False, 180): [[-1, 0], [0, 1]],
    (False, True, False, 270): [[0, -1], [-1, 0]],
    (False, True, True, 0): [[0, -1], [1, 0]],
    (False, True, True, 90): [[1, 0], [0, 1]],
    (False, True, True, 180): [[0, 1], [-1, 0]],
    (False, True, True, 270): [[-1, 0], [0, -1]],
    (True, False, False, 0): [[-1, 0], [0, 1]],
    (True, False, False, 90): [[0, -1], [-1, 0]],
    (True, False, False, 180): [[1, 0], [0, -1]],
    (True, False, False, 270): [[0, 1], [1, 0]],
    (True, False, True, 0): [[0, 1], [-1, 0]],
    (True, False, True, 90): [[-1, 0], [0, -1]],
    (True, False, True, 180): [[0, -1], [1, 0]],
    (True, False, True, 270): [[1, 0], [0, 1]],
    (True, True, False, 0): [[-1, 0], [0, -1]],
    (True, True, False, 90): [[0, -1], [1, 0]],
    (True, True, False, 180): [[1, 0], [0, 1]],
    (True, True, False, 270): [[0, 1], [-1, 0]],
    (True, True, True, 0): [[0, -1], [-1, 0]],
    (True, True, True, 90): [[1, 0], [0, -1]],
    (True, True, True, 180): [[0, 1], [1, 0]],
    (True, True, True, 270): [[-1, 0], [0, 1]],
}
