Skip to content

Sharpen Scarlet, Calian, and Aetherwing previews - #8

Merged
senyo888 merged 1 commit into
mainfrom
bella/sharpen-scarlet-aetherwing
Jul 13, 2026
Merged

senyo888 merged 1 commit into
mainfrom
bella/sharpen-scarlet-aetherwing

Conversation

@senyo888

@senyo888 senyo888 commented Jul 13, 2026 •

Copy link
Copy Markdown
Owner

Scope

  • Rebuild the Calian, Scarlet, and Aetherwing repository previews and their GitHub Pages copies as crisp 2x GIF presentation assets.
  • Add a deterministic idle-preview renderer with explicit alpha cleanup.
  • Document the supported preview-generation command for contributors.

Reason

The validated atlases retain partial-alpha silhouette edges, but GIF transparency is binary. The previous encoding promoted faint boundary pixels to fully opaque colored specks, and browser upscaling made the effect especially visible around Aetherwing's wings.

Files affected

  • pets/{calian,scarlet,aetherwing}/preview.gif
  • site/assets/{calian,scarlet,aetherwing}-preview.gif
  • scripts/render_idle_preview.py
  • CONTRIBUTING.md

Runtime impact

None. The authoritative v2 spritesheets, pet metadata, installer links, animation rows, look directions, and catalog checksums are unchanged.

Entity semantics changed: no.
Risk to deterministic lane ordering: none.

UI impact

Repository and Pages previews render from 384 x 416 source GIFs and downsample cleanly at their existing display sizes. The six-frame idle animation, durations, loop, and disposal behavior are unchanged.

Generated dashboards/UI affected: only the public Codex Pets preview artwork.
Risk to UI truth consistency: low; every preview is regenerated directly from its unchanged validated atlas and the repo/site copies are byte-identical.

Migration impact

None. No migration, application restart, package reinstall, or dashboard export is required. Browsers may need a hard refresh after the Pages cache updates.

Validation performed

  • Deterministic regeneration reproduced the committed GIFs byte-for-byte.
  • All three preview masks matched source-derived atlas masks.
  • Repo and Pages preview copies matched byte-for-byte.
  • All previews passed 384 x 416 geometry, six-frame count, original timing, loop, disposal, and transparency checks.
  • Authoritative spritesheet SHA-256 values still match catalog.json.
  • Playwright desktop and 390 px mobile checks passed with no console errors, warnings, or horizontal overflow.
  • Aetherwing catalogue and installer presentation were visually reviewed.
  • Project preflight passed: 7 pets, 60 local site references, privacy scan clean.
  • Python compilation, public-surface secret/path scan, and git diff --check passed.

Rollback safety

High. Reverting the single commit restores the prior presentation GIFs and removes the renderer/documentation without touching runtime package assets.

Summary by CodeRabbit

  • New Features

    • Added tooling to generate animated idle previews from validated sprite atlases.
    • Generated previews support consistent frame timing, looping, transparency, and scaled output.
    • Preview validation now checks dimensions, frame count, timing, and rendering properties.
  • Documentation

    • Added contributor guidance for creating and publishing preview GIFs.
    • Documented required tools, commands, quality settings, and catalogue placement.

Render the presentation GIFs at 2x with deterministic alpha cleanup while preserving the validated runtime atlases and animation timing.
@coderabbitai

coderabbitai Bot commented Jul 13, 2026 •

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 7ee01a5e-07ef-4364-9b09-5430d07bcaa1

📥 Commits

Reviewing files that changed from the base of the PR and between 1628673 and 8f184f3.

⛔ Files ignored due to path filters (6)
  • pets/aetherwing/preview.gif is excluded by !**/*.gif
  • pets/calian/preview.gif is excluded by !**/*.gif
  • pets/scarlet/preview.gif is excluded by !**/*.gif
  • site/assets/aetherwing-preview.gif is excluded by !**/*.gif
  • site/assets/calian-preview.gif is excluded by !**/*.gif
  • site/assets/scarlet-preview.gif is excluded by !**/*.gif
📒 Files selected for processing (2)
  • CONTRIBUTING.md
  • scripts/render_idle_preview.py

📝 Walkthrough

Walkthrough

Adds an executable Python script that renders and validates six-frame idle GIF previews from Codex v2 sprite atlases, plus contributor documentation for running the renderer and publishing its output.

Changes

Idle preview rendering

Layer / File(s) Summary
Atlas frame processing
scripts/render_idle_preview.py
Defines atlas and animation constants, crops six cells, optionally scales frames, and applies binary alpha thresholding.
GIF encoding and validation
scripts/render_idle_preview.py, CONTRIBUTING.md
Adds CLI rendering, fixed GIF timing and disposal, strict output validation, JSON metadata, executable startup, and usage documentation including publication guidance.

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

Sequence Diagram(s)

sequenceDiagram
  participant Contributor
  participant render_idle_preview.py
  participant Pillow
  participant preview.gif
  Contributor->>render_idle_preview.py: provide atlas and output paths
  render_idle_preview.py->>Pillow: crop and process six frames
  render_idle_preview.py->>Pillow: save animated GIF
  Pillow-->>preview.gif: write preview.gif
  render_idle_preview.py->>Pillow: reopen and validate output
  Pillow-->>render_idle_preview.py: return GIF metadata
  render_idle_preview.py-->>Contributor: print JSON metadata
Loading
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch bella/sharpen-scarlet-aetherwing

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 marked this pull request as ready for review July 13, 2026 18:55
@senyo888
senyo888 merged commit 608d05c into main Jul 13, 2026
0 of 2 checks passed
@senyo888
senyo888 deleted the bella/sharpen-scarlet-aetherwing branch July 14, 2026 04:57

This branch had an error being deployed

1 failed deployment
github-pages — 8f184f30 Deployed Jul 13, 2026 by senyo888 via Publish GitHub Pages #8
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