検証 — 実行前に何をチェックしているか
drawtonomy はシナリオを esmini に渡す前に、ファイル内のカタログ参照と パラメータをすべて解決します。解決できないものがあれば、どのアクターのどの属性かを明示した うえで ▶ ボタンの隣に表示します。そのまま走らせて、原因の分からない結果を後から読み解く必要は ありません。

ふだん見えているのは、この 1 行だけです。Details を開くと、直し方とシミュレータ自身のログが 読めます。

エラーと警告
Section titled “エラーと警告”| 意味 | 再生 | |
|---|---|---|
| エラー(赤、▶ の隣) | 参照を解決できない。このまま実行すると、読み込みに失敗するか、意図と違う値で走る | 直すまで再生できない |
| 警告(⚠ ボタン) | 再生はできるが、ファイルが書いたとおりではない。多くはカタログが読み込まれておらず、内蔵モデルで代用している状態 | 再生できる |
警告を ⚠ の中に隠しているのは、問題のないシナリオの画面を余計な情報で埋めないためです。 画面幅が狭いときは ⚠ 自体を出しません(インポート時のメッセージで一度は伝えています)。
entryName がカタログに存在しない
Section titled “entryName がカタログに存在しない”Ego: CatalogReference@entryName “car_does_not_exist_xyz” is not in the loaded catalog — the simulator refuses to load this scenario.
何が起きているか。 <CatalogReference entryName="…"> が指す車両・歩行者・オブジェクトが、
一緒に開いたカタログファイルの中にありません。esmini はこの名前をそのまま探しにいき、
見つからなければ読み込みを中断します。
直し方。 カタログファイルに実在する名前を使ってください。大文字小文字だけの違いなら
drawtonomy が候補を出します(Did you mean “car_white”?)。そうでなければカタログの .xosc を
開いて <Vehicle name="…"> の値をそのまま写します。
照合は完全一致で、大文字小文字も区別します。Car_White と car_white は別物として扱われます。
catalogName に対応するファイルがない
Section titled “catalogName に対応するファイルがない”Ego: CatalogReference@catalogName “NoSuchCatalog” matches no catalog file name in <CatalogLocations> — the simulator looks for “NoSuchCatalog.xosc” and cannot locate it.
何が起きているか。 catalogName は表示用の名前ではなくファイル名です。esmini は
<CatalogLocations> に指定されたディレクトリから <catalogName>.xosc を探します。
直し方。 実際に読み込まれているカタログファイルを指すように直すか、そのファイルを
<CatalogLocations> のディレクトリに置いてシナリオと一緒に開いてください。
$param が宣言されていない
Section titled “$param が宣言されていない”Ego: LanePosition@s references $EgoStartS, which is not declared in <ParameterDeclarations> — the value cannot be resolved.
何が起きているか。 属性が参照しているパラメータを、どの <ParameterDeclaration> も定義して
いません。リネームのときに 1 箇所だけ直し忘れた、あるいはパラメータが別ファイル側で宣言されて
いるシナリオ集から 1 本だけ持ち出した、というケースがほとんどです。
直し方。 <ParameterDeclarations> に宣言を足すか、参照をやめて直接値を書きます。既存の名前と
よく似ていれば、drawtonomy が候補を出します。

宣言した型と値が合っていない
Section titled “宣言した型と値が合っていない”Parameter “EgoStartS” is declared as double but its value “not_a_number” is not a valid double — every attribute that reads $EgoStartS becomes NaN.
何が起きているか。 parameterType="double"(あるいは integer、boolean)なのに、値が
その型として読めません。
直し方。 値を直すか、その値が本当に文字列なら parameterType を string にします。
カタログファイルが読み込まれていない
Section titled “カタログファイルが読み込まれていない”Ego: CatalogReference “$HostVehicle” plays as default_car (5.0 x 2.0 m).
何が起きているか。 カタログファイルを添えずに .xosc を開きました。再生を拒否する代わりに、
drawtonomy が内蔵モデルで代用しています。動きは確認できますが、車体寸法はファイルが指定した
ものではありません。
直し方。 カタログファイルと一緒に開き直すか(.xosc を開いて再生するを
参照)、car_white のような内蔵の名前を使ってください。

entryName が内蔵の名前にもない
Section titled “entryName が内蔵の名前にもない”Ego: CatalogReference@entryName “car_does_not_exist_xyz” is not a built-in entry — it will play as default_car (5.0 x 2.0 m).
同じ状況を逆から見たものです。カタログが読み込まれておらず、かつその名前を drawtonomy も 知らない場合に出ます。エラーではなく警告なのは、まだ手元にないカタログのエントリ名を先に 書いておく、という進め方も普通にあるからです。代用モデルのまま再生は続けられます。
ParameterAssignment が宣言されていないパラメータを指している
Section titled “ParameterAssignment が宣言されていないパラメータを指している”Ego: ParameterAssignment@parameterRef “NotADeclaredParam” is not declared by catalog entry “car_white” — the assignment is ignored.
何が起きているか。 <ParameterAssignments> が、そのカタログエントリの宣言にないパラメータを
設定しています。値は無視されるだけで、何も起きません。ヒントにはそのエントリが宣言している
パラメータ名が並びます。
直し方。 宣言済みの名前に直すか、その代入を削除します。
検証していないもの
Section titled “検証していないもの”- 車両・歩行者・オブジェクト以外のカタログ。 コントローラ、ルート、マニューバ、環境、
トラジェクトリのカタログはシミュレータ側が解決します。drawtonomy が見るのは
catalogNameまでで、正しいエントリを誤って「無い」と報告しないためにそうしています。 - シナリオが意図どおりかどうか。 ここでの検証は参照が解決できるかを見るものであって、 操作の中身が正しいかは別の話です。そちらは実際に走らせて 終了条件と失敗条件で判定してください。
AI 生成シナリオの場合
Section titled “AI 生成シナリオの場合”AI 生成で作ったシナリオにも同じカタログ検査がかかります。実行する 段(Run)ではなく、その 1 つ手前のロジック段です。存在しない車両モデルを書いてしまった生成結果は、 代用モデルで再生されるのではなく、その場で差し戻されて作り直されます。