Skip to content

docs(static-image): document every setting, with real renders - #367

Open
ChuckBuilds wants to merge 1 commit into
mainfrom
docs/static-image-readme
Open

docs(static-image): document every setting, with real renders#367
ChuckBuilds wants to merge 1 commit into
mainfrom
docs/static-image-readme

Conversation

@ChuckBuilds

Copy link
Copy Markdown
Owner

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

Two settings that do nothing (or nothing on their own)

Both would otherwise be discovered by staring at a panel that never changes:

  • rotation_mode: "date_based" is a stub. The source comment literally reads # Future implementation and it returns the first available image every time. The option is offered in the UI, so silently doing nothing is worse than saying so.
  • rotation_mode: "time_based" does nothing on its own. It also needs rotation_settings.time_intervals.enabled: true. With that switch off, the image never advances — two settings that have to agree before anything happens.

Two rotation intervals that look interchangeable

They aren't, and picking the wrong one silently does nothing:

Setting Applies
image_rotation_interval Always. The one most people want (falls back to display_duration)
rotation_settings.time_intervals.interval_seconds Only in time_based mode, and only with the switch above on

Per-image schedules

The old README never mentioned them. Each image can carry a schedule with time_range or per_day modes — and the trap is that schedule.enabled defaults to false, so a carefully configured window is ignored until it's switched on. Also noted: scheduling every image out at once leaves nothing eligible to draw.

Images

fit_to_display and preserve_aspect_ratio get a four-panel comparison against a deliberately wide 192×64 sample — "fitted", "unfitted", "letterboxed" and "stretched" are easier to recognise than to describe.

Rotation itself is deliberately not screenshotted. Every rotation_mode starts on the first eligible image, so a single frame can't distinguish them — I ran the hash comparison and they're identical, exactly as expected. That behaviour is documented from the source instead, and the README says so rather than leaving a reader wondering why there's no picture.

Audits before opening

  • Config tokens vs the old README: none dropped
  • All 23 schema leaves documented, including the nested schedule object
  • No broken TOC anchors
  • Section check surfaced the per-format guidance and the set_image_path / reload_image API — both restored. I verified those methods exist before documenting them rather than trusting the old README, which is how the last two plugins turned up settings that didn't work.

Verification

  • check_plugin.py --plugin static-image — 8/8 PASS, goldens match
  • render_docs_assets.py --plugin static-image --check — images match
  • check_module_collisions.py — OK across 43 plugins
  • manifest bumped 1.0.5 → 1.0.6, plugins.json regenerated

Seven plugins now carry a preview image in the root README table.

🤖 Generated with Claude Code

Documentation only; no behaviour change. All 23 settings are covered, including
the per-image schedule object the old README never mentioned.

Two of them would otherwise be discovered by staring at a panel that never
changes:

- rotation_mode "date_based" is a stub. The source comment says "Future
  implementation" and it returns the first available image every time. The
  option is offered in the UI, so silently doing nothing is worse than saying
  so.
- rotation_mode "time_based" does nothing on its own. It also needs
  rotation_settings.time_intervals.enabled set to true, and with that switch off
  the image never advances.

The two rotation intervals are separated, because they look interchangeable and
are not: image_rotation_interval always applies and is the one most people want
(falling back to display_duration when unset), while
time_intervals.interval_seconds is read only in time_based mode.

Per-image schedules get their own section, along with the trap that
schedule.enabled defaults to false -- so a carefully configured window is
ignored until it is switched on -- and that scheduling every image out at once
leaves nothing eligible to draw.

fit_to_display and preserve_aspect_ratio get a four-panel comparison against a
deliberately wide sample, since "fitted", "unfitted", "letterboxed" and
"stretched" are easier to recognise than to describe.

Audits before opening: no config token dropped, all 23 schema leaves
documented, no broken TOC anchors, and the section check surfaced the
per-format guidance and the set_image_path/reload_image API, both restored --
the methods were verified to exist before documenting them rather than trusted
from the old README.

Rotation itself is not screenshotted: every rotation_mode starts on the first
eligible image and the differences only appear across frames, so that
behaviour is documented from the source and the README says as much.

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: 37eaf9fd-3dca-4272-8cad-87687050a4fb


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