import os import sys # Add parent directory to path to import shared modules sys.path.append(os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))) from visual_qc_apps.flask_app_template import FlaskAppTemplate class PrintBleedApp(FlaskAppTemplate): """ Print Bleed Check """ def __init__(self): # Define the hardcoded prompt prompt = """You are performing a visual quality-control check on a print design to verify if bleed is correctly applied. Your task is to determine whether the design has proper bleed for printing. PRINT BLEED CRITERIA: 1. Standard bleed is typically 3mm (1/8 inch) on all sides 2. Background elements, images, or colors that touch the edge of the document should extend into the bleed area 3. Bleed should be consistently applied on all sides that require it 4. Important design elements should not be placed in or near the bleed area 5. Bleed marks or crop marks should be visible in print-ready files STEPS TO EVALUATE: 1. Look for visible bleed area or bleed marks in the design 2. Check if background elements extend into the bleed area 3. Verify the bleed size (typically 3mm/1/8 inch) 4. Check if important elements are safely away from the bleed area 5. If no bleed is visible but the design has elements that touch the edge, this is a fail 6. If no bleed is visible and no elements touch the edge, state that "Bleed assessment is not applicable for this design" YOUR OUTPUT: • State whether bleed area or marks are visible in the design • If visible, state the bleed size if it can be determined • State whether elements that touch the edge extend properly into the bleed area • State whether the design "passes" or "fails" the bleed check • Include a JSON code block with these fields: { "bleed_visible": true or false, "bleed_size": "3mm" or other specific measurement or "Unknown", "elements_extend_to_bleed": true or false or "Not applicable", "print_bleed_check": "Pass" or "Fail" or "Not applicable", "issues": ["List specific issues identified, if any, else an empty array"], "recommendations": ["List specific recommendations if applicable, else an empty array"] }""" # Initialize the Flask app with the prompt super().__init__(__name__, prompt) # Run the app if executed directly if __name__ == "__main__": app = PrintBleedApp() app.run(debug=True)