feat: CRT phosphor shader engine and retro themes#281
Merged
Conversation
Implements CRTShader class that transforms Rich Text output to simulate a 1987 CRT monitor with scanline dimming, phosphor bloom, chromatic aberration at screen edges, and monochrome palette mapping (amber, green, cool white). Adds three retro CRT themes to the theme system. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Remove unused noqa directives and simplify if-else to ternary. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Use get_style_at_offset() public API instead of accessing private _spans. Add Console import for style resolution. Suppress reportUnusedFunction for _to_monochrome which is part of the public helper API. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Contributor
AI Review (GitHub Models)SummaryThe pull request introduces a CRT phosphor shader engine and retro themes for the Bernstein CLI orchestrator. This addition enhances user experience by providing visual customization options, appealing to users interested in retro aesthetics. Risk AssessmentMedium - While the changes focus on non-core functionality (visual themes), inefficient implementations or security vulnerabilities within the shader engine could impact performance or user security. Actionable Recommendations
|
Contributor
CI Summary
Coverage and detailed reports are available via Codecov and the Checks tab. |
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
chernistry
added a commit
that referenced
this pull request
Apr 30, 2026
* feat: add CRT phosphor shader engine and retro themes Implements CRTShader class that transforms Rich Text output to simulate a 1987 CRT monitor with scanline dimming, phosphor bloom, chromatic aberration at screen edges, and monochrome palette mapping (amber, green, cool white). Adds three retro CRT themes to the theme system. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * style: fix ruff lint warnings in crt_shader.py Remove unused noqa directives and simplify if-else to ternary. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix: resolve pyright strict-mode errors in crt_shader.py Use get_style_at_offset() public API instead of accessing private _spans. Add Console import for style resolution. Suppress reportUnusedFunction for _to_monochrome which is part of the public helper API. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * style: ruff format crt_shader.py Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.




Summary
CRTShaderclass insrc/bernstein/tui/crt_shader.pythat transforms Rich Text to simulate a 1987 CRT monitor with scanline dimming, phosphor bloom, chromatic aberration, and monochrome palette mapping (amber/green/cool white)themes.pyand integrates them into the theme cycleTest plan
uv run pytest tests/unit/test_crt_shader.py -x -q)uv run pytest tests/unit/test_tui_themes.py -x -q)🤖 Generated with Claude Code