Skip to content

docs(cricket-scoreboard): document all 50 settings, with real renders - #416

Merged
ChuckBuilds merged 1 commit into
mainfrom
docs/cricket-readme
Sep 4, 2026
Merged

docs(cricket-scoreboard): document all 50 settings, with real renders#416
ChuckBuilds merged 1 commit into
mainfrom
docs/cricket-readme

Conversation

@ChuckBuilds

Copy link
Copy Markdown
Owner

What was missing

The configuration table summarised settings in groups — one row each for customization, background_service, display_modes, dynamic_duration — which reads well but left 31 of the 50 without a named key. Every font and colour, the worker/timeout/retry tuning, the per-mode duration overrides and the three mode toggles had no path you could copy into config.json.

The complete list now sits alongside the existing overview, at the exact paths the schema expects. additionalProperties is false, so a key at the wrong depth is rejected rather than ignored — worth stating, since that is what bit olympics (#411) and odds-ticker (#415).

mode_durations looks dead and isn't

Worth recording, because the standard check gets it wrong. A config-access grep finds nothing reading mode_durations.live_mode_duration, in this plugin or the core. It is read at manager.py:365:

mode_durations = self.config.get("mode_durations", {}) or {}
override = mode_durations.get(f"{mode.replace('cricket_', '')}_mode_duration")

The key is built at runtime, so the literal never appears in the source. Eight plugins declare this block; I nearly filed three dead settings against it.

Everything else in this plugin is read by either the plugin or the core.

Images

All three display modes, the show_venue toggle, and four panel sizes. Matches are seeded onto the plugin instance — _last_update has to be seeded too, or display() re-fetches and clears them.

Two things I checked and did not report

Both looked like bugs and were not, which is only clear once measured:

  • The two score lines look superimposed on a 128x32 panel. Measuring the lit rows: batting score 5–14, other side 16–25. No overlap. The only real contact is a single row between the lower score and the detail line, which is not worth changing.
  • The top label looks clippedFINAL and ODI have flat tops. It is drawn at y=0, flush with the edge, with nothing above the panel. Nothing is lost.

I had written both up as defects before checking.

Checks

  • check_plugin.py: 24/24 pass — three modes across eight panel sizes
  • render_docs_assets.py --check: all four images reproduce
  • config-token audit: nothing dropped

Docs only. 1.1.1 → 1.1.2.

🤖 Generated with Claude Code

The configuration table summarised settings in groups -- "customization",
"background_service", "display_modes" -- which read well but left 31 of the 50
without a named key. Every font and colour, the worker and retry tuning, the
per-mode duration overrides and the three mode toggles had no path you could
copy into config.json. The full list now sits alongside the existing overview,
at the exact paths the schema expects; additionalProperties is false, so a key
at the wrong depth is rejected rather than ignored.

mode_durations deserves a note, because the obvious check gets it wrong. A
config-access grep says it is dead: nothing reads
mode_durations.live_mode_duration. It is read at manager.py:365 through a key
built at runtime -- f"{mode}_mode_duration" -- so the literal never appears in
the source. It is live, and the README says what it does.

Adds real rendered screenshots of all three display modes, the show_venue
toggle and four panel sizes. Matches are seeded onto the plugin instance;
_last_update has to be seeded too or display() re-fetches and clears them.

Two things I checked and did not report, having measured rather than trusted
the eye: the two score lines look superimposed at a glance but occupy rows
5-14 and 16-25, and the top label looks clipped but is drawn flush at y=0 with
nothing lost. The only real contact is a single row between the lower score
and the detail line, which is not worth a change.

check_plugin.py: 24/24 pass across all three modes and eight panel sizes.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Team

Run ID: 9a463123-b876-4d99-96c6-20337f63199d


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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@codacy-production

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

@ChuckBuilds
ChuckBuilds merged commit 248e807 into main Sep 4, 2026
4 checks passed
@ChuckBuilds
ChuckBuilds deleted the docs/cricket-readme branch September 4, 2026 20:07
ChuckBuilds added a commit that referenced this pull request Sep 4, 2026
… do nothing (#421)

This README was already the most complete of the scoreboards: 65 of the 70
settings were documented, including all eight display modes and the Vegas
marquee. The five missing were customization.auto_scale and the four per-role
font sizes, which sat alongside the fonts they scale without being named.

Three settings do nothing. upcoming.show_session_times,
upcoming.countdown_enabled and qualifying.show_gaps appear nowhere in the
plugin and nowhere in the core. The countdown that countdown_enabled claims to
gate is drawn regardless, so turning it off changes nothing. Marked in place;
schema untouched.

Two that look dead and are not, both checked before assuming: show_q1, show_q2
and show_q3 never appear as .get() arguments -- they are string literals in a
tuple table that the loop reads through, the same runtime-key pattern as
cricket's mode_durations (#416) and masters' display_modes (#418).

Adds real rendered screenshots of both standings modes, the constructor
show_driver_split toggle and four panel sizes. Standings are seeded onto the
plugin instance; _last_update has to be seeded too or update() re-fetches and
clears them. The other six modes -- recent races, upcoming, qualifying,
practice, sprint and calendar -- need a live race weekend to have anything to
show, which the README now says rather than leaving them unillustrated without
explanation.

check_plugin.py: 48/48 pass across all eight modes.

Co-authored-by: Claude Opus 5 <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