- Fix TerminalDisplay: add screen clear each frame (cursor home + erase down) - Fix CameraStage: use set_canvas_size instead of read-only viewport properties - Fix Glitch effect: preserve visible line lengths, remove cursor positioning - Fix Fade effect: return original line when fade=0 instead of empty string - Fix Noise effect: use input line length instead of terminal_width - Remove HUD effect from all presets (redundant with border FPS display) - Add regression tests for effect dimension stability - Add docs/ARCHITECTURE.md with Mermaid diagrams - Add mise tasks: diagram-ascii, diagram-validate, diagram-check - Move markdown docs to docs/ (ARCHITECTURE, Refactor, hardware specs) - Remove redundant requirements files (use pyproject.toml) - Add *.dot and *.png to .gitignore Closes #25
32 lines
955 B
Python
32 lines
955 B
Python
#!/usr/bin/env python3
|
|
"""Test script for Kitty graphics display."""
|
|
|
|
import sys
|
|
|
|
|
|
def test_kitty_simple():
|
|
"""Test simple Kitty graphics output with embedded PNG."""
|
|
import base64
|
|
|
|
# Minimal 1x1 red pixel PNG (pre-encoded)
|
|
# This is a tiny valid PNG with a red pixel
|
|
png_red_1x1 = (
|
|
b"\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00"
|
|
b"\x01\x00\x00\x00\x01\x08\x02\x00\x00\x00\x90wS\xde"
|
|
b"\x00\x00\x00\x0cIDATx\x9cc\xf8\xcf\xc0\x00\x00\x00"
|
|
b"\x03\x00\x01\x00\x05\xfe\xd4\x00\x00\x00\x00IEND\xaeB`\x82"
|
|
)
|
|
|
|
encoded = base64.b64encode(png_red_1x1).decode("ascii")
|
|
|
|
graphic = f"\x1b_Gf=100,t=d,s=1,v=1,c=1,r=1;{encoded}\x1b\\"
|
|
sys.stdout.buffer.write(graphic.encode("utf-8"))
|
|
sys.stdout.flush()
|
|
|
|
print("\n[If you see a red dot above, Kitty graphics is working!]")
|
|
print("[If you see nothing or garbage, it's not working]")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
test_kitty_simple()
|