Skip to content

docs(christmas-countdown): document every setting, including the five that do nothing - #379

Open
ChuckBuilds wants to merge 1 commit into
mainfrom
docs/christmas-countdown-readme
Open

docs(christmas-countdown): document every setting, including the five that do nothing#379
ChuckBuilds wants to merge 1 commit into
mainfrom
docs/christmas-countdown-readme

Conversation

@ChuckBuilds

Copy link
Copy Markdown
Owner

Twelfth plugin in the README pass. Documentation only; no behaviour change.

Half this plugin's configuration has no effect

That's the headline. Five of ten settings do nothing, and the README now says so plainly instead of describing what the schema promises:

Setting Reality
transition.type (6-value enum) The string transition appears nowhere in manager.py
transition.speed "
transition.enabled "
high_performance_transitions high_performance appears nowhere either
tree_size Read and validated, then never applied

I checked the core before concluding, in case transitions were a display-controller feature the plugin merely declared — they aren't. Every "transition" under LEDMatrix/src/ is a comment about plugin state machines or Vegas cycle boundaries.

tree_size is the nastiest of the five, because it validates: set it to -5 and you get a warning, which is fair evidence to anyone testing that the setting is live. Then rendering at 8, 16, 24, 32 and 48 gives a single hash:

9fbfca281f: [None, 8, 16, 24, 32, 48]

Tracked as #377 rather than removed here — six named transition types reads like design waiting on implementation rather than an accident, and dropping five of ten settings is your call. I'll do the removal if you'd prefer it.

A layout correction

The old README said the tree is "centered horizontally and positioned in the upper portion" with "countdown text centered below the tree". The code splits the panel down the middle and puts tree left, text right, at every size:

left_half_width = width // 2
tree_width  = left_half_width - (2 * tree_margin)

The panel-size images show it. Also recorded: tree_color applies only when the bundled tree PNG is missing, so on a normal install it does nothing visible — the schema says this, but "green tree colour" reads like it should work.

Golden drift, filed as #378

7 of 8 sizes  golden drift: 177–244px (max Δ=255)
[PASS] 256x128

Pre-existing on main, identical figures with my changes stashed. Not regenerated, same reasoning as before.

This is the third plugin with drift — of-the-day (#371), geochron (#375), and this one. If all three pass in your environment, the common cause is more likely a dependency version than three separate regressions. This plugin scales a PNG with LANCZOS, which is exactly the kind of operation that can differ between Pillow releases. Might be worth recording the version the goldens were generated against somewhere the harness can check.

Audits

  • Config tokens: none dropped; 10/10 schema leaves documented
  • Old section list read by hand — caught that I'd dropped Dependencies and Testing, and that I'd written "left third" when the code says half. All three fixed.
  • No broken anchors; --check images match

🤖 Generated with Claude Code

… that do nothing

Documentation only; no behaviour change.

Half this plugin's configuration has no effect, and the README now says so
rather than describing what the schema promises. The four transition settings
-- type, speed, enabled, and high_performance_transitions -- appear nowhere in
manager.py, and the core implements no display transitions either; every
"transition" under LEDMatrix/src is a comment about plugin state machines or
Vegas cycle boundaries. tree_size is worse: it is read and validated, so a
value of zero is rejected with a warning, and then never applied. Rendering at
8, 16, 24, 32 and 48 gives one hash.

Those are tracked as #377 rather than removed here. Six named transition types
reads like deliberate design waiting on implementation rather than an accident,
and removing five of ten settings is the maintainer's call.

The layout description is corrected. The old README said the tree is centred
with the countdown text below it; the code splits the panel down the middle and
puts the tree left, text right, at every size -- which the panel-size images
show. Also records that tree_color applies only when the bundled tree image is
missing, so on a normal install it does nothing visible.

Requirements and testing sections are restored from the old file, and
check_plugin is documented alongside the emulator since this plugin ships
harness goldens.

Not fixed here, filed as #378: golden drift on seven of eight sizes,
pre-existing on main with identical figures when these changes are stashed.
That is the third plugin with drift after of-the-day (#371) and geochron
(#375); if all three pass in a known-good environment the common cause is
likely a dependency version rather than three regressions.

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

coderabbitai Bot commented Sep 2, 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: 3ff7ad8b-1d9d-44e9-91aa-fee6611f62b7


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.

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