forked from scratchfoundation/scratch-editor
-
Notifications
You must be signed in to change notification settings - Fork 1
Closed
Labels
enhancementNew feature or requestNew feature or request
Description
概要
Rubyタブにツールバーを追加し、スプライト切り替えとエディタのUndo/Redo操作を提供する。
目的
- スプライト間の移動を簡単にする(←/→ボタン、ナビゲーションコントロール)
- エディタのUndo/Redo操作をボタンで実行できるようにする
- 将来の機能拡張(カーソル行実行など)のための基盤を作る
実装内容
ツールバー構成
+-----+---------+-------+------+
|Code | Costume | Sound | Ruby |
+-----------------------------+
| ← → | ナビゲーション | ⟲ ⟳ |
+-----------------------------+
| |
| Monaco Editor |
| |
+------------------------------+
左から右へ以下の要素を配置:
-
スプライトナビゲーション
←ボタン: 左のスプライトに移動(最左端の場合はステージを選択)→ボタン: 右のスプライトに移動(最右端の場合はステージを選択)- 境界でのボタン無効化
-
ナビゲーションコントロール (中央)
- 現在の編集対象(スプライト名またはステージ)を表示
- インクリメンタルサーチでスプライト名を入力可能
-
エディタ操作 (右側)
⟲(Undo) ボタン:editor.trigger('keyboard', 'undo', null)⟳(Redo) ボタン:editor.trigger('keyboard', 'redo', null)
実装手順
Phase 1: ツールバーの基本実装
-
RubyToolbarコンポーネントを作成 - スタイルを作成
-
RubyTabコンポーネントに統合
Phase 2: スプライト切り替えの実装
- スプライトリストの取得と順序管理
- 前/次のスプライトに移動する機能
- ナビゲーションコントロールでのスプライト検索
Phase 3: Undo/Redoの実装
- Monaco EditorのUndo/Redoコマンドをトリガー
- ボタンの状態管理(有効/無効)
Phase 4: 国際化とテスト
- i18nメッセージの追加(日本語、英語)
- 動作確認とUI/UXテスト
詳細設計
詳細な技術設計は以下のドキュメントを参照:
完了条件
- ←/→ボタンでスプライトが切り替わる
- ナビゲーションコントロールでスプライト検索ができる
- Undo/Redoボタンが動作する
- 国際化メッセージが追加されている
- PRが作成され、レビュー可能な状態になっている
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request