Created 4 new "_general" QC check modules optimized for digital static assets: - visual_hierarchy_general: Digital hierarchy assessment (removed POS/physical viewing distances) - product_visibility_general: Digital product presentation (removed POS terminology) - logo_visibility_general: Digital logo prominence (removed 3m/1m viewing distance requirements) - call_to_action_general: Digital CTA effectiveness (added clickability and mobile considerations) Updated Static General profile (static_general.json): - Now includes 10 AI vision-focused checks - Even weighting: 1.0 per check for 100-point scale - Total weight: 10.0 for proper scoring calculation - All checks assigned to Gemini LLM - Updated description to clarify focus on AI vision capabilities Profile focuses exclusively on checks that only AI vision models can perform, excluding physical file properties that Twist system handles (file size, format, resolution, naming, aspect ratio, bleed, crop marks, etc.). 10 checks in Static General profile: 1. text_readability_general 2. background_contrast_general 3. language_consistency 4. visual_hierarchy_general (NEW) 5. element_alignment 6. product_visibility_general (NEW) 7. logo_visibility_general (NEW) 8. call_to_action_general (NEW) 9. accessibility 10. inclusive Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
102 lines
4.9 KiB
Python
102 lines
4.9 KiB
Python
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 LogoVisibilityGeneralApp(FlaskAppTemplate):
|
|
"""
|
|
Logo Visibility General Check - For Digital Static Assets
|
|
"""
|
|
|
|
def __init__(self):
|
|
# Define the hardcoded prompt
|
|
prompt = """You are performing a visual quality control check on a digital marketing asset. Your task is to determine whether the brand logo meets visibility and prominence requirements for digital viewing across various screen sizes and platforms.
|
|
|
|
LOGO VISIBILITY CRITERIA FOR DIGITAL ASSETS:
|
|
|
|
1. Logo Size and Prominence:
|
|
a. The brand logo should be immediately recognizable and prominent on screen
|
|
b. Logo should be clearly visible without zooming on desktop, tablet, and mobile devices
|
|
c. Recommended minimum: Logo should occupy at least 5-8% of the total canvas area
|
|
d. Logo should be one of the first elements noticed when viewing the design
|
|
|
|
2. Logo Clarity and Quality:
|
|
a. Logo must be sharp, crisp, and high resolution for digital displays
|
|
b. All logo details, text, and symbols should be clearly distinguishable
|
|
c. Logo should not show pixelation, blurriness, or compression artifacts
|
|
d. Logo colors should be accurate and true to brand guidelines
|
|
|
|
3. Logo Contrast and Visibility:
|
|
a. Logo must have sufficient contrast with its background
|
|
b. Logo should stand out clearly and not blend into surrounding elements
|
|
c. Logo placement should not compete with other visual elements
|
|
d. Logo should be legible across different screen brightness settings
|
|
|
|
4. Logo Placement and Context:
|
|
a. Logo should be positioned in a prominent, expected location (typically top-left, top-right, or center)
|
|
b. Logo should have adequate white space/breathing room around it
|
|
c. Logo should not be obscured by other design elements
|
|
d. Logo should maintain its integrity and not be distorted, stretched, or cropped incorrectly
|
|
|
|
5. Brand Recognition Test:
|
|
a. Is the brand immediately identifiable from the logo alone?
|
|
b. Can the logo be recognized at a glance on various device screens?
|
|
c. Does the logo maintain visibility when the design is viewed at smaller sizes (mobile)?
|
|
d. Would the logo be recognizable if seen briefly while scrolling?
|
|
|
|
STEPS TO EVALUATE:
|
|
1. Locate the brand logo in the design
|
|
2. Assess the logo's size relative to the overall canvas (estimate coverage percentage)
|
|
3. Evaluate logo clarity, sharpness, and quality for digital display
|
|
4. Check logo contrast and visibility against its background
|
|
5. Test whether the logo is immediately recognizable and prominent
|
|
6. Consider how the logo would appear across different screen sizes
|
|
7. Verify logo placement follows best practices for digital design
|
|
|
|
DECISION CRITERIA:
|
|
• Pass: Logo is prominent (5-8%+ coverage recommended), immediately recognizable, high quality, proper contrast, and optimized for digital viewing
|
|
• Fail: Logo is too small (<5% coverage), unclear, poor quality, low contrast, or not immediately noticeable
|
|
• Critical Fail: Logo coverage below 5% or logo is not recognizable at normal viewing
|
|
|
|
YOUR OUTPUT MUST INCLUDE:
|
|
• Logo size assessment (estimated coverage percentage)
|
|
• Logo quality and clarity evaluation
|
|
• Logo prominence and recognizability assessment
|
|
• Digital optimization evaluation
|
|
• Specific issues and recommendations if failed
|
|
|
|
Format your response as JSON:
|
|
{
|
|
"logo_visibility": "Pass" or "Fail",
|
|
"logo_coverage_percentage": (numerical estimate, e.g., 8),
|
|
"coverage_adequate": true or false,
|
|
"analysis_details": "Detailed explanation of logo visibility, size, quality, and prominence assessment",
|
|
"logo_assessment": {
|
|
"size_prominence": "Assessment of logo size and visual prominence",
|
|
"clarity_quality": "Assessment of logo clarity and digital display quality",
|
|
"contrast_visibility": "Assessment of logo contrast and visibility",
|
|
"placement": "Assessment of logo placement and positioning",
|
|
"brand_recognition": "Assessment of immediate brand recognizability"
|
|
},
|
|
"digital_optimization_score": "Excellent", "Good", "Fair", or "Poor",
|
|
"recommendations": ["Specific recommendation 1", "Specific recommendation 2"] (if failed)
|
|
}
|
|
|
|
CRITICAL:
|
|
1. Always provide detailed analysis_details explaining the logo assessment
|
|
2. Estimate logo coverage percentage relative to total canvas
|
|
3. Focus on digital viewing context across multiple screen sizes
|
|
4. Consider both technical quality and creative prominence
|
|
5. A logo below 5% coverage should generally fail unless exceptionally prominent
|
|
6. Never return just "Pass" or "Fail" without comprehensive explanation"""
|
|
|
|
# Initialize the Flask app with the prompt
|
|
super().__init__(__name__, prompt)
|
|
|
|
# Run the app if executed directly
|
|
if __name__ == "__main__":
|
|
app = LogoVisibilityGeneralApp()
|
|
app.run(debug=True)
|