QR Code image generator with customizable image formats, error correction levels, and styling options
{
"context": "This criteria evaluates how well the engineer uses the qrcode package's context-aware drawing capabilities, specifically the is_eye() method for detecting and differentially styling position detection patterns (eyes) in QR codes. The focus is on proper integration with the module drawer system and correct usage of package APIs.",
"type": "weighted_checklist",
"checklist": [
{
"name": "is_eye() usage",
"description": "Uses the is_eye() method from the QRCode class to detect position detection patterns (eyes) and differentiate them from regular data modules",
"max_score": 30
},
{
"name": "Module drawer integration",
"description": "Properly extends or uses the appropriate base class from qrcode.image.styles.moduledrawers (such as QRModuleDrawer or inheriting patterns from existing drawers like CircleModuleDrawer and SquareModuleDrawer)",
"max_score": 20
},
{
"name": "Context-aware drawing",
"description": "Implements the drawrect() or drawrect_context() method correctly to handle drawing of individual modules, using the QRCode reference to access is_eye() when needed",
"max_score": 20
},
{
"name": "StyledPilImage compatibility",
"description": "The custom drawer works correctly with StyledPilImage factory and can be passed to make_image() via the module_drawer parameter",
"max_score": 15
},
{
"name": "Circle drawing implementation",
"description": "Uses appropriate PIL/Pillow drawing methods (such as ImageDraw.ellipse()) to render circular modules for non-eye patterns",
"max_score": 10
},
{
"name": "Square drawing implementation",
"description": "Uses appropriate PIL/Pillow drawing methods (such as ImageDraw.rectangle()) to render square modules for eye patterns",
"max_score": 5
}
]
}evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10