Skip to content

feat: add Smalruby original sprites (Shimaraby & Shimacat)#339

Merged
takaokouji merged 5 commits into
developfrom
feature/smalruby-original-sprites
Mar 19, 2026
Merged

feat: add Smalruby original sprites (Shimaraby & Shimacat)#339
takaokouji merged 5 commits into
developfrom
feature/smalruby-original-sprites

Conversation

@takaokouji
Copy link
Copy Markdown

@takaokouji takaokouji commented Mar 18, 2026

Summary

スモウルビーオリジナルのスプライト2体(Shimaraby, Shimacat)をスプライトライブラリとコスチュームライブラリに追加。

  • Shimaraby(シマラビ): うさぎスプライト、コスチューム2つ、Chirp サウンド
  • Shimacat(シマネコ): ねこスプライト、コスチューム2つ、Meow サウンド
  • アセットは Scratch CDN から配信(高速)、ローカルフォールバック付き
  • legacy-storage.ts に WebStore 追加(document.baseURI で絶対 URL 構築)
  • コスチューム画像は bitmapResolution=2 で ~126-181x200px(Cat スプライト相当)

Implementation Steps

  • 画像準備 & 静的アセット配置(リサイズ、中央配置、md5 ハッシュ名)
  • ローカルアセット配信インフラ(WebStore 追加)
  • スプライトライブラリエントリ追加(sprites.json)
  • Scratch CDN アセットハッシュに更新 & アルファベット順配置
  • コスチュームライブラリエントリ追加(costumes.json)

Definition of Done

  • lint pass
  • CI green
  • ブラウザ確認(Playwright MCP):
    • スプライトライブラリを開き、Shimaraby と Shimacat がサムネイル付きで表示される
    • Shimaraby を選択してステージに追加できる(コスチュームが正しく表示される)
    • Shimacat を選択してステージに追加できる(コスチュームが正しく表示される)
    • 音声が正しく紐づいている(Chirp / Meow)
    • コスチュームライブラリに Shimaraby/Shimacat コスチュームが表示される

Closes #337

🤖 Generated with Claude Code

Add two original Smalruby sprites to the sprite library with locally
bundled costume assets, avoiding dependency on Scratch CDN.

- Shimaraby: rabbit sprite with 2 costumes and Chirp sound
- Shimacat: cat sprite with 2 costumes and Meow sound
- Add WebStore in legacy-storage.ts for local smalruby assets
- Costumes served from static/smalruby-assets/ via fallback store

Closes #337

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

takaokouji and others added 4 commits March 19, 2026 02:45
Absolute path /static/... does not work on GitHub Pages subdirectory
deployments. Use relative path (matching the music sound store pattern)
to ensure assets resolve correctly in all environments.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
scratch-storage's assetTool requires absolute URLs to load assets
correctly. Use document.baseURI to construct absolute URLs from
relative paths, ensuring compatibility with both dev server and
GitHub Pages subdirectory deployments.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Update assetIds to match Scratch CDN hashes for faster loading.
Assets are now served from Scratch CDN first, with local fallback.
Also reorder sprites to proper alphabetical position in library.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add 4 costumes (Shimaraby-a/b, Shimacat-a/b) to the costume library
so they can be added individually to any sprite. Also capitalize
costume names in sprites.json for consistency with other sprites.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@takaokouji takaokouji merged commit 8085bb1 into develop Mar 19, 2026
9 checks passed
@takaokouji takaokouji deleted the feature/smalruby-original-sprites branch March 19, 2026 00:28
github-actions Bot pushed a commit that referenced this pull request Mar 19, 2026
…uby-original-sprites

feat: add Smalruby original sprites (Shimaraby & Shimacat)
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.

feat: add Smalruby original sprites (Shimaraby & Shimacat) to sprite library

1 participant