Skip to content

Comments

feat: powerline and block character rendering with visual tests#128

Open
slang25 wants to merge 3 commits intocoder:mainfrom
slang25:slang25/powerline-render-tests
Open

feat: powerline and block character rendering with visual tests#128
slang25 wants to merge 3 commits intocoder:mainfrom
slang25:slang25/powerline-render-tests

Conversation

@slang25
Copy link
Contributor

@slang25 slang25 commented Feb 21, 2026

Summary

Port of powerline and block character rendering from fork, with a complete visual regression test suite.

  • Pixel-perfect block characters (U+2580-U+259F) rendered as rectangles for gap-free ASCII art
  • Powerline glyphs (U+E0B0-U+E0BF) rendered as vector shapes for exact cell height matching
  • Font metrics improvements using fontBoundingBox for better coverage of special glyphs
  • 15 visual regression tests covering text, colors, cursors, wide characters, and special glyphs
  • Headless Puppeteer test runner with baseline image comparison for CI/CD integration

All visual tests pass and baseline images are included for regression testing.

- Implement renderBlockChar() for U+2580-U+259F block elements as pixel-perfect rectangles
- Implement renderPowerlineGlyph() for U+E0B0-U+E0BF glyphs as vector shapes
- Update font metrics to use fontBoundingBox for accurate cell height
- Add buildFontString() helper for proper font family quoting
- Add cursor style support from buffer and cursorAccent color rendering
- Add 15 visual regression tests covering text, colors, cursors, wide chars, and special glyphs
- Include headless Puppeteer test runner for CI/CD integration
- Add baseline PNG images for all tests passing

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 47fdaa020e

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

slang25 and others added 2 commits February 21, 2026 17:53
- Exit non-zero on startup failures in render test runner (P1)
- Wait for browser-side runAllTests() completion before reading canvases (P2)
- Use || instead of ?? for font metric fallbacks so 0 triggers fallback (P2)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Fix prettier formatting for render-test.html and correct import order
in render-test.ts to satisfy biome lint rules.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant