Skip to content

fix: restore Shimaraby/Shimacat sprites and remove Cat Flying (refs #688)#689

Merged
takaokouji merged 3 commits into
developfrom
fix/issue-688-restore-shimaraby-remove-cat-flying
May 13, 2026
Merged

fix: restore Shimaraby/Shimacat sprites and remove Cat Flying (refs #688)#689
takaokouji merged 3 commits into
developfrom
fix/issue-688-restore-shimaraby-remove-cat-flying

Conversation

@takaokouji
Copy link
Copy Markdown

@takaokouji takaokouji commented May 13, 2026

Summary

スモウルビー公式キャラクター Shimaraby / Shimacat スプライト・コスチュームが upstream マージで消失していたので復元する。あわせて、Scratch トレードマークに該当する Cat Flying スプライト・コスチュームがテスト不備により残存していたので除去し、テスト不備も修正する。

詳細は #688 を参照。

原因

  • Shimaraby/Shimacat 消失: PR feat: upstream merge 2026-05 (v13.7.2 — 284 commits, scratch-blocks v2) #630 マージコミット dedebb4ecd (feat/upstream-merge-2026-05) でアップストリームの sprites.json / costumes.json を上書きした際に Smalruby 独自エントリが消失。実は 1 つ前の v13.7.2 マージ (4e2ddc1406) でも同じ消失が起きており、2 連続で同じ衝突を見落としている。 アセット PNG (packages/scratch-gui/static/smalruby-assets/) は残存。
  • Cat Flying 残存: removed-trademarks.test.jstrademarkNames 配列で 'Cat-Flying' (ハイフン) と書かれていたが、実データは 'Cat Flying' (スペース) のため検出をすり抜けていた。

Implementation Steps

  • Phase 1: Cat Flying 除去 + テスト修正 (TDD)
  • Phase 2: Shimaraby / Shimacat 復元 (TDD) + 回帰防止テスト追加
  • Phase 3: 再発防止ドキュメント追記 (.claude/skills/upstream-merge/phase2-conflicts.md)
  • Phase DoD: CI green 確認 + Playwright MCP でブラウザ動作確認 (ローカル)

Definition of Done

  • removed-trademarks.test.js'Cat Flying' (スペース) が含まれ pass する
  • sprites.json / costumes.json から Cat Flying が完全に消えている
  • sprites.json に Shimaraby, Shimacat sprite が存在する
  • costumes.json に Shimaraby-a/b, Shimacat-a/b が存在する
  • smalruby-original-sprites.test.js pass
  • lint pass (ローカル)
  • CI green (待機中)
  • ブラウザ確認 (Playwright MCP、ローカル http://localhost:8601):
    • スプライトライブラリで Shimaraby, Shimacat が表示・選択できる
    • Shimaraby / Shimacat を追加するとステージに正しい位置・サイズで表示される (rotationCenter 含む) — Shimaraby を costume shimaraby-a で stage に追加、Shimacat も同様に追加・表示確認
    • スプライトライブラリの検索で "Cat Flying" が見つからない (0 件)
    • コスチュームライブラリの検索で "Cat Flying" が見つからない (0 件)
    • コスチュームライブラリで Shimaraby-a/b, Shimacat-a/b が選択できる (4 件すべて表示)

Test plan

  • Phase 1 後: removed-trademarks.test.js (jest) pass
  • Phase 2 後: 新規 smalruby-original-sprites.test.js (jest) pass
  • CI: lint + 全 unit + 全 integration が CI で green (待機中)
  • Phase DoD: ローカルプレビューで Playwright MCP 動作確認完了

Refs #688

🤖 Generated with Claude Code

The trademark detection test had `'Cat-Flying'` (hyphen) but the actual
sprite/costume names use `'Cat Flying'` (space), so Cat Flying entries
were never caught and remained in the libraries despite being a Scratch
trademark.

- Fix `trademarkNames` array in removed-trademarks.test.js (Cat-Flying → Cat Flying)
- Remove Cat Flying sprite from sprites.json
- Remove Cat Flying-a, Cat Flying-b costumes from costumes.json

Refs #688

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown

takaokouji and others added 2 commits May 13, 2026 09:57
…tream merge

The Shimaraby and Shimacat sprite/costume entries were silently overwritten
during upstream merges (most recently in PR #630, and also in the v13.7.2
merge before that). The asset PNGs in static/smalruby-assets/ remained but
the library entries pointing to them were gone, so the sprites disappeared
from the editor.

- Re-add Shimaraby and Shimacat sprite entries to sprites.json (between Shark 2 and Shirt)
- Re-add Shimaraby-a/b and Shimacat-a/b costume entries to costumes.json
- Add smalruby-original-sprites.test.js as a regression guard so that future
  upstream merges fail loudly if these entries are wiped again

Refs #688

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…sprites

Adds a section to phase2-conflicts.md warning that sprites.json /
costumes.json upstream changes do not produce git conflicts but can
silently wipe Smalruby-original entries (Shimaraby, Shimacat). Includes
the verification commands and the trademark-sprite checklist that
must be run after every upstream merge.

This is the recurrence-prevention measure for the issue caught in #688
where two consecutive upstream merges (#630 and the v13.7.2 merge before
it) wiped Shimaraby/Shimacat without anyone noticing.

Refs #688

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@takaokouji takaokouji merged commit d39a418 into develop May 13, 2026
9 checks passed
@takaokouji takaokouji deleted the fix/issue-688-restore-shimaraby-remove-cat-flying branch May 13, 2026 01:06
github-actions Bot pushed a commit that referenced this pull request May 13, 2026
…-restore-shimaraby-remove-cat-flying

fix: restore Shimaraby/Shimacat sprites and remove Cat Flying (refs #688)
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