NORNSS2開発日誌:Ptolemaic エンジンと Regiomontanus Geometric Engine を、本線接続の手前まで整えた

未分類

開発日誌

最初に大きな方針を確認した。Ptolemaic も Regiomontanus も、Alfonsine と違う暦データを使うための別ルートではない。同じ Alfonsine-Parisian の暦データを前提に、計算方法の違いを見るためのエンジンである。ここを改めて整理したことで、余計な史料探しや別データ化に進まないようになった。

Ptolemaic エンジンでは、太陽だけでなく、月、水星、金星、火星、木星、土星、ドラゴンヘッド、ドラゴンテイルまで扱える形を整えた。さらに、historical-reproduction など、Alfonsine 側で使っている各種モードを受けられるようにした。ただし、本線にはまだ接続していない。

計算結果の確認方法についても、重要な修正を行った。数値が「期待した見た目」になるかどうかではなく、固定した計算ロジックから別の方法で同じ値が出るかを検査する方向に切り替えた。外部の witness や Alfonsine の出力を正解として使うのではなく、数式の別表現、逆算、境界値、丸め、正規化などで内部整合性を確認する形にした。これにより、ロジックそのものを検査するための土台がかなり強くなった。

Regiomontanus 側も、本来の対象が House System ではなく、惑星地心黄経を求める幾何演算エンジンであることを再確認した。HouseCalculator や cusp 表示には戻さず、Geometric Engine として本線接続の直前まで進めた。こちらも、本線にはまだ接続していない。

その後、本線側の確認に入った。GUI にはすでに Calculation Engine の選択欄があることを確認した。つまり、新しい一括接続口を作る必要はない。既存の選択欄を使えばよい。ここで一番大事なのは、Alfonsine の既存接続を壊さないことである。

GUI の選択欄には High-Precision が残っていたが、NORNSS2 には不要なので削除した。現在の選択肢は Alfonsine、Ptolemaic、Regiomontanus の3つに整理された。古い保存状態などに High-Precision が残っていた場合は、Alfonsine に戻すようにしている。

また、Ptolemaic や Regiomontanus を選んだときに、裏で Alfonsine が走ってしまう危険も塞いだ。現時点では、これらを選ぶと「まだ接続されていない」という診断を返すだけで、Alfonsine には流さない。これはかなり重要な安全策である。

今日の最終到達点は、GUI 側で Ptolemaic / Regiomontanus を接続する前の条件整理までである。入力、出力、ログ、エラー、戻し方を確認し、次に Ptolemaic を先に guarded branch として接続する準備ができた。

ただし、まだ接続はしていない。Alfonsine は既定のままで、既存経路も維持されている。Ptolemaic と Regiomontanus は、エンジン側としては接続手前まで整っているが、GUI からの実接続は次回以降に段階的に行う。

次回は、まず Ptolemaic だけを既存 GUI selector に guarded branch として接続するのがよい。Alfonsine の既定経路を絶対に変えず、Ptolemaic を選んだときだけ Ptolemaic 側へ流す。失敗した場合も、Alfonsine に黙って戻すのではなく、明示的なエラーとして返す。この段階を通してから、Regiomontanus を別工程で接続するのが安全である。

コメント

タイトルとURLをコピーしました