Skip to content

feat(tutorial): チュートリアル全体の体系的拡充 (Block / Ruby / Mesh / DNCL) #682

@takaokouji

Description

@takaokouji

概要

Welcome モーダルが提示する 3 つの学習軸 (Block / Ruby / Mesh) と、高校生向けの DNCL に沿って、チュートリアルを体系的に拡充する。

各軸は Lv 別の難度 を持つ既存パターン (Lv1: コード挿入 / Lv2: ブロック手組み / Lv3: Ruby) を踏襲しつつ、軸ごとに最適化された構造で提供する。

全体設計

詳細な設計は docs/tutorial/improvement-plan.md に集約。Phase ごとに sub-issue を立てて段階的に進める。

進行管理

  • docs/tutorial/progress.md に各 Phase の進捗を反映する (このトラッキング用ドキュメントは全 Phase 完了時に削除予定)
  • Phase 1 完了時に progress.md を初版作成
  • 各 Phase の sub-issue で個別の DoD を管理

サブイシュー

進行順とリリース粒度

Phase 規模 画像
1 Phase 1 (Mesh 再分類) 1 PR、~30 分 不要
2 Phase 2 基盤 (setup プロパティ) 1 PR、数日 不要
3 Phase 2 deck (Ruby) 2〜3 PR、1〜2 週 ~50 枚
4 Phase 3 (Block 4 系列) 4 PR、3〜5 週 ~76 枚
5 Phase 4 (DNCL) 3〜4 PR、3〜4 週 ~70 枚

共通方針

deck 起動時の環境セットアップ機構 (Phase 2 の一部として先行実装)

新 deck プロパティ setup: { tab, rubyMode, extensions, rubyVersion } を導入し、deck 起動時にタブ・Ruby モード・拡張機能を自動セットアップする。Phase 2 以降のすべての新規 deck がこれに依存する。

カテゴリ命名

  • Mesh: ストーリー型 (「メッセージを送ってみよう」「ふたりで会話しよう」「みんなで会話しよう」)
  • Ruby: rubyBasics 単一カテゴリ
  • Block: 教科ラベル型 (「はじめての操作」「ゲームを作ろう」「算数: 幾何学模様」「理科: マイクロビット」)
  • DNCL: dnclBasics + dnclAlgorithms

Lv 番号付け

  • 既存の Mesh 系列は Lv1/Lv2/Lv3 を維持
  • 新規 Block 系列は 意図的に Lv0/Lv2/Lv3 を採用し、Lv1 を「書籍を読んで理解する段階」として空ける (書籍プロモーション設計)

Welcome モーダル連携

各 Phase 完了時に Welcome モーダルの該当 CTA (Build with blocks / Step up to Ruby / Connect with friends) が新しい deck を直接開けるように接続する。Welcome → 特定 deck 起動の機構は Phase 2 開始時に検討。

関連資料

  • 全体設計: docs/tutorial/improvement-plan.md
  • 既存チュートリアル機能: docs/tutorial/README.md
  • チュートリアル開発ガイド: .claude/rules/scratch-gui/tutorial.md
  • Welcome モーダル実装: packages/scratch-gui/src/components/welcome-modal/welcome-modal.jsx

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions