Spaces:
Runtime error
Runtime error
| export type RegionType = | |
| | "PRIMARY_FOCAL_REGION" | |
| | "SECONDARY_FOCAL_REGION" | |
| | "ENVIRONMENT_REGION" | |
| | "LOWER_ANCHOR_REGION" | |
| | "LEFT_EDGE_FLOW_REGION" | |
| | "RIGHT_EDGE_FLOW_REGION" | |
| | "TEXT_REGION" | |
| | "LOGO_REGION"; | |
| export type CropStrategy = | |
| | "centered_focal" | |
| | "wide_dramatic" | |
| | "vertical_texture" | |
| | "upper_continuation" | |
| | "dark_texture" | |
| | "lower_anchor" | |
| | "texture_band"; | |
| export type HoodiePieceRule = { | |
| pieceId: string; | |
| preferredRegions: RegionType[]; | |
| forbiddenRegions: RegionType[]; | |
| allowText: boolean; | |
| allowFace: boolean; | |
| allowLogo: boolean; | |
| avoidSeams: boolean; | |
| avoidBleed: boolean; | |
| avoidPocketOverlap: boolean; | |
| cropStrategy: CropStrategy; | |
| minSafePaddingPercent: number; | |
| uniquenessRequired: boolean; | |
| qualityWeight: number; | |
| }; | |
| export const AOP_HOODIE_MAPPING_RULES: HoodiePieceRule[] = [ | |
| { | |
| pieceId: "front_body", | |
| preferredRegions: ["PRIMARY_FOCAL_REGION"], | |
| forbiddenRegions: [], | |
| allowText: true, | |
| allowFace: true, | |
| allowLogo: true, | |
| avoidSeams: true, | |
| avoidBleed: true, | |
| avoidPocketOverlap: true, | |
| cropStrategy: "centered_focal", | |
| minSafePaddingPercent: 12, | |
| uniquenessRequired: true, | |
| qualityWeight: 1.0, | |
| }, | |
| { | |
| pieceId: "back_body", | |
| preferredRegions: ["SECONDARY_FOCAL_REGION", "ENVIRONMENT_REGION"], | |
| forbiddenRegions: [], | |
| allowText: true, | |
| allowFace: true, | |
| allowLogo: true, | |
| avoidSeams: true, | |
| avoidBleed: true, | |
| avoidPocketOverlap: false, | |
| cropStrategy: "wide_dramatic", | |
| minSafePaddingPercent: 10, | |
| uniquenessRequired: true, | |
| qualityWeight: 0.95, | |
| }, | |
| { | |
| pieceId: "left_sleeve", | |
| preferredRegions: ["LEFT_EDGE_FLOW_REGION", "ENVIRONMENT_REGION"], | |
| forbiddenRegions: ["PRIMARY_FOCAL_REGION", "TEXT_REGION", "LOGO_REGION"], | |
| allowText: false, | |
| allowFace: false, | |
| allowLogo: false, | |
| avoidSeams: true, | |
| avoidBleed: true, | |
| avoidPocketOverlap: false, | |
| cropStrategy: "vertical_texture", | |
| minSafePaddingPercent: 8, | |
| uniquenessRequired: true, | |
| qualityWeight: 0.65, | |
| }, | |
| { | |
| pieceId: "right_sleeve", | |
| preferredRegions: ["RIGHT_EDGE_FLOW_REGION", "ENVIRONMENT_REGION"], | |
| forbiddenRegions: ["PRIMARY_FOCAL_REGION", "TEXT_REGION", "LOGO_REGION"], | |
| allowText: false, | |
| allowFace: false, | |
| allowLogo: false, | |
| avoidSeams: true, | |
| avoidBleed: true, | |
| avoidPocketOverlap: false, | |
| cropStrategy: "vertical_texture", | |
| minSafePaddingPercent: 8, | |
| uniquenessRequired: true, | |
| qualityWeight: 0.65, | |
| }, | |
| ]; | |
| export function getHoodieRule(pieceId: string) { | |
| return AOP_HOODIE_MAPPING_RULES.find((rule) => rule.pieceId === pieceId); | |
| } |