Skip to content

Add Metal Cluster Cat and raise the frame width limit to 300px - #70

Open
sugukaga wants to merge 1 commit into
runcat-dev:mainfrom
sugukaga:add-metal-cluster-cat
Open

sugukaga wants to merge 1 commit into
runcat-dev:mainfrom
sugukaga:add-metal-cluster-cat

Conversation

@sugukaga

Copy link
Copy Markdown

Pull Request

Type of Change

  • Add a new runner
  • Fix or improve an existing runner
  • Other (site, docs, tooling)

Summary

Revives Metal Cluster Cat from the original RunCat — five metallic, differently-shaded cats running side by side. 10 frames, 298×36, monochrome.

Because the frames are wider than the current 100px cap, this PR also raises the limit to 300px so that wide classic runners can be hosted here:

  • .github/scripts/validate_runners.py: MAX_WIDTH = 100 → 300
  • CONTRIBUTING.md / PR template: the matching numbers
  • style.css: object-fit: contain on the preview image so a wide preview is scaled down instead of squashed in the card

This is paired with runcat-dev/RunCatNeo#101, which raises the app-side limit to the same 300px. Until that is merged, RunCat Neo will reject these frames at import, so this PR should land after (or together with) it.

Closes #69

About the artwork

The frames are the original Metal Cluster Cat assets by @Kyome22, extracted from the classic RunCat app, and metadata.json credits him as the author — the same way the other revived runners (Classic Cat, Cat's Tail, Flash Cat, …) are attributed. I do not hold the rights to this artwork myself, so I have deliberately left the "original work / I hold the rights" box unchecked below. Whether this revival is distributed under Apache-2.0 is entirely the author's call; if that is not wanted, please feel free to close this PR, or to cherry-pick only the width-limit changes.

python3 .github/scripts/validate_runners.py --all passes locally (44 runners).

Checklist for Adding a Runner

  • I have read CONTRIBUTING.md and followed the steps described there.
  • The runner is my original work, or I hold the rights to it, and I consent to its distribution under this repository's license (Apache-2.0). (see "About the artwork" above — the author is the repository owner)
  • The runner does NOT contain third-party intellectual property (e.g., Pokémon, Mario, or other copyrighted/trademarked characters).
  • Files are placed at runners/<runner-name>/ as <runner-name>-frames.zip, metadata.json, and preview.png.
  • All frames are PNG files named <runner-name>-frame-<N>.png (numbered from 0), with a height of exactly 36px, a width between 10px and 300px (raised in this PR), and all frames share the same size.
  • The zip contains only the frames — no .DS_Store, __MACOSX/, or ._* entries.
  • metadata.json contains the correct author, displayName, type (monochrome or color), and tags.
  • preview.png is an animated PNG (APNG), 36px tall, at most 300px wide (raised in this PR), and animates correctly.
  • runners/manifest.json includes the new runner name and stays sorted alphabetically.

🤖 Generated with Claude Code

https://claude.ai/code/session_019XxvkQY8mttsmifV5LhyeQ

Revives the Metal Cluster Cat runner from the original RunCat
(10 frames, 298x36, five metallic cats running side by side).

Because this runner is wider than the current 100px cap, MAX_WIDTH in
the validator and the matching numbers in CONTRIBUTING.md and the PR
template are raised to 300px, in step with the RunCat Neo change that
accepts frames up to 300px wide. object-fit: contain keeps such wide
previews from being squashed in the gallery card.

Closes runcat-dev#69

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019XxvkQY8mttsmifV5LhyeQ
@Kyome22

Kyome22 commented Oct 21, 2026

Copy link
Copy Markdown
Contributor

@sugukaga Thank you for the request to bring back the classic runner.
I personally like the Metal Cluster Cat as well, but the 100px width limit was something I intentionally narrowed when rebuilding the app, so I do not want to relax it easily.

The main reason I tightened the width restriction is that there is a very high risk of it overlapping with the MacBook's camera notch area. Even if it overlaps, the app will not break, but with the classic version, I received a huge number of complaints (though they were misunderstandings) from many users saying things like "the app is not running" or "the app is completely unresponsive." I got tired of dealing with them, so I reluctantly tightened the limit to reduce these reports as much as possible. As a result, several of my favorite runners were shelved.

As a potential direction, rather than simply allowing anything over 100px, I think it might be possible to unlock 100px or larger as an add-on feature that displays a warning. However, this will likely cause issues with the layout of the Runner Gallery web page. Accepting wider runners might break the visual appearance. (You also seemed concerned about this, given that you included a diff in the CSS.)

@sugukaga

Copy link
Copy Markdown
Author

Thank you for the detailed background — the notch story makes complete sense, and I agree that lifting the limit globally is not the right move.

I have reworked the RunCat Neo side along the lines you suggested: runcat-dev/RunCatNeo#101 now keeps 100px as the default and adds an opt-in "Allow wide frames (up to 300px)" toggle inside the custom runner editor. When it is turned on, a warning is shown right under it explaining that wide frames may be hidden behind the camera notch and that the app is still running even if the runner looks frozen. Users who never touch the toggle see no change at all. (New strings are provided in English and Japanese only, per the localization policy; the other languages fall back to English.)

For the gallery, I am happy to adjust this PR to whatever you prefer, for example:

  1. keep the validator at 100px and host wide runners under a dedicated tag (e.g. wide) with a note in the card, or
  2. raise the validator to 300px only for runners that carry such a tag, so ordinary submissions stay bounded.

The object-fit: contain line already keeps a wide preview from being squashed, but I can also scale wide previews down further or show them differently if you have a layout in mind. And if you would rather not distribute your own artwork via a third-party PR at all, feel free to close this one — the Neo change stands on its own.

This branch has not been deployed

No deployments
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.

Request: add the "Metal Cluster Cat" runner

2 participants