Skip to content

docs(of-the-day): document every setting, with real renders - #368

Merged
ChuckBuilds merged 1 commit into
mainfrom
docs/of-the-day-readme
Sep 3, 2026
Merged

docs(of-the-day): document every setting, with real renders#368
ChuckBuilds merged 1 commit into
mainfrom
docs/of-the-day-readme

Conversation

@ChuckBuilds

Copy link
Copy Markdown
Owner

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

Why a fresh install shows "No Data"

enabled is false, and — less obviously — the categories block is empty by default. The bundled word lists ship with the plugin, but nothing points at them until a category is added. The plugin looks broken rather than unconfigured, so that's the first thing the README addresses.

The data-file format was documented wrong

The old README said entries are keyed by YYYY-MM-DD. The bundled files and the loader both use the day-of-year number, "1" through "365". A file written with date keys loads without error and then shows nothing, because no key ever matches — a silent failure worth stating plainly.

A trap I walked into myself

Customization keys are font_size and text_color. The schema declares these elements through an x-style-elements block that uses the short names size and color — but that's the declaration format; the core expands it into font / font_size / text_color.

I wrote size and color first, rendered four variants, saw them come back byte-identical, and was on the point of recording customization as broken. It isn't — the short names are just silently ignored. Instrumenting _element_styles() showed the resolver working fine with the right keys:

default                title=(255,255,255) @8   body=(200,200,200) @6
size/color  (wrong)    title=(255,255,255) @8   body=(200,200,200) @6
font_size/text_color   title=(255,176,0)   @10  body=(200,130,0)   @8

Anyone reading the schema could make the same mistake, so it's called out in its own note.

auto_fit_text is demonstrated where it actually shows

Hash-comparing renders, it's a genuine no-op at 128×32 and 64×32 — one body line is all that fits either way. It earns its keep at 128×64 with a large body font, where shrinking gains a line, and that's the comparison in the README. Better than implying it always does something.

Audits before opening

  • Config tokens vs the old README: none dropped
  • All 13 schema leaves documented, including the per-category block
  • No broken TOC anchors
  • Section check surfaced the content-authoring tips → restored as "Writing your own list"

One thing for you

check_plugin.py reports golden drift on all eight sizes for this plugin. It is pre-existing on main — identical figures (315px, max Δ=200) with my changes stashed — and confined to the body text line, which renders wider than the golden:

golden bbox: (11, 8, 117, 28)    fresh bbox: (2, 8, 125, 28)
diff bbox:   (2, 21, 125, 28)     <- body line only, title unchanged

I deliberately left the goldens alone. Regenerating them would bake this machine's font metrics in, and after the 7-segment tRNS episode I'd rather not assume my environment's rasterisation is the reference. Worth a look when you have a moment — either the goldens are stale, or something changed the body font metrics.

Verification

  • render_docs_assets.py --plugin of-the-day --check — images match
  • manifest bumped 1.4.1 → 1.4.2, plugins.json regenerated

🤖 Generated with Claude Code

Documentation only; no behaviour change. All 13 settings covered, plus the
per-category block and the data-file format.

Leads with why a fresh install shows "No Data": enabled is false, and the
categories block is empty. The bundled word lists ship with the plugin but
nothing points at them until a category is added, so the plugin looks broken
rather than unconfigured.

Corrects the data-file format. The old README said entries are keyed by
YYYY-MM-DD; the bundled files and the loader both use the day-of-year number,
"1" through "365". A file written with date keys loads without error and then
shows nothing, because no key ever matches -- worth stating plainly since the
failure is silent.

Documents that the customization keys are font_size and text_color. The schema
declares these elements through an x-style-elements block using the short names
size and color, but that is the declaration format: the core expands it into
font / font_size / text_color. I wrote size and color first, saw no change
across four renders, and was about to record customization as broken -- it is
not, the short names are just silently ignored. That is an easy mistake to make
from reading the schema, so it is called out.

auto_fit_text is demonstrated where it actually shows: 128x64 with body
font_size 12, where shrinking gains a line. Verified by hashing renders that it
is a genuine no-op at 128x32 and at 64x32, where one body line is all that fits
either way, so the README says where it matters rather than implying it always
does.

Audits before opening: no config token dropped, all 13 schema leaves
documented, no broken TOC anchors, and the section check surfaced the
content-authoring tips, restored as a "writing your own list" section.

Note: check_plugin reports golden drift on all eight sizes for this plugin.
That is pre-existing on main -- identical figures with these changes stashed --
and confined to the body text line, which renders wider than the golden. Left
alone deliberately: regenerating goldens here would bake this machine's font
metrics in, and the 7-segment tRNS episode is a reminder that rasterisation can
differ by dependency version.

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: d05809b7-2e82-4909-8ae0-c3acd3ee1b02


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 e8d9fe9 into main Sep 3, 2026
4 checks passed
@ChuckBuilds
ChuckBuilds deleted the docs/of-the-day-readme branch September 3, 2026 12:28
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