""" Sample data for testing Text Texture Generator functions. Provides common inputs like text samples, dimensions, and configurations. """ # Sample text data for testing SHORT_TEXT = "Hello World" LONG_TEXT = "This is a much longer piece of text that should wrap across multiple lines when constrained by width limits in the text processing system." MULTILINE_TEXT = "Line 1\nLine 2\nLine 3\nLine 4" EMPTY_TEXT = "" UNICODE_TEXT = "Hello δΈ–η•Œ 🌍 こんにけは" # Sample dimensions SMALL_DIMENSIONS = {"width": 100, "height": 100} STANDARD_DIMENSIONS = {"width": 512, "height": 512} LARGE_DIMENSIONS = {"width": 1024, "height": 1024} PORTRAIT_DIMENSIONS = {"width": 400, "height": 600} LANDSCAPE_DIMENSIONS = {"width": 800, "height": 400} # Sample font sizes FONT_SIZE_SMALL = 12 FONT_SIZE_MEDIUM = 24 FONT_SIZE_LARGE = 48 FONT_SIZE_XLARGE = 72 # Sample colors (RGBA format for Blender, 0-1 range) COLOR_WHITE = (1.0, 1.0, 1.0, 1.0) COLOR_BLACK = (0.0, 0.0, 0.0, 1.0) COLOR_RED = (1.0, 0.0, 0.0, 1.0) COLOR_BLUE = (0.0, 0.0, 1.0, 1.0) COLOR_TRANSPARENT = (0.0, 0.0, 0.0, 0.0) # Sample overlays for area calculations SAMPLE_OVERLAYS_EMPTY = [] SAMPLE_OVERLAYS_SINGLE = [ {'x': 50, 'y': 50, 'width': 100, 'height': 100} ] SAMPLE_OVERLAYS_MULTIPLE = [ {'x': 50, 'y': 50, 'width': 100, 'height': 100}, {'x': 200, 'y': 200, 'width': 80, 'height': 80}, {'x': 300, 'y': 100, 'width': 60, 'height': 120} ] # Sample text positions for overlap testing TEXT_POSITIONS_NO_OVERLAP = [ {'x': 0, 'y': 0, 'width': 100, 'height': 50}, {'x': 150, 'y': 0, 'width': 100, 'height': 50}, {'x': 0, 'y': 100, 'width': 100, 'height': 50} ] TEXT_POSITIONS_WITH_OVERLAP = [ {'x': 0, 'y': 0, 'width': 100, 'height': 50}, {'x': 50, 'y': 25, 'width': 100, 'height': 50}, # Overlaps first {'x': 200, 'y': 0, 'width': 100, 'height': 50} ] # Sample available areas AVAILABLE_AREA_SMALL = { 'x': 10, 'y': 10, 'width': 100, 'height': 50, 'area': 5000 } AVAILABLE_AREA_MEDIUM = { 'x': 50, 'y': 50, 'width': 200, 'height': 150, 'area': 30000 } AVAILABLE_AREA_LARGE = { 'x': 0, 'y': 0, 'width': 500, 'height': 400, 'area': 200000 } # Text alignment options TEXT_ALIGNMENTS = [ 'center', 'top-left', 'top-center', 'top-right', 'center-left', 'center-right', 'bottom-left', 'bottom-center', 'bottom-right' ] # Sample histogram data for rectangle calculations HISTOGRAM_SIMPLE = [3, 1, 3, 2, 2] HISTOGRAM_INCREASING = [1, 2, 3, 4, 5] HISTOGRAM_DECREASING = [5, 4, 3, 2, 1] HISTOGRAM_PYRAMID = [1, 2, 3, 4, 3, 2, 1] HISTOGRAM_ZERO_VALUES = [0, 0, 3, 3, 0, 0] # Text block layouts for optimization testing TEXT_BLOCKS_SIMPLE = [ {'x': 0, 'y': 0, 'width': 100, 'height': 50, 'text': 'Block 1'}, {'x': 200, 'y': 200, 'width': 80, 'height': 40, 'text': 'Block 2'} ] TEXT_BLOCKS_OVERLAPPING = [ {'x': 0, 'y': 0, 'width': 100, 'height': 100, 'text': 'Block 1'}, {'x': 50, 'y': 50, 'width': 100, 'height': 100, 'text': 'Block 2'}, {'x': 25, 'y': 25, 'width': 50, 'height': 50, 'text': 'Block 3'} ] # Font size constraints for testing FONT_CONSTRAINTS_NORMAL = { 'min_size': 8, 'max_size': 72, 'target_width': 200, 'target_height': 100 } FONT_CONSTRAINTS_TIGHT = { 'min_size': 8, 'max_size': 20, 'target_width': 50, 'target_height': 30 } FONT_CONSTRAINTS_LOOSE = { 'min_size': 20, 'max_size': 200, 'target_width': 800, 'target_height': 600 }