Skip to content

Align idle previews with desktop cadence and reduced motion - #25

Merged
senyo888 merged 1 commit into
mainfrom
bella/mini-maintenance
Oct 3, 2026
Merged

senyo888 merged 1 commit into
mainfrom
bella/mini-maintenance

Conversation

@senyo888

@senyo888 senyo888 commented Oct 3, 2026 •

Copy link
Copy Markdown
Owner

Summary

Idle GIFs played six times faster than the inspected desktop renderer, and reduced-motion CSS did not stop GIF playback. This change uses 6.6-second idle previews and static alternatives on the catalogue and all seven installers, preserving decoded artwork and authoritative package assets.

Scope: collection-wide preview/accessibility maintenance, documentation and validation. Files affected: package/site previews and PNGs, README cache references, catalogue/installers, preview tooling, requirements, CI and maintenance guidance.

Change type

  • New pet package
  • Existing pet update — preview only
  • Maintainer-initiated website sync
  • Documentation or validation only

Pet details

  • Pets: all seven existing catalogue entries, 001–007; IDs and identities unchanged.
  • Update subtype: Preview only.
  • Related issue: N/A.
  • Attribution: Existing Senyo / CC BY 4.0 attribution retained.

Package checklist

  • One-pet restriction: N/A for this approved collection-wide presentation update.
  • Canonical metadata, README package tables, catalogue order and hashes agree.
  • Authoritative v2 atlas bytes and QA evidence are unchanged.
  • Every decoded GIF frame equals its base-commit version.
  • GIF/PNG cache tokens match exact files.
  • Card/installer identity, traits, alt text and links agree.
  • Decoded installer parameters match canonical metadata and asset URLs.
  • Maintainer approved website work and publication.

Validation performed

  • Catalogue validation against origin/main: seven pets, 75 local site references, 87 Markdown references.
  • Preview validator: fourteen six-frame GIFs at 6600 ms, matching static PNGs, geometry, alpha, disposal and looping.
  • Renderer smoke check and rejection of a deliberately accelerated frame.
  • Eight local routes at 1440 px and 390 px: no overflow or page/console errors.
  • Normal/reduced-motion switching both ways and static screenshot equality.
  • Keyboard order, focus indications and installer fallback disclosure/links.
  • Privacy checks against the exact staged snapshot; git diff --cached --check.

Remote CI run 37103140374 passed catalogue validation, dependency installation, preview validation and whitespace checks for 8fca2e359bce5c314cff2d7c37f8d8a5f953628b. The PR still requires a qualifying approving review before normal merge; auto-merge is disabled. Pages publication/readback remain outstanding. No native overlay activation or pointer-behavior claim is made.

Impact

  • Runtime/package impact: authoritative atlases, metadata, IDs and native behavior unchanged.
  • Website/UI impact: calmer idle loops and genuine reduced-motion stills.
  • Entity or installer semantics changed: No.
  • Migration or restart required: No. Development preview tooling uses pinned Pillow.
  • Rollback safety: revert this presentation/tooling patch; original package assets remain intact.
  • Release: existing v1.0.0 assets and tag remain unchanged; no new release included.

Rights

Existing licensed artwork only; no new character artwork or third-party assets. Existing CC BY 4.0 attribution is preserved.

Summary by CodeRabbit

  • New Features
    • Pet previews now display a still image for visitors who prefer reduced motion, while animated previews remain available to others.
    • Matching static preview images are available in each pet’s README.
  • Updates
    • Pet animations now follow a slower, 6.6-second idle loop, with updated previews across the catalogue and installer pages.
  • Documentation
    • Added guidance on preview behavior and compatibility.

Retain the exact decoded artwork while pacing idle previews at 6.6 seconds.
Provide static alternatives on the catalogue and every installer, with matching
cache references, contributor guidance, and pinned preview validation in CI.

Preserve authoritative atlases, package metadata, installer semantics, and
immutable release assets.
@coderabbitai

coderabbitai Bot commented Oct 3, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 6fa63fd8-6fac-45de-9cb4-41ac3715bacf
📥 Commits

Reviewing files that changed from the base of the PR and between c8aa378 and 8fca2e3.

