v8.2.0
We reverse-engineered a corner that steering physically cannot take, and measured whether sliding actually gets through it (Stage AY; tabletop x the precise v2 engine; the driving physics is unchanged). One inequality governs it: when the corridor's outer radius R_out falls below the minimum turning radius R_min, steering cannot take the corner at all. R_min = "wheelbase / tan(max steering angle)" is a kinematic floor that does not depend on speed; on the tabletop it is 0.2920 m (= 0.130 m / tan 24°). Across the 20 shipped touge corners and the 60 derived-touge corners, not one corner meets that condition (the closest is 1.086x the denominator R_min). So the reason no "drift is mandatory" regime ever showed up is not that drift lost, but that no such stage existed in the courses. Building the stage (outer-radius ratio R_out/R_min = 1.02 / 0.95 / 0.856 / 0.80 x road width 0.16 m / 0.28 m = 8 cells, 180° heading change) gave three findings. 1. There is no regime where drift is mandatory — in the 12 cells steering cannot take, even an optimiser forced to slide to |beta| 90° with 41° of rear-axle slip angle (67°/22° across the 6 default-surface cells, 90°/41° across the 6 low-mu ones) never stayed inside the corridor (the closest miss still leaves it by 0.0345 m), and that held across seeds and at double the budget. 2. No regime where drift is advantageous was found under these conditions — GO came out 0 of 8, and 0 of 8 again on low-mu. But we do not write "there is none": change the random seed and the combined time ratio spreads over 0.932 to 1.168, straddling the 0.98 threshold (the speed condition flips in 2 of the 4 rows where a comparison existed; with the main seeds GO is 0, and across the other seeds 0 of 12 are GO while 2 of 12 land at a ratio <= 0.98). Finding 1 is solid, finding 2 is not; please do not merge them. 3. If a win exists, it is confined to cells steering can also take — the R5 cell we previously described as "the one window that opens in free space" sits at an outer-radius ratio of 1.23, above the floor, so it meant "sliding was 11.9% faster through a corner steering could also take" (that passage has been rewritten). The boundary where steering stops working is two lines, not one: if the entry lateral position can be chosen, R_out/R_min = 1.004 (0.16 m width) / 1.003 (0.28 m); entering down the middle of the corridor, 1.073 / 1.174 (the latter formula is specific to a 180° heading change). That is a point path (rear-axle centre); the body makes it stricter — the swing-out of 0.0365 m eats 91% of the 0.0400 m margin at a 0.16 m road width, and the body-aware ratio is below 1 in all 8 cells. The 7 of these benches that exist as real walls have been added as courses ([Steering-Limit Bench], at the end of the course list; the cell at ratio 0.80 with a 0.28 m width is excluded because its inner wall radius goes negative). Measured when added, the three built-in samples finish 1 of 21 across the 7 courses (the engine is the tabletop default, the dynamic model; on precise v2 it is 0/21). Because they cannot be completed by design, these 7 are excluded from the challenge completion badges, so the badge denominators are unchanged. What is still unmeasured is the multi-point-turn line — if anything gets through here, that is it. A new permanent gate wf_ay1_rmin_bench.mjs (37 assertions) and the library wf_drift_opt.mjs bring the gate count to 62.
日本語
「ドリフトでなければ曲がれないコーナー」を舵角の下限から逆算して作り、そこで本当に滑れば通れるのかを測りました (Stage AY・卓上×精密v2エンジン・走行物理は無改変)。効いているのは 1 本の不等式です — 廊下の外径 R_out が最小旋回半径 R_min を下回ると、舵では原理的に曲がれません。R_min =「ホイールベース÷tan(最大舵角)」は速度に依存しない運動学的な下限で、卓上では 0.2920m (= 0.130m ÷ tan24°) です。出荷の峠 20 コーナーと派生峠 60 コーナーには、この条件に当てはまるコーナーは 1 本もありません (いちばん際どいもので分母 R_min の 1.086 倍)。∴ これまでドリフトが必須な領域が出てこなかったのは「勝てなかった」のではなく 「勝てる舞台が無かった」 のでした。そこで舞台を逆算し (外径比 R_out/R_min = 1.02 / 0.95 / 0.856 / 0.80 × 道幅 0.16m / 0.28m = 8 セル・回頭角 180°)、次の 3 点が分かりました。① 「ドリフトが必須」な領域は存在しません — 舵で通れない 12 セルでは、滑る深さを強制して |β| 90°・後軸スリップ角 41° まで滑らせても (内訳は既定路面の 6 セルで 67°/22°、低μの 6 セルで 90°/41°) 廊下から最小 0.0345m はみ出したままで、清潔に回れた解は 0 でした (種を替えても予算を倍にしても同じ)。② 「ドリフトが有利」な領域は、この条件では見つかりませんでした — GO は 8 セル中 0、低μでも 0。ただし「存在しない」とは書きません: 乱数の種を替えると総合時間比が 0.932〜1.168 に散り、しきい値 0.98 を跨ぐからです (比較が成立した 4 行のうち 2 行で速さの条件が裏返ります。主表の種では GO 0、別種は 12 通り中 GO 0 通り・時間比 ≤0.98 が 2 通り)。①は堅く②は堅くないので混ぜないでください。③ 勝ちが出るとしても、それは舵でも通れるセルに限られます — 以前「自由空間に 1 つだけ開いた窓」と書いた R5 のセルも外径比 1.23 で下限を上回っており、「舵でも通れるコーナーで滑らせたほうが 11.9% 速かった」 という意味でした (該当箇所を書き直しました)。舵で通れなくなる境界は 2 本あります: 進入の横位置を選べるなら R_out/R_min = 1.004 (道幅 0.16m) / 1.003 (0.28m)、廊下の真ん中から入るなら 1.073 / 1.174 (後者の解析式は回頭角 180° に固有)。これは点 (後輪軸中心) の経路の話で、車体だともっと厳しくなります — 旋回はみ出し 0.0365m が道幅 0.16m の余地 0.0400m の 91% を食い、車体考慮の比は 8 セルすべてで 1 未満です。このベンチのうち実際の壁として成立する 7 本をコースに追加しました (〔舵角限界ベンチ〕・コース一覧の末尾。外径比 0.80 × 道幅 0.28m の 1 セルは内壁半径が負になるため除外)。追加時の実測で既定 3 サンプルの完走は 7 本合計 1/21 です (エンジンは卓上の既定=動力学モデル。精密 v2 なら 0/21)。設計上通れないので、この 7 本はチャレンジの完走バッジの母集団からは外してあります (バッジの分母は追加前と同じままです)。まだ測っていないのは切り返し (多点旋回) の線で、ここを通す手があるとすればそれです。常設ゲート wf_ay1_rmin_bench.mjs (37 アサート) と library wf_drift_opt.mjs を新設し、ゲート総数は 62 になりました。
Verifying this release yourself
git clone https://github.com/RumiCar-group/RumiCar-Simulator.git
cd RumiCar-Simulator
node wf_run_all.mjs # the full assertion-gate suiteThe suite runs from a fresh clone with no dependencies beyond Node.js.
The real-browser checks under browser/ additionally need npm install and a display.