CtrlK
CommunityDocumentationLog inGet started
Tessl Logo

tessl/pypi-asciimatics

tessl install tessl/pypi-asciimatics@1.15.0

A cross-platform package to replace curses (mouse/keyboard input & text colours/positioning) and create ASCII animations

Agent Success

Agent success rate when using this tile

81%

Improvement

Agent success rate improvement when using this tile compared to baseline

1.33x

Baseline

Agent success rate without this tile

61%

rubric.jsonevals/scenario-9/

{
  "context": "This evaluation assesses how well the engineer uses the asciimatics package's scrolling buffer capability to create a log viewer. The focus is on proper use of Screen initialization with custom height, buffer management, input handling, and rendering techniques specific to asciimatics.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Screen initialization with custom height",
      "description": "Uses Screen.open() or Screen.wrapper() with a height parameter larger than the terminal's physical height to create a scrolling buffer (e.g., Screen.open(height=100) when terminal is only 20 lines tall).",
      "max_score": 25
    },
    {
      "name": "Buffer content rendering",
      "description": "Uses Screen.print_at() or similar methods to write content at coordinates that may exceed visible screen boundaries, leveraging the larger buffer space.",
      "max_score": 20
    },
    {
      "name": "Keyboard event handling",
      "description": "Uses Screen.get_event() to capture keyboard input and properly handles KeyboardEvent objects to detect navigation keys (arrow keys, page up/down, home/end).",
      "max_score": 20
    },
    {
      "name": "Scrolling implementation",
      "description": "Uses Screen.scroll() or Screen.scroll_to() to navigate through the buffer, or manually manages which portion of the buffer is rendered to the visible screen.",
      "max_score": 20
    },
    {
      "name": "Screen refresh",
      "description": "Properly calls Screen.refresh() after updating content to flush the buffer and display changes to the terminal.",
      "max_score": 10
    },
    {
      "name": "Position tracking",
      "description": "Tracks current scroll position and uses Screen.print_at() to display status information showing the visible range within the total buffer.",
      "max_score": 5
    }
  ]
}

Version

Workspace
tessl
Visibility
Public
Created
Last updated
Describes
pypipkg:pypi/asciimatics@1.15.x
tile.json