GitHub 上で OpenSCENARIO をプレビュー
OpenSCENARIO をめぐる作業の多くは GitHub から始まります。シナリオはリポジトリに置かれ、プルリクエストとして届きますが、その中身を理解するには本来リポジトリをクローンし、シミュレータを用意し、実際にファイルを動かして確認する必要がありました。
drawtonomy for GitHub はその手間を丸ごとなくす無料の Chrome 拡張機能です。.xosc ファイルを github.com 上でそのまま再生できます — ダウンロードもインストールもシミュレータも不要です。
| 動作する場所 | github.com — ファイルページとフォルダ一覧 |
| プレビュー対象 | 公開リポジトリ内の OpenSCENARIO .xosc ファイル |
| 自動で解決される要素 | シナリオに必要な道路ネットワークと車両カタログ |
| 収集する情報 | なし — アナリティクスもアカウントも不要 |
Chrome ウェブストアから drawtonomy for GitHub をインストールします。設定もアカウント登録も不要です。.xosc を含む GitHub のページを開けば、それだけですぐに使えます。

GitHub を離れずにシナリオをプレビューする
Section titled “GitHub を離れずにシナリオをプレビューする”OpenSCENARIO ファイルを含む公開リポジトリを開きます。たとえば esmini/esmini の resources/ フォルダには、サンプルシナリオが数十個入っています。
GitHub の一覧で .xosc ファイル (やそれを含むフォルダ) が表示されている箇所には、小さな ▶ 再生チップが付きます。シナリオを含むフォルダには件数も表示されるので、クリックする前に中身の量がわかります。

チップをクリックすると、ページの上にポップアップとしてシナリオがその場で再生されます — 道路、車両、イベントタイムラインまで含めて。

フォルダをまとめて見たいときは、◀ ▶ ボタン (または矢印キー) でプレビューを閉じずに次のシナリオへ進めます。ヘッダーのファイル名をクリックすると、1 件ずつ送るのではなく一覧から目的のシナリオへ直接ジャンプできます。1 ディレクトリに 1 シナリオという構成のリポジトリでは、フォルダのチップを開くとそのフォルダとサブフォルダ内の全シナリオを続けて閲覧できます。
.xosc ファイルを (フォルダではなく) 直接開いた場合も、GitHub の Raw / Copy / Download ボタンの隣に同じプレビューがインラインで表示されます。
キーボードショートカット
Section titled “キーボードショートカット”| キー | 動作 |
|---|---|
| Esc | プレビューを閉じる |
| ← / → | 前 / 次のシナリオへ移動 |
| ↑ ↓ | ジャンプリスト内を移動 |
| Enter | 選択中のシナリオを開く |
フルエディタで開く
Section titled “フルエディタで開く”プレビューでシナリオの中身はわかります。変更したくなったら、Open in drawtonomy をクリックすると、道路と必要なカタログを解決済みの状態で同じシナリオがフルエディタに渡され、新しいタブですぐに再生できます。

開いた先の URL は普通の共有可能なリンクです。拡張機能の有無に関わらず、誰でも開けます。
再生してカメラで追う
Section titled “再生してカメラで追う”エディタに入れば、長い高速道路シナリオを見やすくする 2 つの設定があります。
- Follow: Ego はカメラを Ego 車両に固定します。インポートした道路は数キロメートルに及ぶこともあります。
- Ghost は過去の位置をトレイルとして残すので、カットインのような一瞬の挙動も、見逃さないよう身構えなくても 1 枚の絵として把握できます。

操作の全体像は 再生 を参照してください。
シナリオを編集する
Section titled “シナリオを編集する”インポートしたシナリオは読み取り専用ではありません。任意のイベントカードをクリックすればイベントエディタが開き、トリガーやアクションを変更して再生し直せます。


各トリガーとアクションの意味については アクション と トリガー を参照してください。
必要な部分だけをクリップとして書き出す
Section titled “必要な部分だけをクリップとして書き出す”実行全体が必要になることはほとんどなく、多くの場合は何かが起きる数秒間だけです。Export video を使えば、その部分だけを .webm として録画でき、そのままプルリクエストのコメントやチケット、レビュー用の資料に貼り付けられます。

Range を Trim にして、シークバーの 2 つのハンドルを目的の区間までドラッグし、Start をクリックします。アスペクト比、カメラをシーン全体に合わせるか Ego に追従させるか、ゴーストトレイルを録画に含めるかも選べます。

プライバシー
Section titled “プライバシー”拡張機能は何も収集しません — アナリティクスもアカウントも、独自サーバーへの送信もありません。ファイルをプレビューする操作は、drawtonomy.com で同じシナリオを新しいタブで開くのと同じです。詳細は Chrome 拡張機能のプライバシーポリシー を参照してください。
知っておくとよいこと
Section titled “知っておくとよいこと”- 公開リポジトリのみ対応しています。非公開リポジトリは使えません。
.xoscファイルのみ対応で、単体の.xodr道路ファイルはまだプレビューできません。- Windows 形式のパスやシミュレータ内蔵の地図を参照するシナリオ (同じリポジトリ内の
.xodrを参照していない場合) は道路を自動解決できず、drawtonomy がファイルの指定を求めます。 - プルリクエストの「Files changed」差分にはまだ再生ボタンが表示されません。ファイル自体のページから開いてください。
プレビューの読み込み元アプリの URL の変更や、自動プレビューの有効化は、拡張機能のオプションページ (ツールバーのポップアップ → Options) から行えます。
拡張機能なしでも使える
Section titled “拡張機能なしでも使える”拡張機能が行うことは、リンクだけでも再現できます。GitHub の blob リンクを ?open= の後ろに付け加えるだけです。
https://drawtonomy.com/?open=https://github.com/esmini/esmini/blob/master/resources/xosc/cut-in.xoscこのリンクは拡張機能を入れていない相手にもそのまま渡せるので、チームメイトとシナリオを共有するときに便利です。詳しくは 既存の .xosc を開いて再生する を参照してください。
- 既存の .xosc を開いて再生する — ドラッグ&ドロップを含む、シナリオエディタへのすべての入り口。
- ブラウザで OpenSCENARIO をシミュレーションする — プレイヤーの詳細解説。
- 再生 — トランスポート、追従カメラ、ゴースト、動画書き出し。
- esmini とは?