docs(text-display): document every setting, with real renders - #365
Merged
Conversation
Documentation only; no behaviour change. All 15 settings are covered, with real rendered screenshots for the ones a picture actually settles. The main thing this clears up is scroll speed. Three settings look like they control it and the old README described scroll_speed as "a multiplier, not px/s", which is not what the code does. The rate is scroll_speed / scroll_delay, scroll_speed is pixels per FRAME (clamped at 5, with a warning logged above that), and target_fps is a pacing hint passed to the core scroll helper that will not make text move faster on its own -- raising it without lowering scroll_delay does nothing to the rate. font_mode gets a four-panel comparison because it is the setting that decides whether sizing needs thinking about at all: manual overflows long text and leaves short text small, while auto shrinks long text to fit the panel and grows short text to fill it. Verified both values render distinctly rather than assuming. Also documents that font_size is ignored in auto mode and by .bdf faces, which are drawn at their own fixed pixel size. Two behaviours that were previously undocumented: enabled defaults to false, so a fresh install shows nothing; and a scroll legitimately begins with an empty panel, because the text starts fully off the right edge. That second one is also why there is no scrolling screenshot -- a single frame at the start of a pass is a blank panel, and faking one would misrepresent it. The old README's tips and use-case sections are folded in as recipes rather than dropped, including the concrete guidance that a scroll_gap_width roughly equal to the panel width gives the cleanest loop. Audits before opening: no config token dropped, all 15 schema leaves documented, no broken TOC anchors, and every old section accounted for. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Contributor
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Team Run ID: Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Up to standards ✅🟢 Issues
|
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.
Sixth plugin in the README pass. Documentation only; no behaviour change. Still avoiding the sports scoreboards while #359 is open.
Scroll speed was described wrong
Three settings look like they control it, and the old README called
scroll_speed"a multiplier, not px/s". The code says otherwise:scroll_speedis pixels per frame — clamped at 5, with a warning logged above that.scroll_delayis the throttle, seconds per frame.target_fpsis a pacing hint passed to the core scroll helper. Raising it alone does nothing to the rate — a setting people will reach for first, so it's called out explicitly.font_modegets a four-panel comparisonIt's the setting that decides whether sizing needs thinking about at all:
manualoverflows long text and leaves short text small;autoshrinks long text to fit and grows short text to fill. Both values hash-verified as distinct rather than assumed — that check has caught silently-broken enums in the last two plugins, though this one is fine.Also documented:
font_sizeis ignored inautomode and by.bdffaces, which are drawn at their own fixed pixel size.Two undocumented behaviours
enableddefaults tofalse— a fresh install shows nothing.Audits before opening
scroll_gap_widthroughly equal to panel width gives the cleanest loopVerification
check_plugin.py --plugin text-display— 8/8 PASS, goldens matchrender_docs_assets.py --plugin text-display --check— images matchcheck_module_collisions.py— OK across 43 pluginsplugins.jsonregeneratedSeparately — I saw #364 supersedes my 7-segment fix from #355, and you're right. My rule (
a > 0 and (r or g or b)) happened to work on Pillow 11.3.0 because it ignores the tRNS chunk for mode1images and returns alpha 255 for every pixel. On a Pillow that honours tRNS the alpha inverts and my condition is false everywhere — blank panel again. Your brightness-mask approach is version-independent and correct.Worth noting my verification didn't catch it: harness 8/8, goldens matching, and a visual check all passed, because all three ran against the same Pillow. A dependency-behaviour difference is invisible to that.
🤖 Generated with Claude Code