///|
pub struct AtlasProfile {
name : String
max_width : Int
padding : Int
strategy : AtlasStrategy
objective : AtlasObjective
mobile : Bool
} derive(Debug, Eq, ToJson, FromJson)
///|
pub fn AtlasProfile::options(self : AtlasProfile) -> AtlasOptions {
{ max_width: self.max_width, padding: self.padding }
}
///|
pub fn AtlasProfile::recommend(
self : AtlasProfile,
sheet : SpriteSheet,
) -> AtlasCandidate {
let recommendation = recommend_atlas(
sheet,
max_width=self.max_width,
padding=self.padding,
objective=self.objective,
)
match recommendation.candidate_named(self.strategy) {
Some(candidate) => candidate
None => recommendation.best
}
}
///|
pub fn AtlasProfile::fits(self : AtlasProfile, sheet : SpriteSheet) -> Bool {
self.recommend(sheet).valid
}
///|
pub fn AtlasProfile::to_json_string(
self : AtlasProfile,
indent? : Int = 2,
) -> String {
self.to_json().stringify(indent~)
}
///|
pub fn atlas_profiles() -> Array[AtlasProfile] {
[
{
name: "atlas_1",
max_width: 512,
padding: 1,
strategy: CompactRows,
objective: MinimizeWidth,
mobile: false,
},
{
name: "atlas_2",
max_width: 768,
padding: 2,
strategy: PowerOfTwo,
objective: MaximizeOccupancy,
mobile: true,
},
{
name: "atlas_3",
max_width: 1024,
padding: 3,
strategy: Rows,
objective: Balanced,
mobile: false,
},
{
name: "atlas_4",
max_width: 1280,
padding: 4,
strategy: CompactRows,
objective: MinimizeArea,
mobile: true,
},
{
name: "atlas_5",
max_width: 1536,
padding: 0,
strategy: PowerOfTwo,
objective: MinimizeWidth,
mobile: false,
},
{
name: "atlas_6",
max_width: 1792,
padding: 1,
strategy: Rows,
objective: MaximizeOccupancy,
mobile: true,
},
{
name: "atlas_7",
max_width: 2048,
padding: 2,
strategy: CompactRows,
objective: Balanced,
mobile: false,
},
{
name: "atlas_8",
max_width: 2304,
padding: 3,
strategy: PowerOfTwo,
objective: MinimizeArea,
mobile: true,
},
{
name: "atlas_9",
max_width: 2560,
padding: 4,
strategy: Rows,
objective: MinimizeWidth,
mobile: false,
},
{
name: "atlas_10",
max_width: 2816,
padding: 0,
strategy: CompactRows,
objective: MaximizeOccupancy,
mobile: true,
},
{
name: "atlas_11",
max_width: 3072,
padding: 1,
strategy: PowerOfTwo,
objective: Balanced,
mobile: false,
},
{
name: "atlas_12",
max_width: 3328,
padding: 2,
strategy: Rows,
objective: MinimizeArea,
mobile: true,
},
{
name: "atlas_13",
max_width: 3584,
padding: 3,
strategy: CompactRows,
objective: MinimizeWidth,
mobile: false,
},
{
name: "atlas_14",
max_width: 3840,
padding: 4,
strategy: PowerOfTwo,
objective: MaximizeOccupancy,
mobile: true,
},
{
name: "atlas_15",
max_width: 4096,
padding: 0,
strategy: Rows,
objective: Balanced,
mobile: false,
},
{
name: "atlas_16",
max_width: 256,
padding: 1,
strategy: CompactRows,
objective: MinimizeArea,
mobile: true,
},
{
name: "atlas_17",
max_width: 512,
padding: 2,
strategy: PowerOfTwo,
objective: MinimizeWidth,
mobile: false,
},
{
name: "atlas_18",
max_width: 768,
padding: 3,
strategy: Rows,
objective: MaximizeOccupancy,
mobile: true,
},
{
name: "atlas_19",
max_width: 1024,
padding: 4,
strategy: CompactRows,
objective: Balanced,
mobile: false,
},
{
name: "atlas_20",
max_width: 1280,
padding: 0,
strategy: PowerOfTwo,
objective: MinimizeArea,
mobile: true,
},
{
name: "atlas_21",
max_width: 1536,
padding: 1,
strategy: Rows,
objective: MinimizeWidth,
mobile: false,
},
{
name: "atlas_22",
max_width: 1792,
padding: 2,
strategy: CompactRows,
objective: MaximizeOccupancy,
mobile: true,
},
{
name: "atlas_23",
max_width: 2048,
padding: 3,
strategy: PowerOfTwo,
objective: Balanced,
mobile: false,
},
{
name: "atlas_24",
max_width: 2304,
padding: 4,
strategy: Rows,
objective: MinimizeArea,
mobile: true,
},
{
name: "atlas_25",
max_width: 2560,
padding: 0,
strategy: CompactRows,
objective: MinimizeWidth,
mobile: false,
},
{
name: "atlas_26",
max_width: 2816,
padding: 1,
strategy: PowerOfTwo,
objective: MaximizeOccupancy,
mobile: true,
},
{
name: "atlas_27",
max_width: 3072,
padding: 2,
strategy: Rows,
objective: Balanced,
mobile: false,
},
{
name: "atlas_28",
max_width: 3328,
padding: 3,
strategy: CompactRows,
objective: MinimizeArea,
mobile: true,
},
{
name: "atlas_29",
max_width: 3584,
padding: 4,
strategy: PowerOfTwo,
objective: MinimizeWidth,
mobile: false,
},
{
name: "atlas_30",
max_width: 3840,
padding: 0,
strategy: Rows,
objective: MaximizeOccupancy,
mobile: true,
},
{
name: "atlas_31",
max_width: 4096,
padding: 1,
strategy: CompactRows,
objective: Balanced,
mobile: false,
},
{
name: "atlas_32",
max_width: 256,
padding: 2,
strategy: PowerOfTwo,
objective: MinimizeArea,
mobile: true,
},
{
name: "atlas_33",
max_width: 512,
padding: 3,
strategy: Rows,
objective: MinimizeWidth,
mobile: false,
},
{
name: "atlas_34",
max_width: 768,
padding: 4,
strategy: CompactRows,
objective: MaximizeOccupancy,
mobile: true,
},
{
name: "atlas_35",
max_width: 1024,
padding: 0,
strategy: PowerOfTwo,
objective: Balanced,
mobile: false,
},
{
name: "atlas_36",
max_width: 1280,
padding: 1,
strategy: Rows,
objective: MinimizeArea,
mobile: true,
},
{
name: "atlas_37",
max_width: 1536,
padding: 2,
strategy: CompactRows,
objective: MinimizeWidth,
mobile: false,
},
{
name: "atlas_38",
max_width: 1792,
padding: 3,
strategy: PowerOfTwo,
objective: MaximizeOccupancy,
mobile: true,
},
{
name: "atlas_39",
max_width: 2048,
padding: 4,
strategy: Rows,
objective: Balanced,
mobile: false,
},
{
name: "atlas_40",
max_width: 2304,
padding: 0,
strategy: CompactRows,
objective: MinimizeArea,
mobile: true,
},
{
name: "atlas_41",
max_width: 2560,
padding: 1,
strategy: PowerOfTwo,
objective: MinimizeWidth,
mobile: false,
},
{
name: "atlas_42",
max_width: 2816,
padding: 2,
strategy: Rows,
objective: MaximizeOccupancy,
mobile: true,
},
{
name: "atlas_43",
max_width: 3072,
padding: 3,
strategy: CompactRows,
objective: Balanced,
mobile: false,
},
{
name: "atlas_44",
max_width: 3328,
padding: 4,
strategy: PowerOfTwo,
objective: MinimizeArea,
mobile: true,
},
{
name: "atlas_45",
max_width: 3584,
padding: 0,
strategy: Rows,
objective: MinimizeWidth,
mobile: false,
},
{
name: "atlas_46",
max_width: 3840,
padding: 1,
strategy: CompactRows,
objective: MaximizeOccupancy,
mobile: true,
},
{
name: "atlas_47",
max_width: 4096,
padding: 2,
strategy: PowerOfTwo,
objective: Balanced,
mobile: false,
},
{
name: "atlas_48",
max_width: 256,
padding: 3,
strategy: Rows,
objective: MinimizeArea,
mobile: true,
},
{
name: "atlas_49",
max_width: 512,
padding: 4,
strategy: CompactRows,
objective: MinimizeWidth,
mobile: false,
},
{
name: "atlas_50",
max_width: 768,
padding: 0,
strategy: PowerOfTwo,
objective: MaximizeOccupancy,
mobile: true,
},
{
name: "atlas_51",
max_width: 1024,
padding: 1,
strategy: Rows,
objective: Balanced,
mobile: false,
},
{
name: "atlas_52",
max_width: 1280,
padding: 2,
strategy: CompactRows,
objective: MinimizeArea,
mobile: true,
},
{
name: "atlas_53",
max_width: 1536,
padding: 3,
strategy: PowerOfTwo,
objective: MinimizeWidth,
mobile: false,
},
{
name: "atlas_54",
max_width: 1792,
padding: 4,
strategy: Rows,
objective: MaximizeOccupancy,
mobile: true,
},
{
name: "atlas_55",
max_width: 2048,
padding: 0,
strategy: CompactRows,
objective: Balanced,
mobile: false,
},
{
name: "atlas_56",
max_width: 2304,
padding: 1,
strategy: PowerOfTwo,
objective: MinimizeArea,
mobile: true,
},
{
name: "atlas_57",
max_width: 2560,
padding: 2,
strategy: Rows,
objective: MinimizeWidth,
mobile: false,
},
{
name: "atlas_58",
max_width: 2816,
padding: 3,
strategy: CompactRows,
objective: MaximizeOccupancy,
mobile: true,
},
{
name: "atlas_59",
max_width: 3072,
padding: 4,
strategy: PowerOfTwo,
objective: Balanced,
mobile: false,
},
{
name: "atlas_60",
max_width: 3328,
padding: 0,
strategy: Rows,
objective: MinimizeArea,
mobile: true,
},
{
name: "atlas_61",
max_width: 3584,
padding: 1,
strategy: CompactRows,
objective: MinimizeWidth,
mobile: false,
},
{
name: "atlas_62",
max_width: 3840,
padding: 2,
strategy: PowerOfTwo,
objective: MaximizeOccupancy,
mobile: true,
},
{
name: "atlas_63",
max_width: 4096,
padding: 3,
strategy: Rows,
objective: Balanced,
mobile: false,
},
{
name: "atlas_64",
max_width: 256,
padding: 4,
strategy: CompactRows,
objective: MinimizeArea,
mobile: true,
},
{
name: "atlas_65",
max_width: 512,
padding: 0,
strategy: PowerOfTwo,
objective: MinimizeWidth,
mobile: false,
},
{
name: "atlas_66",
max_width: 768,
padding: 1,
strategy: Rows,
objective: MaximizeOccupancy,
mobile: true,
},
{
name: "atlas_67",
max_width: 1024,
padding: 2,
strategy: CompactRows,
objective: Balanced,
mobile: false,
},
{
name: "atlas_68",
max_width: 1280,
padding: 3,
strategy: PowerOfTwo,
objective: MinimizeArea,
mobile: true,
},
{
name: "atlas_69",
max_width: 1536,
padding: 4,
strategy: Rows,
objective: MinimizeWidth,
mobile: false,
},
{
name: "atlas_70",
max_width: 1792,
padding: 0,
strategy: CompactRows,
objective: MaximizeOccupancy,
mobile: true,
},
{
name: "atlas_71",
max_width: 2048,
padding: 1,
strategy: PowerOfTwo,
objective: Balanced,
mobile: false,
},
{
name: "atlas_72",
max_width: 2304,
padding: 2,
strategy: Rows,
objective: MinimizeArea,
mobile: true,
},
{
name: "atlas_73",
max_width: 2560,
padding: 3,
strategy: CompactRows,
objective: MinimizeWidth,
mobile: false,
},
{
name: "atlas_74",
max_width: 2816,
padding: 4,
strategy: PowerOfTwo,
objective: MaximizeOccupancy,
mobile: true,
},
{
name: "atlas_75",
max_width: 3072,
padding: 0,
strategy: Rows,
objective: Balanced,
mobile: false,
},
{
name: "atlas_76",
max_width: 3328,
padding: 1,
strategy: CompactRows,
objective: MinimizeArea,
mobile: true,
},
{
name: "atlas_77",
max_width: 3584,
padding: 2,
strategy: PowerOfTwo,
objective: MinimizeWidth,
mobile: false,
},
{
name: "atlas_78",
max_width: 3840,
padding: 3,
strategy: Rows,
objective: MaximizeOccupancy,
mobile: true,
},
{
name: "atlas_79",
max_width: 4096,
padding: 4,
strategy: CompactRows,
objective: Balanced,
mobile: false,
},
{
name: "atlas_80",
max_width: 256,
padding: 0,
strategy: PowerOfTwo,
objective: MinimizeArea,
mobile: true,
},
{
name: "atlas_81",
max_width: 512,
padding: 1,
strategy: Rows,
objective: MinimizeWidth,
mobile: false,
},
{
name: "atlas_82",
max_width: 768,
padding: 2,
strategy: CompactRows,
objective: MaximizeOccupancy,
mobile: true,
},
{
name: "atlas_83",
max_width: 1024,
padding: 3,
strategy: PowerOfTwo,
objective: Balanced,
mobile: false,
},
{
name: "atlas_84",
max_width: 1280,
padding: 4,
strategy: Rows,
objective: MinimizeArea,
mobile: true,
},
{
name: "atlas_85",
max_width: 1536,
padding: 0,
strategy: CompactRows,
objective: MinimizeWidth,
mobile: false,
},
{
name: "atlas_86",
max_width: 1792,
padding: 1,
strategy: PowerOfTwo,
objective: MaximizeOccupancy,
mobile: true,
},
{
name: "atlas_87",
max_width: 2048,
padding: 2,
strategy: Rows,
objective: Balanced,
mobile: false,
},
{
name: "atlas_88",
max_width: 2304,
padding: 3,
strategy: CompactRows,
objective: MinimizeArea,
mobile: true,
},
{
name: "atlas_89",
max_width: 2560,
padding: 4,
strategy: PowerOfTwo,
objective: MinimizeWidth,
mobile: false,
},
{
name: "atlas_90",
max_width: 2816,
padding: 0,
strategy: Rows,
objective: MaximizeOccupancy,
mobile: true,
},
{
name: "atlas_91",
max_width: 3072,
padding: 1,
strategy: CompactRows,
objective: Balanced,
mobile: false,
},
{
name: "atlas_92",
max_width: 3328,
padding: 2,
strategy: PowerOfTwo,
objective: MinimizeArea,
mobile: true,
},
{
name: "atlas_93",
max_width: 3584,
padding: 3,
strategy: Rows,
objective: MinimizeWidth,
mobile: false,
},
{
name: "atlas_94",
max_width: 3840,
padding: 4,
strategy: CompactRows,
objective: MaximizeOccupancy,
mobile: true,
},
{
name: "atlas_95",
max_width: 4096,
padding: 0,
strategy: PowerOfTwo,
objective: Balanced,
mobile: false,
},
{
name: "atlas_96",
max_width: 256,
padding: 1,
strategy: Rows,
objective: MinimizeArea,
mobile: true,
},
{
name: "atlas_97",
max_width: 512,
padding: 2,
strategy: CompactRows,
objective: MinimizeWidth,
mobile: false,
},
{
name: "atlas_98",
max_width: 768,
padding: 3,
strategy: PowerOfTwo,
objective: MaximizeOccupancy,
mobile: true,
},
{
name: "atlas_99",
max_width: 1024,
padding: 4,
strategy: Rows,
objective: Balanced,
mobile: false,
},
{
name: "atlas_100",
max_width: 1280,
padding: 0,
strategy: CompactRows,
objective: MinimizeArea,
mobile: true,
},
{
name: "atlas_101",
max_width: 1536,
padding: 1,
strategy: PowerOfTwo,
objective: MinimizeWidth,
mobile: false,
},
{
name: "atlas_102",
max_width: 1792,
padding: 2,
strategy: Rows,
objective: MaximizeOccupancy,
mobile: true,
},
{
name: "atlas_103",
max_width: 2048,
padding: 3,
strategy: CompactRows,
objective: Balanced,
mobile: false,
},
{
name: "atlas_104",
max_width: 2304,
padding: 4,
strategy: PowerOfTwo,
objective: MinimizeArea,
mobile: true,
},
{
name: "atlas_105",
max_width: 2560,
padding: 0,
strategy: Rows,
objective: MinimizeWidth,
mobile: false,
},
{
name: "atlas_106",
max_width: 2816,
padding: 1,
strategy: CompactRows,
objective: MaximizeOccupancy,
mobile: true,
},
{
name: "atlas_107",
max_width: 3072,
padding: 2,
strategy: PowerOfTwo,
objective: Balanced,
mobile: false,
},
{
name: "atlas_108",
max_width: 3328,
padding: 3,
strategy: Rows,
objective: MinimizeArea,
mobile: true,
},
{
name: "atlas_109",
max_width: 3584,
padding: 4,
strategy: CompactRows,
objective: MinimizeWidth,
mobile: false,
},
{
name: "atlas_110",
max_width: 3840,
padding: 0,
strategy: PowerOfTwo,
objective: MaximizeOccupancy,
mobile: true,
},
{
name: "atlas_111",
max_width: 4096,
padding: 1,
strategy: Rows,
objective: Balanced,
mobile: false,
},
{
name: "atlas_112",
max_width: 256,
padding: 2,
strategy: CompactRows,
objective: MinimizeArea,
mobile: true,
},
{
name: "atlas_113",
max_width: 512,
padding: 3,
strategy: PowerOfTwo,
objective: MinimizeWidth,
mobile: false,
},
{
name: "atlas_114",
max_width: 768,
padding: 4,
strategy: Rows,
objective: MaximizeOccupancy,
mobile: true,
},
{
name: "atlas_115",
max_width: 1024,
padding: 0,
strategy: CompactRows,
objective: Balanced,
mobile: false,
},
{
name: "atlas_116",
max_width: 1280,
padding: 1,
strategy: PowerOfTwo,
objective: MinimizeArea,
mobile: true,
},
{
name: "atlas_117",
max_width: 1536,
padding: 2,
strategy: Rows,
objective: MinimizeWidth,
mobile: false,
},
{
name: "atlas_118",
max_width: 1792,
padding: 3,
strategy: CompactRows,
objective: MaximizeOccupancy,
mobile: true,
},
{
name: "atlas_119",
max_width: 2048,
padding: 4,
strategy: PowerOfTwo,
objective: Balanced,
mobile: false,
},
{
name: "atlas_120",
max_width: 2304,
padding: 0,
strategy: Rows,
objective: MinimizeArea,
mobile: true,
},
{
name: "atlas_121",
max_width: 2560,
padding: 1,
strategy: CompactRows,
objective: MinimizeWidth,
mobile: false,
},
{
name: "atlas_122",
max_width: 2816,
padding: 2,
strategy: PowerOfTwo,
objective: MaximizeOccupancy,
mobile: true,
},
{
name: "atlas_123",
max_width: 3072,
padding: 3,
strategy: Rows,
objective: Balanced,
mobile: false,
},
{
name: "atlas_124",
max_width: 3328,
padding: 4,
strategy: CompactRows,
objective: MinimizeArea,
mobile: true,
},
{
name: "atlas_125",
max_width: 3584,
padding: 0,
strategy: PowerOfTwo,
objective: MinimizeWidth,
mobile: false,
},
{
name: "atlas_126",
max_width: 3840,
padding: 1,
strategy: Rows,
objective: MaximizeOccupancy,
mobile: true,
},
{
name: "atlas_127",
max_width: 4096,
padding: 2,
strategy: CompactRows,
objective: Balanced,
mobile: false,
},
{
name: "atlas_128",
max_width: 256,
padding: 3,
strategy: PowerOfTwo,
objective: MinimizeArea,
mobile: true,
},
{
name: "atlas_129",
max_width: 512,
padding: 4,
strategy: Rows,
objective: MinimizeWidth,
mobile: false,
},
{
name: "atlas_130",
max_width: 768,
padding: 0,
strategy: CompactRows,
objective: MaximizeOccupancy,
mobile: true,
},
{
name: "atlas_131",
max_width: 1024,
padding: 1,
strategy: PowerOfTwo,
objective: Balanced,
mobile: false,
},
{
name: "atlas_132",
max_width: 1280,
padding: 2,
strategy: Rows,
objective: MinimizeArea,
mobile: true,
},
{
name: "atlas_133",
max_width: 1536,
padding: 3,
strategy: CompactRows,
objective: MinimizeWidth,
mobile: false,
},
{
name: "atlas_134",
max_width: 1792,
padding: 4,
strategy: PowerOfTwo,
objective: MaximizeOccupancy,
mobile: true,
},
{
name: "atlas_135",
max_width: 2048,
padding: 0,
strategy: Rows,
objective: Balanced,
mobile: false,
},
{
name: "atlas_136",
max_width: 2304,
padding: 1,
strategy: CompactRows,
objective: MinimizeArea,
mobile: true,
},
{
name: "atlas_137",
max_width: 2560,
padding: 2,
strategy: PowerOfTwo,
objective: MinimizeWidth,
mobile: false,
},
{
name: "atlas_138",
max_width: 2816,
padding: 3,
strategy: Rows,
objective: MaximizeOccupancy,
mobile: true,
},
{
name: "atlas_139",
max_width: 3072,
padding: 4,
strategy: CompactRows,
objective: Balanced,
mobile: false,
},
{
name: "atlas_140",
max_width: 3328,
padding: 0,
strategy: PowerOfTwo,
objective: MinimizeArea,
mobile: true,
},
{
name: "atlas_141",
max_width: 3584,
padding: 1,
strategy: Rows,
objective: MinimizeWidth,
mobile: false,
},
{
name: "atlas_142",
max_width: 3840,
padding: 2,
strategy: CompactRows,
objective: MaximizeOccupancy,
mobile: true,
},
{
name: "atlas_143",
max_width: 4096,
padding: 3,
strategy: PowerOfTwo,
objective: Balanced,
mobile: false,
},
{
name: "atlas_144",
max_width: 256,
padding: 4,
strategy: Rows,
objective: MinimizeArea,
mobile: true,
},
{
name: "atlas_145",
max_width: 512,
padding: 0,
strategy: CompactRows,
objective: MinimizeWidth,
mobile: false,
},
{
name: "atlas_146",
max_width: 768,
padding: 1,
strategy: PowerOfTwo,
objective: MaximizeOccupancy,
mobile: true,
},
{
name: "atlas_147",
max_width: 1024,
padding: 2,
strategy: Rows,
objective: Balanced,
mobile: false,
},
{
name: "atlas_148",
max_width: 1280,
padding: 3,
strategy: CompactRows,
objective: MinimizeArea,
mobile: true,
},
{
name: "atlas_149",
max_width: 1536,
padding: 4,
strategy: PowerOfTwo,
objective: MinimizeWidth,
mobile: false,
},
{
name: "atlas_150",
max_width: 1792,
padding: 0,
strategy: Rows,
objective: MaximizeOccupancy,
mobile: true,
},
{
name: "atlas_151",
max_width: 2048,
padding: 1,
strategy: CompactRows,
objective: Balanced,
mobile: false,
},
{
name: "atlas_152",
max_width: 2304,
padding: 2,
strategy: PowerOfTwo,
objective: MinimizeArea,
mobile: true,
},
{
name: "atlas_153",
max_width: 2560,
padding: 3,
strategy: Rows,
objective: MinimizeWidth,
mobile: false,
},
{
name: "atlas_154",
max_width: 2816,
padding: 4,
strategy: CompactRows,
objective: MaximizeOccupancy,
mobile: true,
},
{
name: "atlas_155",
max_width: 3072,
padding: 0,
strategy: PowerOfTwo,
objective: Balanced,
mobile: false,
},
{
name: "atlas_156",
max_width: 3328,
padding: 1,
strategy: Rows,
objective: MinimizeArea,
mobile: true,
},
{
name: "atlas_157",
max_width: 3584,
padding: 2,
strategy: CompactRows,
objective: MinimizeWidth,
mobile: false,
},
{
name: "atlas_158",
max_width: 3840,
padding: 3,
strategy: PowerOfTwo,
objective: MaximizeOccupancy,
mobile: true,
},
{
name: "atlas_159",
max_width: 4096,
padding: 4,
strategy: Rows,
objective: Balanced,
mobile: false,
},
{
name: "atlas_160",
max_width: 256,
padding: 0,
strategy: CompactRows,
objective: MinimizeArea,
mobile: true,
},
{
name: "atlas_161",
max_width: 512,
padding: 1,
strategy: PowerOfTwo,
objective: MinimizeWidth,
mobile: false,
},
{
name: "atlas_162",
max_width: 768,
padding: 2,
strategy: Rows,
objective: MaximizeOccupancy,
mobile: true,
},
{
name: "atlas_163",
max_width: 1024,
padding: 3,
strategy: CompactRows,
objective: Balanced,
mobile: false,
},
{
name: "atlas_164",
max_width: 1280,
padding: 4,
strategy: PowerOfTwo,
objective: MinimizeArea,
mobile: true,
},
{
name: "atlas_165",
max_width: 1536,
padding: 0,
strategy: Rows,
objective: MinimizeWidth,
mobile: false,
},
{
name: "atlas_166",
max_width: 1792,
padding: 1,
strategy: CompactRows,
objective: MaximizeOccupancy,
mobile: true,
},
{
name: "atlas_167",
max_width: 2048,
padding: 2,
strategy: PowerOfTwo,
objective: Balanced,
mobile: false,
},
{
name: "atlas_168",
max_width: 2304,
padding: 3,
strategy: Rows,
objective: MinimizeArea,
mobile: true,
},
{
name: "atlas_169",
max_width: 2560,
padding: 4,
strategy: CompactRows,
objective: MinimizeWidth,
mobile: false,
},
{
name: "atlas_170",
max_width: 2816,
padding: 0,
strategy: PowerOfTwo,
objective: MaximizeOccupancy,
mobile: true,
},
{
name: "atlas_171",
max_width: 3072,
padding: 1,
strategy: Rows,
objective: Balanced,
mobile: false,
},
{
name: "atlas_172",
max_width: 3328,
padding: 2,
strategy: CompactRows,
objective: MinimizeArea,
mobile: true,
},
{
name: "atlas_173",
max_width: 3584,
padding: 3,
strategy: PowerOfTwo,
objective: MinimizeWidth,
mobile: false,
},
{
name: "atlas_174",
max_width: 3840,
padding: 4,
strategy: Rows,
objective: MaximizeOccupancy,
mobile: true,
},
{
name: "atlas_175",
max_width: 4096,
padding: 0,
strategy: CompactRows,
objective: Balanced,
mobile: false,
},
{
name: "atlas_176",
max_width: 256,
padding: 1,
strategy: PowerOfTwo,
objective: MinimizeArea,
mobile: true,
},
{
name: "atlas_177",
max_width: 512,
padding: 2,
strategy: Rows,
objective: MinimizeWidth,
mobile: false,
},
{
name: "atlas_178",
max_width: 768,
padding: 3,
strategy: CompactRows,
objective: MaximizeOccupancy,
mobile: true,
},
{
name: "atlas_179",
max_width: 1024,
padding: 4,
strategy: PowerOfTwo,
objective: Balanced,
mobile: false,
},
{
name: "atlas_180",
max_width: 1280,
padding: 0,
strategy: Rows,
objective: MinimizeArea,
mobile: true,
},
{
name: "atlas_181",
max_width: 1536,
padding: 1,
strategy: CompactRows,
objective: MinimizeWidth,
mobile: false,
},
{
name: "atlas_182",
max_width: 1792,
padding: 2,
strategy: PowerOfTwo,
objective: MaximizeOccupancy,
mobile: true,
},
{
name: "atlas_183",
max_width: 2048,
padding: 3,
strategy: Rows,
objective: Balanced,
mobile: false,
},
{
name: "atlas_184",
max_width: 2304,
padding: 4,
strategy: CompactRows,
objective: MinimizeArea,
mobile: true,
},
{
name: "atlas_185",
max_width: 2560,
padding: 0,
strategy: PowerOfTwo,
objective: MinimizeWidth,
mobile: false,
},
{
name: "atlas_186",
max_width: 2816,
padding: 1,
strategy: Rows,
objective: MaximizeOccupancy,
mobile: true,
},
{
name: "atlas_187",
max_width: 3072,
padding: 2,
strategy: CompactRows,
objective: Balanced,
mobile: false,
},
{
name: "atlas_188",
max_width: 3328,
padding: 3,
strategy: PowerOfTwo,
objective: MinimizeArea,
mobile: true,
},
{
name: "atlas_189",
max_width: 3584,
padding: 4,
strategy: Rows,
objective: MinimizeWidth,
mobile: false,
},
{
name: "atlas_190",
max_width: 3840,
padding: 0,
strategy: CompactRows,
objective: MaximizeOccupancy,
mobile: true,
},
{
name: "atlas_191",
max_width: 4096,
padding: 1,
strategy: PowerOfTwo,
objective: Balanced,
mobile: false,
},
{
name: "atlas_192",
max_width: 256,
padding: 2,
strategy: Rows,
objective: MinimizeArea,
mobile: true,
},
{
name: "atlas_193",
max_width: 512,
padding: 3,
strategy: CompactRows,
objective: MinimizeWidth,
mobile: false,
},
{
name: "atlas_194",
max_width: 768,
padding: 4,
strategy: PowerOfTwo,
objective: MaximizeOccupancy,
mobile: true,
},
{
name: "atlas_195",
max_width: 1024,
padding: 0,
strategy: Rows,
objective: Balanced,
mobile: false,
},
{
name: "atlas_196",
max_width: 1280,
padding: 1,
strategy: CompactRows,
objective: MinimizeArea,
mobile: true,
},
{
name: "atlas_197",
max_width: 1536,
padding: 2,
strategy: PowerOfTwo,
objective: MinimizeWidth,
mobile: false,
},
{
name: "atlas_198",
max_width: 1792,
padding: 3,
strategy: Rows,
objective: MaximizeOccupancy,
mobile: true,
},
{
name: "atlas_199",
max_width: 2048,
padding: 4,
strategy: CompactRows,
objective: Balanced,
mobile: false,
},
{
name: "atlas_200",
max_width: 2304,
padding: 0,
strategy: PowerOfTwo,
objective: MinimizeArea,
mobile: true,
},
{
name: "atlas_201",
max_width: 2560,
padding: 1,
strategy: Rows,
objective: MinimizeWidth,
mobile: false,
},
{
name: "atlas_202",
max_width: 2816,
padding: 2,
strategy: CompactRows,
objective: MaximizeOccupancy,
mobile: true,
},
{
name: "atlas_203",
max_width: 3072,
padding: 3,
strategy: PowerOfTwo,
objective: Balanced,
mobile: false,
},
{
name: "atlas_204",
max_width: 3328,
padding: 4,
strategy: Rows,
objective: MinimizeArea,
mobile: true,
},
{
name: "atlas_205",
max_width: 3584,
padding: 0,
strategy: CompactRows,
objective: MinimizeWidth,
mobile: false,
},
{
name: "atlas_206",
max_width: 3840,
padding: 1,
strategy: PowerOfTwo,
objective: MaximizeOccupancy,
mobile: true,
},
{
name: "atlas_207",
max_width: 4096,
padding: 2,
strategy: Rows,
objective: Balanced,
mobile: false,
},
{
name: "atlas_208",
max_width: 256,
padding: 3,
strategy: CompactRows,
objective: MinimizeArea,
mobile: true,
},
{
name: "atlas_209",
max_width: 512,
padding: 4,
strategy: PowerOfTwo,
objective: MinimizeWidth,
mobile: false,
},
{
name: "atlas_210",
max_width: 768,
padding: 0,
strategy: Rows,
objective: MaximizeOccupancy,
mobile: true,
},
{
name: "atlas_211",
max_width: 1024,
padding: 1,
strategy: CompactRows,
objective: Balanced,
mobile: false,
},
{
name: "atlas_212",
max_width: 1280,
padding: 2,
strategy: PowerOfTwo,
objective: MinimizeArea,
mobile: true,
},
{
name: "atlas_213",
max_width: 1536,
padding: 3,
strategy: Rows,
objective: MinimizeWidth,
mobile: false,
},
{
name: "atlas_214",
max_width: 1792,
padding: 4,
strategy: CompactRows,
objective: MaximizeOccupancy,
mobile: true,
},
{
name: "atlas_215",
max_width: 2048,
padding: 0,
strategy: PowerOfTwo,
objective: Balanced,
mobile: false,
},
{
name: "atlas_216",
max_width: 2304,
padding: 1,
strategy: Rows,
objective: MinimizeArea,
mobile: true,
},
{
name: "atlas_217",
max_width: 2560,
padding: 2,
strategy: CompactRows,
objective: MinimizeWidth,
mobile: false,
},
{
name: "atlas_218",
max_width: 2816,
padding: 3,
strategy: PowerOfTwo,
objective: MaximizeOccupancy,
mobile: true,
},
{
name: "atlas_219",
max_width: 3072,
padding: 4,
strategy: Rows,
objective: Balanced,
mobile: false,
},
{
name: "atlas_220",
max_width: 3328,
padding: 0,
strategy: CompactRows,
objective: MinimizeArea,
mobile: true,
},
{
name: "atlas_221",
max_width: 3584,
padding: 1,
strategy: PowerOfTwo,
objective: MinimizeWidth,
mobile: false,
},
{
name: "atlas_222",
max_width: 3840,
padding: 2,
strategy: Rows,
objective: MaximizeOccupancy,
mobile: true,
},
{
name: "atlas_223",
max_width: 4096,
padding: 3,
strategy: CompactRows,
objective: Balanced,
mobile: false,
},
{
name: "atlas_224",
max_width: 256,
padding: 4,
strategy: PowerOfTwo,
objective: MinimizeArea,
mobile: true,
},
{
name: "atlas_225",
max_width: 512,
padding: 0,
strategy: Rows,
objective: MinimizeWidth,
mobile: false,
},
{
name: "atlas_226",
max_width: 768,
padding: 1,
strategy: CompactRows,
objective: MaximizeOccupancy,
mobile: true,
},
{
name: "atlas_227",
max_width: 1024,
padding: 2,
strategy: PowerOfTwo,
objective: Balanced,
mobile: false,
},
{
name: "atlas_228",
max_width: 1280,
padding: 3,
strategy: Rows,
objective: MinimizeArea,
mobile: true,
},
{
name: "atlas_229",
max_width: 1536,
padding: 4,
strategy: CompactRows,
objective: MinimizeWidth,
mobile: false,
},
{
name: "atlas_230",
max_width: 1792,
padding: 0,
strategy: PowerOfTwo,
objective: MaximizeOccupancy,
mobile: true,
},
{
name: "atlas_231",
max_width: 2048,
padding: 1,
strategy: Rows,
objective: Balanced,
mobile: false,
},
{
name: "atlas_232",
max_width: 2304,
padding: 2,
strategy: CompactRows,
objective: MinimizeArea,
mobile: true,
},
{
name: "atlas_233",
max_width: 2560,
padding: 3,
strategy: PowerOfTwo,
objective: MinimizeWidth,
mobile: false,
},
{
name: "atlas_234",
max_width: 2816,
padding: 4,
strategy: Rows,
objective: MaximizeOccupancy,
mobile: true,
},
{
name: "atlas_235",
max_width: 3072,
padding: 0,
strategy: CompactRows,
objective: Balanced,
mobile: false,
},
{
name: "atlas_236",
max_width: 3328,
padding: 1,
strategy: PowerOfTwo,
objective: MinimizeArea,
mobile: true,
},
{
name: "atlas_237",
max_width: 3584,
padding: 2,
strategy: Rows,
objective: MinimizeWidth,
mobile: false,
},
{
name: "atlas_238",
max_width: 3840,
padding: 3,
strategy: CompactRows,
objective: MaximizeOccupancy,
mobile: true,
},
{
name: "atlas_239",
max_width: 4096,
padding: 4,
strategy: PowerOfTwo,
objective: Balanced,
mobile: false,
},
{
name: "atlas_240",
max_width: 256,
padding: 0,
strategy: Rows,
objective: MinimizeArea,
mobile: true,
},
{
name: "atlas_241",
max_width: 512,
padding: 1,
strategy: CompactRows,
objective: MinimizeWidth,
mobile: false,
},
{
name: "atlas_242",
max_width: 768,
padding: 2,
strategy: PowerOfTwo,
objective: MaximizeOccupancy,
mobile: true,
},
{
name: "atlas_243",
max_width: 1024,
padding: 3,
strategy: Rows,
objective: Balanced,
mobile: false,
},
{
name: "atlas_244",
max_width: 1280,
padding: 4,
strategy: CompactRows,
objective: MinimizeArea,
mobile: true,
},
{
name: "atlas_245",
max_width: 1536,
padding: 0,
strategy: PowerOfTwo,
objective: MinimizeWidth,
mobile: false,
},
{
name: "atlas_246",
max_width: 1792,
padding: 1,
strategy: Rows,
objective: MaximizeOccupancy,
mobile: true,
},
{
name: "atlas_247",
max_width: 2048,
padding: 2,
strategy: CompactRows,
objective: Balanced,
mobile: false,
},
{
name: "atlas_248",
max_width: 2304,
padding: 3,
strategy: PowerOfTwo,
objective: MinimizeArea,
mobile: true,
},
{
name: "atlas_249",
max_width: 2560,
padding: 4,
strategy: Rows,
objective: MinimizeWidth,
mobile: false,
},
{
name: "atlas_250",
max_width: 2816,
padding: 0,
strategy: CompactRows,
objective: MaximizeOccupancy,
mobile: true,
},
{
name: "atlas_251",
max_width: 3072,
padding: 1,
strategy: PowerOfTwo,
objective: Balanced,
mobile: false,
},
{
name: "atlas_252",
max_width: 3328,
padding: 2,
strategy: Rows,
objective: MinimizeArea,
mobile: true,
},
{
name: "atlas_253",
max_width: 3584,
padding: 3,
strategy: CompactRows,
objective: MinimizeWidth,
mobile: false,
},
{
name: "atlas_254",
max_width: 3840,
padding: 4,
strategy: PowerOfTwo,
objective: MaximizeOccupancy,
mobile: true,
},
{
name: "atlas_255",
max_width: 4096,
padding: 0,
strategy: Rows,
objective: Balanced,
mobile: false,
},
{
name: "atlas_256",
max_width: 256,
padding: 1,
strategy: CompactRows,
objective: MinimizeArea,
mobile: true,
},
{
name: "atlas_257",
max_width: 512,
padding: 2,
strategy: PowerOfTwo,
objective: MinimizeWidth,
mobile: false,
},
{
name: "atlas_258",
max_width: 768,
padding: 3,
strategy: Rows,
objective: MaximizeOccupancy,
mobile: true,
},
{
name: "atlas_259",
max_width: 1024,
padding: 4,
strategy: CompactRows,
objective: Balanced,
mobile: false,
},
{
name: "atlas_260",
max_width: 1280,
padding: 0,
strategy: PowerOfTwo,
objective: MinimizeArea,
mobile: true,
},
{
name: "atlas_261",
max_width: 1536,
padding: 1,
strategy: Rows,
objective: MinimizeWidth,
mobile: false,
},
{
name: "atlas_262",
max_width: 1792,
padding: 2,
strategy: CompactRows,
objective: MaximizeOccupancy,
mobile: true,
},
{
name: "atlas_263",
max_width: 2048,
padding: 3,
strategy: PowerOfTwo,
objective: Balanced,
mobile: false,
},
{
name: "atlas_264",
max_width: 2304,
padding: 4,
strategy: Rows,
objective: MinimizeArea,
mobile: true,
},
{
name: "atlas_265",
max_width: 2560,
padding: 0,
strategy: CompactRows,
objective: MinimizeWidth,
mobile: false,
},
{
name: "atlas_266",
max_width: 2816,
padding: 1,
strategy: PowerOfTwo,
objective: MaximizeOccupancy,
mobile: true,
},
{
name: "atlas_267",
max_width: 3072,
padding: 2,
strategy: Rows,
objective: Balanced,
mobile: false,
},
{
name: "atlas_268",
max_width: 3328,
padding: 3,
strategy: CompactRows,
objective: MinimizeArea,
mobile: true,
},
{
name: "atlas_269",
max_width: 3584,
padding: 4,
strategy: PowerOfTwo,
objective: MinimizeWidth,
mobile: false,
},
{
name: "atlas_270",
max_width: 3840,
padding: 0,
strategy: Rows,
objective: MaximizeOccupancy,
mobile: true,
},
{
name: "atlas_271",
max_width: 4096,
padding: 1,
strategy: CompactRows,
objective: Balanced,
mobile: false,
},
{
name: "atlas_272",
max_width: 256,
padding: 2,
strategy: PowerOfTwo,
objective: MinimizeArea,
mobile: true,
},
{
name: "atlas_273",
max_width: 512,
padding: 3,
strategy: Rows,
objective: MinimizeWidth,
mobile: false,
},
{
name: "atlas_274",
max_width: 768,
padding: 4,
strategy: CompactRows,
objective: MaximizeOccupancy,
mobile: true,
},
{
name: "atlas_275",
max_width: 1024,
padding: 0,
strategy: PowerOfTwo,
objective: Balanced,
mobile: false,
},
{
name: "atlas_276",
max_width: 1280,
padding: 1,
strategy: Rows,
objective: MinimizeArea,
mobile: true,
},
{
name: "atlas_277",
max_width: 1536,
padding: 2,
strategy: CompactRows,
objective: MinimizeWidth,
mobile: false,
},
{
name: "atlas_278",
max_width: 1792,
padding: 3,
strategy: PowerOfTwo,
objective: MaximizeOccupancy,
mobile: true,
},
{
name: "atlas_279",
max_width: 2048,
padding: 4,
strategy: Rows,
objective: Balanced,
mobile: false,
},
{
name: "atlas_280",
max_width: 2304,
padding: 0,
strategy: CompactRows,
objective: MinimizeArea,
mobile: true,
},
{
name: "atlas_281",
max_width: 2560,
padding: 1,
strategy: PowerOfTwo,
objective: MinimizeWidth,
mobile: false,
},
{
name: "atlas_282",
max_width: 2816,
padding: 2,
strategy: Rows,
objective: MaximizeOccupancy,
mobile: true,
},
{
name: "atlas_283",
max_width: 3072,
padding: 3,
strategy: CompactRows,
objective: Balanced,
mobile: false,
},
{
name: "atlas_284",
max_width: 3328,
padding: 4,
strategy: PowerOfTwo,
objective: MinimizeArea,
mobile: true,
},
{
name: "atlas_285",
max_width: 3584,
padding: 0,
strategy: Rows,
objective: MinimizeWidth,
mobile: false,
},
{
name: "atlas_286",
max_width: 3840,
padding: 1,
strategy: CompactRows,
objective: MaximizeOccupancy,
mobile: true,
},
{
name: "atlas_287",
max_width: 4096,
padding: 2,
strategy: PowerOfTwo,
objective: Balanced,
mobile: false,
},
{
name: "atlas_288",
max_width: 256,
padding: 3,
strategy: Rows,
objective: MinimizeArea,
mobile: true,
},
{
name: "atlas_289",
max_width: 512,
padding: 4,
strategy: CompactRows,
objective: MinimizeWidth,
mobile: false,
},
{
name: "atlas_290",
max_width: 768,
padding: 0,
strategy: PowerOfTwo,
objective: MaximizeOccupancy,
mobile: true,
},
{
name: "atlas_291",
max_width: 1024,
padding: 1,
strategy: Rows,
objective: Balanced,
mobile: false,
},
{
name: "atlas_292",
max_width: 1280,
padding: 2,
strategy: CompactRows,
objective: MinimizeArea,
mobile: true,
},
{
name: "atlas_293",
max_width: 1536,
padding: 3,
strategy: PowerOfTwo,
objective: MinimizeWidth,
mobile: false,
},
{
name: "atlas_294",
max_width: 1792,
padding: 4,
strategy: Rows,
objective: MaximizeOccupancy,
mobile: true,
},
{
name: "atlas_295",
max_width: 2048,
padding: 0,
strategy: CompactRows,
objective: Balanced,
mobile: false,
},
{
name: "atlas_296",
max_width: 2304,
padding: 1,
strategy: PowerOfTwo,
objective: MinimizeArea,
mobile: true,
},
{
name: "atlas_297",
max_width: 2560,
padding: 2,
strategy: Rows,
objective: MinimizeWidth,
mobile: false,
},
{
name: "atlas_298",
max_width: 2816,
padding: 3,
strategy: CompactRows,
objective: MaximizeOccupancy,
mobile: true,
},
{
name: "atlas_299",
max_width: 3072,
padding: 4,
strategy: PowerOfTwo,
objective: Balanced,
mobile: false,
},
{
name: "atlas_300",
max_width: 3328,
padding: 0,
strategy: Rows,
objective: MinimizeArea,
mobile: true,
},
]
}
///|
pub fn atlas_profile_named(name : String) -> AtlasProfile? {
match atlas_profiles().search_by(fn(profile) { profile.name == name }) {
Some(index) => Some(atlas_profiles()[index])
None => None
}
}
///|
pub fn mobile_atlas_profiles() -> Array[AtlasProfile] {
atlas_profiles().filter(fn(profile) { profile.mobile })
}
///|
pub fn atlas_profile_count() -> Int {
atlas_profiles().length()
}
///|
pub fn atlas_profile_names() -> Array[String] {
atlas_profiles().map(fn(profile) { profile.name })
}
///|
pub fn best_atlas_profile(sheet : SpriteSheet, mobile : Bool) -> AtlasProfile? {
let profiles = atlas_profiles().filter(fn(profile) {
profile.mobile == mobile && profile.fits(sheet)
})
profiles.get(0)
}