Skip to content

fix(march-madness): stop the final-game date landing inside the score - #407

Open
ChuckBuilds wants to merge 1 commit into
mainfrom
docs/march-madness-readme
Open

fix(march-madness): stop the final-game date landing inside the score#407
ChuckBuilds wants to merge 1 commit into
mainfrom
docs/march-madness-readme

Conversation

@ChuckBuilds

Copy link
Copy Markdown
Owner

The bug

A finished game draws its date under the score. The two were positioned independently:

score_y = height - 13     # 10px font -> rows height-13 .. height-3
date_y  = height - 6      #  6px font -> rows height-6  .. height

Three shared rows, so the date sat inside the score digits. Because both are offsets from height, it happened at every panel size, not just short ones — and the safety harness cannot catch it: nothing overflows, nothing crashes.

before 74-71 with a grey 3/21 overlapping the lower third of the digits
after score above, date below, both readable

The score now lifts by six rows when a date is coming. Verified at 256x32 and 256x48 — the two harness shapes where a final card fits on screen.

README

All 17 settings were already documented, and their defaults all check out against the schema. What it lacked was images, so this adds real renders of the three game states (live, an upset final, one not yet tipped off), the three visible toggles, and four panel sizes. Each toggle pair was hash-compared to confirm the setting actually changes the output:

seeds-on     =63855c7baa87  seeds-off     =539d4dc0de8c  DIFFER
roundlogo-on =40be4dcb18b2  roundlogo-off =f7fc574e3ce5  DIFFER
upset-on     =5c8c2e6e899c  upset-off     =55456e8a1547  DIFFER

Games are seeded onto the plugin instead of fetched from ESPN; teams, seeds and scores are invented. The team marks are the logo assets the plugin already ships — nothing is downloaded into the tree.

Two corrections

  • show_bracket_progress is not implemented. It is assigned in __init__ and never read again — no reference in the render path — yet the README described it as showing which teams are still alive in each region. Marked as not implemented and filed as march-madness: show_bracket_progress is read and never used #406; whether to build it or drop it is your call, so I have not touched the schema.
  • highlight_upsets said "higher seed beating lower seed", which is ambiguous in the direction that matters. The code tests away_seed > home_seed > 0, so it now reads "a bigger seed number beating a smaller one — an 11 seed past a 1 seed".

Also drops three unused imports (datetime.timedelta, datetime.timezone, numpy) that pyflakes flags; the timezone work goes through pytz.

Checks

  • check_plugin.py: 8/8 pass
  • render_docs_assets.py --check: all six images reproduce
  • Rendered against the core at origin/main, which now carries sports_shared from LEDMatrix#515

1.0.6 → 1.1.0.

🤖 Generated with Claude Code

A finished game drew its date at height - 6 with a 6px font, while the 10px
score started at height - 13. The score therefore occupied rows height-13 to
height-3 and the date rows height-6 to height: three shared rows, with the
date sitting inside the score digits. Both are offsets from height, so this
happened at every panel size rather than only on short ones, and the safety
harness cannot see it -- nothing overflows and nothing crashes.

The score now lifts by six rows when a date is coming. Verified at 256x32 and
256x48, the two harness shapes where a final card fits.

README: real rendered screenshots of the three game states, the show_seeds,
show_round_logos and highlight_upsets toggles (each hash-compared to confirm
it changes the render), and four panel sizes. All 17 settings were already
documented and their defaults were correct.

Two corrections. show_bracket_progress is marked not implemented -- it is
assigned in __init__ and never read again, so nothing on the panel changes,
and the README had described it as showing which teams are still alive
(#406). The highlight_upsets wording said "higher seed beating lower seed",
which is ambiguous; it now says a bigger seed number beating a smaller one.

Also drops three unused imports (datetime.timedelta, datetime.timezone and
numpy) that pyflakes flags -- the timezone work goes through pytz.

check_plugin.py: 8/8 pass.

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: 361b8fe8-a865-481f-a580-d59c8abf6950


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

🟢 Metrics 0 complexity

Metric Results
Complexity 0

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.

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