A cross-platform package to replace curses (mouse/keyboard input & text colours/positioning) and create ASCII animations
81
{
"context": "This evaluation assesses how well the engineer uses asciimatics to handle Unicode text, particularly double-width CJK characters. It focuses on proper use of the Screen module for text display, color management, and correct width calculation for character alignment.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Screen initialization",
"description": "Uses Screen.wrapper() or Screen.open() to properly initialize the terminal screen with automatic UTF-8 detection",
"max_score": 15
},
{
"name": "Text positioning",
"description": "Uses Screen.print_at() method to display text at specific (x, y) coordinates for all multilingual messages",
"max_score": 20
},
{
"name": "Color support",
"description": "Uses Screen color constants (Screen.COLOUR_WHITE, Screen.COLOUR_GREEN, Screen.COLOUR_CYAN, Screen.COLOUR_YELLOW) or color numbers to display colored text",
"max_score": 15
},
{
"name": "CJK character display",
"description": "Successfully displays double-width CJK characters (Chinese, Japanese, Korean) using the Screen's automatic Unicode handling without manual width calculation in display code",
"max_score": 20
},
{
"name": "Character width calculation",
"description": "Uses wcswidth() or wcwidth() (from wcwidth module or similar) or implements proper double-width character detection for CJK characters when calculating text alignment",
"max_score": 20
},
{
"name": "Screen refresh",
"description": "Calls Screen.refresh() to properly flush the double-buffer and display content on the terminal",
"max_score": 10
}
]
}Install with Tessl CLI
npx tessl i tessl/pypi-asciimaticsdocs
evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10