import numpy as np LEGO_COLORS_RGB = np.asarray( [ [244, 244, 244], # White [255, 250, 200], # Light Yellow [255, 236, 108], # Yellow [255, 167, 11], # Orange [217, 133, 108], # Light Salmon [207, 96, 36], # Dark Orange [238, 96, 85], # Red [218, 41, 28], # Dark Red [255, 148, 148], # Pink [255, 67, 106], # Dark Pink [205, 98, 152], # Magenta [228, 173, 200], # Light Purple [150, 112, 159], # Purple [17, 90, 150], # Dark Blue [0, 133, 184], # Blue [90, 177, 229], # Light Blue [52, 142, 64], # Dark Green [88, 171, 65], # Green [199, 210, 60], # Lime [183, 215, 213], # Light Turquoise [85, 165, 175], # Turquoise [142, 66, 41], # Brown [124, 92, 69], # Light Brown [108, 110, 104], # Dark Gray [155, 161, 157], # Gray [220, 220, 220], # Light Gray [0, 0, 0], # Black ] ) # fmt: off BLOCK_SIZES = [ [1, 1], [1, 2], [1, 3], [1, 4], [1, 6], [1, 8],[2, 1],[3, 1],[4, 1],[6, 1],[8, 1], [2, 2],[2, 3],[2, 4],[2, 6],[2, 8],[3, 2],[4, 2],[6, 2],[8, 2], ] # fmt: on # Sort array by area, largest first. BLOCK_SIZES.sort(key=lambda x: x[0] * x[1], reverse=True)