feat(tutorial): blockBasics 第1章 4 deck(ネコからにげるゲーム冒頭)(#957)#970
feat(tutorial): blockBasics 第1章 4 deck(ネコからにげるゲーム冒頭)(#957)#970smalruby3-editor-bot[bot] wants to merge 9 commits into
Conversation
書籍「きらきらRuby」第1章の抜粋プロモとして blockBasics カテゴリに 4 deck を追加: - block-basics-lv0(コード挿入体験)/ lv2(ブロック手組み)/ lv3(Ruby, setup ruby) - block-basics-advanced(Lv0 のみ・完成デモ) 各 deck は book-promo.jsx の共通ファクトリで冒頭に書誌 step・末尾に購入リンク step を持つ。 locale は block-series.locale.js の ja/jaHira/en に追加、step 画像 20 枚 + サムネイル 4 枚を登録。 step 画像はプレースホルダ(本番スクリーンショットは headful キャプチャ待ち)。 完成プログラムは docs/tutorial/book-kirakira-ruby-source.md 第1章 に準拠。 Closes #957 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
🤖 autopilot status
Linked issue #957. Maintained by autopilot (single writer); do not edit. |
|
🚀 Preview deployed: https://smalruby.jp/smalruby3-editor/topic/autopilot-957/ |
…sics decks 新規 block-basics 4 deck に直接の単体テストが無かった (ruby-basics-decks.test.js の先例あり)。deck 配線・ロケール網羅・book-promo の冒頭/末尾 step・コード変換・ step 画像登録を guard するテストを追加する。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
[Must] 新規 → 対応済み: |
|
[FYI] step 画像 20 枚・サムネイル 4 枚は配色識別のみのプレースホルダで、PR 本文でも明記のとおり本番スクリーンショットは headful セッションでの差し替えが必要( |
|
🤖 敵対的レビュー完了。指摘 2 件(Must 1 / Question 0 / FYI 1)。Must は修正済み(テスト追加)。正確性(setup が deck-setup.js で消費・code スニペットの allowedBlocks / |
headful Playwright MCP(ホスト Chrome)で正しい step 画像をキャプチャし、worker が置いた プレースホルダ(空 PNG)を全 20 枚 + thumbnail 4 枚差し替えた。 - ブロック図(Lv0挿入 / Lv2 の3段階組み立て / 発展挿入): Ruby→Blocks 変換後に 「命令ブロックを画像として保存」で取得 - Ruby エディタ(Lv3 挿入 / Lv3 変更=say行ハイライト / ルビータブ): エディタ要素スクショ - intro / run / 書籍 opening・closing: ステージ(ネコのゲーム)スクショ - thumbnail 4 枚(Lv0/Lv2/Lv3/EX ラベル付き) あわせて book-promo.jsx の BOOK 定数を確定書誌に更新(#962): 『小学生から楽しむ きらきらRubyプログラミング』/ 高尾宏治・藤村健吾 / 日経BP / ISBN 978-4-8222-8639-2 / 日経BP 購入リンク。opening/closing に実書誌が表示される。 deck 単体テスト(block-series-decks / foundation)32件 pass、prettier OK、 tutorial deep-link で第1章カードが実書誌・実画像で表示されることを確認。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
takaokouji
left a comment
There was a problem hiding this comment.
CI failed, please fix it.
and 最新の修正を取り込んで
) The tutorial-categories-refactor guard (issue #932) asserted block-series was an empty stub with only book-promo locale strings. Phase 3 第1章 (#957) populated block-series with the four blockBasics decks and their per-deck howto strings, making those assertions stale and failing unit-test-gui in CI. Update the guard to the new reality: index.jsx keeps the original deck order and appends the four blockBasics decks; block-series holds exactly those decks while dncl remains an empty stub; the block-series locale carries both the book-promo foundation and the blockBasics howtos. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
🤖 レビュー対応まとめ(指摘 2 件: 対応 1 / 対応済み確認 1) ① CI failed, please fix it → 修正しました
このガードを新しい実態に更新しました(
新規 deck 自体の退行検知は #956 の ② 最新の修正を取り込んで → 対応済み 再度レビュー・マージ判断をお願いします 🙏 |
|
🤖 レビュー対応まとめ(指摘 2 件: 対応 2 / 返信 0 / 対応不要 0)— CI グリーン確認済み ① CI failed, please fix it → 修正済み・CI 実行で確認 ② 最新の修正を取り込んで → 対応済み このラン自体はコード変更を伴わず(既に対応済みの状態を検証しただけ)新規 push はありません。再度レビュー・マージ判断をお願いします 🙏 |
|
🤖 レビュー対応まとめ(指摘 2 件: 対応 0 / 返信 0 / 対応不要 2)— 現 HEAD で CI グリーン再確認 前回の CHANGES_REQUESTED( ① CI failed, please fix it → グリーン確認済み ② 最新の修正を取り込んで → 対応済み コード側の対応は完了しています。CHANGES_REQUESTED レビューが残っているためマージが BLOCKED になっています。再レビュー・マージ判断をお願いします 🙏 |
|
🤖 レビュー対応まとめ — コード側は完了・唯一の残ブロッカーはレビュー dismiss 前回の CHANGES_REQUESTED(
残っているブロッカーは takaokouji さんの |
Summary
書籍『小学生から楽しむ きらきらRubyプログラミング』第1章「ネコからにげるゲーム」の抜粋プロモとして、
blockBasicsカテゴリに 4 deck を追加します(チュートリアル拡充 Phase 3 / EPIC #680 の第1章)。#956 で用意した book-promo 基盤・block 軸タクソノミー、#962 で確定した書誌情報・出典スニペットの上に実装しています。Changes Made
categories/block-series.jsx(stub → 実装)に 4 deck:block-basics-lv0— 完成プログラムを「コード挿入」で動かす体験block-basics-lv2— 同じゲームをブロックで手組みblock-basics-lv3— 同じゲームを Ruby で書く(setup: {tab:'ruby', rubyMode:'ruby'})block-basics-advanced— 【発展】完成デモを動かして見せるだけ(Lv0 相当)book-promo.jsx(feat(tutorial): Block 軸の共通基盤整備(2 カテゴリ taxonomy + 書籍プロモ共通要素 + locale) #956)の共通ファクトリで 冒頭に書誌 step / 末尾に「続きは書籍で」+ 購入リンク step を持つ。発展 deck はbookAdvancedClosingStep。when_flag_clicked/loop/point_towards("_mouse_")/move/if touching?("_mouse_")/say)はdocs/tutorial/book-kirakira-ruby-source.md第1章に準拠。block-series.locale.jsのja/jaHira/enに per-deck 文字列を追加(jaとjaHiraは対で同数)。カテゴリ見出しgui.library.blockBasicsは feat(tutorial): Block 軸の共通基盤整備(2 カテゴリ taxonomy + 書籍プロモ共通要素 + locale) #956 で library.jsx に定義済み。ja-steps.js/en-steps.jsに登録。step 画像・サムネイルは 配色で識別可能な単色プレースホルダです。チュートリアルの本番スクリーンショット取得は
.claude/rules/scratch-gui/tutorial.mdの通り headful な dev server でのキャプチャが必要で、headless worker では代替できないため、本番画像への差し替えは headful セッションでのフォローが必要です(DoD headful 引き継ぎ相当)。ファイル名は本番差し替え時にそのまま使える命名にしています。Test Coverage / Verification
npm run lint(scratch-gui,--max-warnings 0)緑(eslint + prettier)npm run build:dev成功(deck 定義・画像 import が webpack で解決)tools/autopilot/bin/pw-check(headless)で 4 deck すべてが起動・カード描画を確認。?tutorial=blockBasicsLv0で book-promo 冒頭 step の書誌情報が正しく補間されることを確認。startTutorialstep 以降の進行はスタートボタン起動が必要(全 deck 共通の設計)。Docs
docs/tutorial/progress.mdの Phase 3 進捗を更新。Related Issues
Closes #957 / Part of #680