カテゴリー
お知らせ

RumiCar シミュレータ v8.8.0 を公開しました

RumiCar シミュレータ v8.8.0 を公開しました。リリースノートは GitHub でも読めます。


v8.8.0

手動運転・練習記録・車種・順位表・投稿コースの不具合を直し、重い形の投稿コースを軽くしました (Stage BE・公式記録と出荷コースの走行は変わりません — 公式レースの verifyHash c731ecce と凍結ハッシュ f0〜f3 は改修前と同じです)。① 手動運転で、指やキーを離しても車が走り続けることがありました — 手動のボタンを押している最中にタッチが取り消されたとき、ボタンを右クリックしたとき、矢印キーを押したまま別のタブやウィンドウへ移ったときです (実測: タッチの取り消しでは離したあとも 58〜89px、右クリックでは 66〜69px 走って壁に衝突。左右のボタンでは、その後の前進が曲がったままになりました)。この 3 つは、正しく離したときと同じく止まるようになりました (タブが見えなくなるだけでフォーカスが残る場合・macOS で ⌘ を押している間に離したキー・ペンの取り消しは、実際に起こして確かめる手段が無いため手を入れていません)。② 練習ベストを、コースの名前ではなく「形」で記録するようにしました — 保存したコースの壁を編集して名前を変えずに「適用して走行へ」を押すと、編集前のレイアウトで出した練習ベストがそのまま表示されていました。今は壁を変えると別の記録になり、保存コースの名前を変えても記録は残ります。出荷コースをエディタで適用・保存したものは、エディタが扱わない情報 (中心線など) が外れるため、壁を変えなくても別の記録になります (出荷 66 本中 61 本)。v8.7.0 までに自作コース・投稿コースで出した練習ベストは表示されなくなります — 当時の記録にはコースの形が残っておらず、同じコースだと確かめられないためです (記録は消えず、データのバックアップにも入ります)。出荷コースの記録は、中身が今の出荷コースと同じなら引き続き表示します (前の版の記録には「(当時 vX)」を併記します)。③ 自作車種が組込車種を置き換えていました — 保存した自作車種の key が組込車種と同じだと、起動時に組込車種がその定義に置き換わっていました。今は登録せず、理由を添えてお知らせします (保存データは消しません。車種ダイアログの「複製」で別の key にできます)。また、公式レースの「ローカルで再実行して検証」やゴースト対戦のあと、そのレースに持ち込まれた車種の定義が残り、以後の練習走行や次のレースに効いていました。持ち込まれた定義はレースの間だけ使い、終わったら元に戻します (レースそのものの結果と検証ハッシュは変わりません)。結果表とゴーストの凡例には、実際に走った定義の車種名を出します。④ 全角や絵文字の車名で順位表が崩れていました — 全角 5 文字の車名は名前が LAP の列に重なり (実測で最大 20.71px)、絵文字を含む車名は、文字の途中で切れて化けることがありました。名前の列を実際に描く名前の幅に合わせて広げ、先頭 5 文字を見た目の 1 文字単位で切るようにしました。半角だけの車名では表示は改修前と同じです (2 コース × 日英 × 5 通りの車名の組み合わせ × 14 画面幅の 280 通りで画素が一致)。全角の車名では順位表の枠が最大 35px 広がるので、画面幅 1440px では 68 コース (出荷 66・投稿 2) 中 1 コース (トライアングル) だけ、計器がコースの下の帯へ移ります。⑤ 投稿コースの受け入れと、コースの名前の取り違えを直しました — (a) 投稿コースに上限を設けました: 名前・英語名は各 120 字、説明・英語の説明は各 3,300 字、コース全体は空白を除いた JSON で 400 万字まで (字数は JavaScript の数え方で、絵文字の多くは 2 字と数えます)。超える投稿は一覧に載せず、件数と理由をお知らせします。自分の保存コースにはこれらの上限を掛けません。(b) 区切りの無い長い説明文で、ページが横にはみ出していたのを直しました。(c) 保存コースの名前が出荷コースと同じとき、出荷コースを選んでも保存コースが開き、🗑 でその保存コースが消えることがありました。出荷コースと同じ名前、または gh:・★ で始まる名前の保存コースは、一覧が内部で使う値と共有 URL に載る呼び名が「★+保存名」になります (一覧の表示は従来どおり) (それ以前の共有 URL でこうした保存コースを指していたものは、別のコースを開くか「見つかりません」になります)。(d) 名前が複数の投稿コースに当たる参照 (公式レースの再検証・古い形式の共有 URL) は、黙って先頭を選ばず「決められない」とお知らせします。(e) 📋 開催の「🌐 GitHubで公式開催」は、名前で引くと別のコース (または複数のコース) に当たるときは書き出さず、理由をお知らせします (例: 出荷コースを編集して名前を変えずに「適用して走行へ」を押した状態、出荷コースと同じ名前の保存コース)。名前が出荷コースと重なる投稿コース・名前が重複する投稿コースは、ファイル名で書き出します。投稿コースの一覧を読み切れていないときは、保存コースなどの公式開催を止めます。(f) コース編集で枠を縮めて、壁が枠の外 (長辺の 5% の余白より外) に残ったときは、寸法の変更・「適用して走行へ」・保存・JSON 取込の際に本数を添えてお知らせします。(g) 空白だけの名前で保存・投稿したときは、既定の名前を使います。⑥ 重い形の投稿コースを軽くしました — 櫛のような形の投稿コース (実測は壁 2,996 本) で、コースの選択・車体スケールの変更・台数の変更のたびに数秒止まっていました (実測: 車の置き場所の探索 1 回 2.4 秒 → 約 0.05 秒)。1000m 級の投稿コースで車体スケールのスライダーを動かし続けると、メモリが尽きるおそれもありました (node での再現ではメモリ不足で停止。壁の区画表を覚えておくのを直近 3 つまでにしました)。壁の多いコースでは走行中の描画 (深度ビュー・センサーの扇・測距・拡大/追従表示) も軽くしました: 壁 20,000 本・6 台・3 倍速の例で、1 コマあたり 約 120ms → 約 25〜31ms、追従表示中は 約 152ms → 約 54〜62ms です (このサーバーの実ブラウザでの実測。値はマシンで変わります)。計算を減らしただけで、答えは変えていません — 出荷コースの初期配置は全 43,956 通りで改修前と一致し、測距と描画も改修前の出力と突き合わせた範囲 (約 18 万件) で差は 0 でした。ただし 1 点だけ、まれに変わる場合があります: 車の置き場所を探す範囲に上限 (探索点 6,000) を設けたので、置ける場所がそれより先にしか無いコース (出荷以外の投稿・自作コース) では、その遠い場所ではなく次の候補 (他の車から最も離れた置ける点など) に置かれ、置ける台数の判定も変わりえます。出荷コースで探索点が最も多いのは 2,552 なので、出荷コースの配置・公式記録・共有 URL には影響しません。このほか、検証の仕組みを整えました (常設の検証ゲートは 69 → 73 本、実ブラウザの検査は 30 → 37 本)。BE2 でモジュールを 1 つ足したので、README・REBUILD の JS モジュール数を 46 → 47 にしました。

このサイトの仕組み (v1.4.0)

一部は GitHub で公開しています:

この仕組みを面白いと思った方へ — 本丸は、ブラウザで動く自動運転シミュレータです。
シミュレータを試す → / GitHub →