⛔ Files ignored due to path filters (28)
  • pets/aetherbite/preview.gif is excluded by !**/*.gif
  • pets/aetherbite/preview.png is excluded by !**/*.png
  • pets/aethercore/preview.gif is excluded by !**/*.gif
  • pets/aethercore/preview.png is excluded by !**/*.png
  • pets/aethermite/preview.gif is excluded by !**/*.gif
  • pets/aethermite/preview.png is excluded by !**/*.png
  • pets/aetherwing/preview.gif is excluded by !**/*.gif
  • pets/aetherwing/preview.png is excluded by !**/*.png
  • pets/bella/preview.gif is excluded by !**/*.gif
  • pets/bella/preview.png is excluded by !**/*.png
  • pets/calian/preview.gif is excluded by !**/*.gif
  • pets/calian/preview.png is excluded by !**/*.png
  • pets/scarlet/preview.gif is excluded by !**/*.gif
  • pets/scarlet/preview.png is excluded by !**/*.png
  • site/assets/aetherbite-preview.gif is excluded by !**/*.gif
  • site/assets/aetherbite-preview.png is excluded by !**/*.png
  • site/assets/aethercore-preview.gif is excluded by !**/*.gif
  • site/assets/aethercore-preview.png is excluded by !**/*.png
  • site/assets/aethermite-preview.gif is excluded by !**/*.gif
  • site/assets/aethermite-preview.png is excluded by !**/*.png
  • site/assets/aetherwing-preview.gif is excluded by !**/*.gif
  • site/assets/aetherwing-preview.png is excluded by !**/*.png
  • site/assets/bella-preview.gif is excluded by !**/*.gif
  • site/assets/bella-preview.png is excluded by !**/*.png
  • site/assets/calian-preview.gif is excluded by !**/*.gif
  • site/assets/calian-preview.png is excluded by !**/*.png
  • site/assets/scarlet-preview.gif is excluded by !**/*.gif
  • site/assets/scarlet-preview.png is excluded by !**/*.png
📒 Files selected for processing (26)
  • .github/workflows/validate.yml
  • .gitignore
  • CONTRIBUTING.md
  • README.md
  • docs/CATALOG_CONTRACT.md
  • docs/MAINTENANCE.md
  • pets/aetherbite/README.md
  • pets/aethercore/README.md
  • pets/aethermite/README.md
  • pets/aetherwing/README.md
  • pets/bella/README.md
  • pets/calian/README.md
  • pets/scarlet/README.md
  • requirements-dev.txt
  • scripts/render_idle_preview.py
  • scripts/validate_catalog.py
  • scripts/validate_previews.py
  • site/index.html
  • site/install/aetherbite/index.html
  • site/install/aethercore/index.html
  • site/install/aethermite/index.html
  • site/install/aetherwing/index.html
  • site/install/bella/index.html
  • site/install/calian/index.html
  • site/install/scarlet/index.html
  • site/styles.css

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

The change updates pet preview GIF timing to match the specified desktop-renderer durations and adds matching PNG stills. Website cards, installer pages, and pet READMEs now expose static previews. Validation checks preview assets and their references.

Changes

Pet preview assets and presentation

Layer / File(s) Summary
Generate and validate preview assets
scripts/render_idle_preview.py, scripts/validate_previews.py, requirements-dev.txt, .github/workflows/validate.yml, .gitignore, docs/CATALOG_CONTRACT.md, docs/MAINTENANCE.md, CONTRIBUTING.md
The renderer uses desktop-renderer frame durations and saves a PNG from GIF frame zero. The preview validator checks GIF timing and PNG frame equality. The workflow installs development requirements and runs the validator. Contributor and maintenance documentation describes the preview contract and validation steps.
Serve still previews and validate references
scripts/validate_catalog.py, site/index.html, site/install/*/index.html, site/styles.css, pets/*/README.md, README.md
Site cards and installer pages select PNGs for reduced-motion preferences and GIFs otherwise. Catalogue validation checks PNG files, reduced-motion sources, and PNG cache tokens. Pet READMEs link to the still previews, and preview URLs and descriptions are updated.

Priority: ➖ Normal

Estimated code review effort: 3 (Moderate) | ~20 minutes

Change: Bug fix

Merge Risk: ⚪ Minimal · up to 8fca2

The preview workflow has no identified merge-blocking issue; its validator runs through the documented script entry point.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 77.78% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 9 functions across 3 files. (23 skipped: … Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the main changes: matching idle previews to desktop timing and providing reduced-motion alternatives.
Description check ✅ Passed The description covers the change, scope, affected pets, validation, impact, and rights. It also reports CI results and outstanding publication and review steps. The required template sections are pre…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Full details: Docstring Coverage

Explanation

Docstring coverage is 77.78% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 9 functions across 3 files. (23 skipped: 23 unsupported.)

  • Fix all pre-merge checks with AI
✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

@senyo888
senyo888 merged commit b95fde0 into main Oct 3, 2026
2 checks passed
@senyo888
senyo888 deleted the bella/mini-maintenance branch October 3, 2026 08:14
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