⚠ ネタバレ注意: 本サイトはSFアニメ「SOLAR LINE」の内容を詳細に分析しています。未視聴の方はご注意ください。
📝 AI生成コンテンツ: 本考証の大部分は AI(Claude Code 等)によって生成されています。内容の正確性については原作および引用元をご確認ください。

Task 112: Rust 依存ライブラリ解禁とオラクルテスト

完了 ← タスク一覧

Task 112: Rust 依存ライブラリ解禁とオラクルテスト

Status: DONE

Motivation

人間の指示: 「Rust の依存ライブラリに関して。wasm ビルドするので、no_std 対応している nalgebra のようなものは使ってよい。計算の精度などの確からしさの確認のため、信頼できる実装をオラクルとしたテストを組むとよい。」

現在のプロジェクトは zero external Rust dependencies ポリシーだが、no_std 対応のライブラリは WASM ビルドと互換性がある。

Scope

  1. ADR を更新: zero-deps ポリシーを「no_std 対応ライブラリは許可」に変更 ✅
  2. nalgebra (no_std) を導入検討: ✅

- Vec3 操作、行列計算、座標変換

- 現在の手書き実装との精度比較

  1. オラクルテスト体制の構築: ✅

- nalgebra をテスト依存に追加 (dev-dependency)

- テストケースで自前実装の出力と比較

- dev-dependencies としてのみ追加(本番ビルドには含まない)

  1. 精度保証テスト: ✅ (partially — JPL Horizons comparison deferred to Task 125)

- 軌道伝搬のエネルギー保存・角運動量保存を検証

- Kepler ソルバーのラウンドトリップ精度を検証

- ホーマン遷移 ΔV を教科書値と照合

Implementation

- tests/oracle_tests.rs (24 tests): Vec3 vs nalgebra, vis-viva, Hohmann ΔV, Kepler round-trip, Tsiolkovsky, brachistochrone, Oberth effect

- tests/oracle_propagation.rs (10 tests): RK4/adaptive/symplectic energy conservation, cross-integrator comparison, heliocentric propagation, angular momentum conservation

Accuracy Findings

Dependencies