smalruby3-editor 機能ドキュメント
smalruby3-editor の機能ドキュメントは ユーザーストーリー単位 で 1 機能 = 1 ディレクトリにまとめている。
各 docs/<feature>/ は scratch-gui を起点に、scratch-vm(拡張機能・ランタイム)、infra/(API・relay)、ruby/(gem)を横断的に参照 する統合ドキュメント。「この機能を知りたければここだけ見れば OK」を目指す。
体系の設計経緯と運用方針は Issue #610 および .claude/rules/documentation.md を参照。
凡例:
🆕 Smalruby 独自 — upstream に存在しない、Smalruby のために新規追加された機能
🔧 upstream 改良 — upstream にあるが Smalruby で機能を改良・拡張している
⬆️ upstream そのまま — upstream の実装をほぼそのまま利用
⏳ 執筆未着手 / ✏️ 執筆中 / ✅ 執筆完了
機能
upstream 区分
状態
project-management/ — プロジェクト新規作成・読込・保存・タイトル編集・URL ローダー・SB3 ダウンロード
🔧 改良
✅
block-editor/ — ブロックパレット・ツールボックス・ワークスペース・変数モニター・カスタムブロック
🔧 改良
✅
stage/ — ステージ表示・緑旗/停止・ステージサイズ・背景・watermark・表示モード
🔧 改良
✅
sprite/ — スプライト一覧・選択・追加・座標/向き/サイズ編集
⬆️ そのまま
✅
costume/ — コスチュームタブ・ペイントエディタ・コスチュームライブラリ・コスチューム操作ブロック
⬆️ そのまま
✅
sound/ — 音タブ・サウンドエディタ・サウンドライブラリ・録音・音操作ブロック
⬆️ そのまま
✅
機能
upstream 区分
状態
ruby-editor/ — Ruby タブ・Monaco・ruby-toolbar・ruby-generator・ruby-to-blocks-converter
🆕 独自
✅
furigana/ — ふりがな表示モード
🆕 独自
✅
dncl/ — 日本語プログラミング (DNCL) モード
🆕 独自
✅
rubytee/ — AI アシスタント (scratch-gui + infra 統合)
🆕 独自
✅
backpack/ — バックパック (mesh v1 → v2 移行ロジック含む)
🔧 改良
✅
機能
upstream 区分
状態
mobile-ui/ — モバイル/タブレット UI 全般(旧 docs/sp/)
🆕 独自
✅
menu-bar/ — メニューバー・言語切替・アカウントメニュー・tutorial-tooltip
🔧 改良
✅
tutorial/ — cards・tips-library・tutorial-onboarding・classroom-tutorial
🔧 改良
✅
alerts/ — alerts・crash-message・error-boundary・coming-soon・browser/webgl-modal
⬆️ そのまま
✅
settings/ — Ruby バージョン切替・各種設定永続化
🔧 改良
✅
screenshot/ — blocks-screenshot・ruby-screenshot
🆕 独自
✅
F. 開発者向け(パッケージ内部仕様 / インフラ)
ドキュメント
内容
scratch-vm/ — VM 内部仕様 (Runtime / Sequencer / Thread / Target / Blocks / Extensions / Serialization / Blocks Runtime)
開発者向け(Issue #620 完了)
infra/ — AWS CDK インフラ全体 (mesh-v2 / rubytee-relay / classroom / smalruby-api の横断ドキュメント)
開発者・運用向け(Issue #625)
smalruby3-gem/ — Ruby SDL2 デスクトップランタイム (ruby/smalruby3/)
gem 開発者向け(Issue #625 Phase 2)
scratch-render/ — WebGL ステージレンダラー内部仕様
レンダラー開発者向け(Issue #625 Phase 4)
scratch-svg-renderer/ — SVG 前処理パッケージ内部仕様
レンダラー開発者向け(Issue #625 Phase 4)
architecture-overview.md — モノレポ全体のアーキテクチャ概要 (パッケージ・インフラ・gem の関係 1 枚図)
adr/ — Architecture Decision Records (Smalruby 独自の ADR)
smalruby-language-spec*.md — Smalruby 言語仕様(機能 docs とは別カテゴリ)
smalruby-dncl-spec.ja.md — DNCL モードの言語仕様
../CONTRIBUTING.md — 新規参加者向けの入口
新しい機能ドキュメントを書くときは _template.md をコピーして使う。