第3章 — 設定
設定ウィンドウは RadianceKit → 設定… または標準ショートカット ⌘, から 開きます。2 つのタブを含みます: General と AI Helpers。 第 2 章の Inspector 値と異なり、このウィンドウの設定は アプリ全体 (すべてのプロジェクトにわたって) 適用されます — これらは永続化され、 アプリ再起動を超えて保持されます。General タブは 4 つの内容領域をグループ化 しています: Interface、Viewport、Training、および屋外 Floater 削減用の 実験的セクション。AI Helpers タブは、SfM とトレーニングの前処理のための オンデバイス機械学習ヘルパー (Vision、CoreML) を有効化します。
すべての AI Helpers をまとめて有効化/無効化する以前の操作要素は、現在の バージョンには存在しなくなりました — それに応じてここでは記載しません。 未提供のヘルパー用の以前の「Coming Soon」エリアも削除され、ここでは 参照されていません。
General タブ

S1Default Mode
場所
Settings → General → Interface → Default Mode ピッカー。 バインド済み。デフォルト: .simple。
技術詳細
次回起動時にアプリが 2 つの UI モードのどちらで開くかを制御します。 「Simple Mode」は 4 ステップのガイド付きウィザードワークフロー (インポート → 処理 → プレビュー → エクスポート、第 10 章 Z1〜Z4 に記載)、 「Expert Mode」は第 2 章のナビゲーター、3D ビューポート、エキスパート Inspector を持つ古典的な 3 パネルレイアウトです。値は再起動を超えて 記憶されます。メニュー Mode → Simple Mode (⌘1) / Mode → Expert Mode (⌘2) と 同じ効果ですが、メニューは現在のセッションを切り替えるのに対し、このピッカーは 将来のセッションのデフォルトを設定します。両モードは同じプロジェクト状態に アクセスします — プロジェクト、カメラ、トレーニング構成はモード切り替え時に 保持されます。モード固有のツールバーボタンは即座に再レンダリングされます。
S2Language
場所
Settings → General → Interface → Language ピッカー。 バインド済み。デフォルト: .system (macOS の言語に従う)。
技術詳細
macOS システム言語とは独立して、アプリ UI 全体の表示言語を選択します。 RadianceKit は 17 言語にローカライズされています (de、en、pl、en-AU、 ar-SA、加えて 12 言語)。「System」では、アプリは macOS の言語に従います。 明示的な選択の場合、言語設定は再起動を超えて記憶されます。完全な反映には 通常、アプリの再起動が必要です。なぜなら、ローカライゼーションバンドルは 起動時にのみ読み込まれるからです。プロジェクト内の 298 の文書化された ローカライゼーションキーがすべて考慮され、サブビューやヘルプツールチップの すべてのテキストを含みます。
S3Viewport Background
場所
Settings → General → Viewport → Background ピッカー。 バインド済み。デフォルト: .darkGray (RGB 0.1、0.1、0.1)。
技術詳細
3D ビューポートの標準背景色を設定します。3 つのオプション: 「Dark Gray」(RGB 0.1、0.1、0.1 — デフォルト)、「Black」(0、0、0)、 「White」(1、1、1)。この設定は、新規プロジェクトとセッションのデフォルトを 再起動を超えて永続化し、同時に実行中の Metal レンダラーを即座に更新します。 同じオプションがメニュー Viewport → Background (M21、M22、M23) にもありますが、 Settings ピッカーはデフォルトを設定し、メニューは現在の表示を切り替えます。 スクリーンショットとデモビデオに重要: 白い背景は緑/青の Floater をより強く 強調し、暗い背景はクリーンなレンダリングショットに適しています。
S4Auto-Rotate After Training
場所
Settings → General → Viewport → トグル「Auto-Rotate After Training」。バインド済み。デフォルト: false。
技術詳細
トレーニング終了直後、シーン重心の周りでビューポートカメラの連続 ターンテーブル回転を開始します (標準回転速度 ~0.3 rad/秒)。デモセッション、 A/B 比較、360° ビューから直接「Floater」がシーン境界で発生したかを判断するのに 実用的に便利です。視覚的にはメニュー Viewport → Toggle Auto-Rotation (M16、⌘⌥T) と同じ効果ですが、ここのトグルは手動ではなくトレーニング終了後に 自動的に動作をトリガーします。後でメニューやビューポート内のクリック (回転を 一時停止) を介して、いつでも中断できます。トレーニングパフォーマンスには影響しません — 回転はトレーニング完了後にのみ実行されます。
S5Live Preview Interval
場所
Settings → General → Training → Live Preview ピッカー。 バインド: AppState.trainingConfig.livePreviewInterval。デフォルト: 0 (Off)。
技術詳細
実行中のトレーニングスナップショットを 3D ビューポートにレンダリング する反復間隔を決定します。4 つの離散値: 0 (「Off」)、50、250、1000 反復。 Live Preview がアクティブな場合、トレーナーは GPU から別のレンダリングバッファに Gaussian バッファをコピーし、ビューポートの再描画をトリガーします。「Off」では、 ビューポートはトレーニング完了後にのみ更新されます。パフォーマンスコスト: 50 反復ごとは M3 Ultra で ~5〜10% 遅く、250 反復ごとは ~1〜2% 遅く、 1000 反復ごとは測定不能です。メモリオーバーヘッドは間隔に関係なく、 スナップショットバッファ用に ~2 GB で一定。値は新規トレーニング用の デフォルトとして機能します。トレーニング開始後、トレーニング Inspector は このトレーニングの実際のライブ値を表示します。間隔 50 では視覚的印象は点群の スムーズな「成長」、1000 ではぎこちなく感じます。
S6Throttle Delay
場所
Settings → General → Training → Throttle ピッカー。 バインド: AppState.trainingConfig.throttleDelayMs。デフォルト: 0 (Off)。
技術詳細
トレーニング反復間にミリ秒単位の人工的な遅延を挿入します。4 つの 離散値: 0 (「Off」)、2 (「Light」)、5 (「Moderate」)、10 (「Eco」)。意味: 長いトレーニング (数時間) では、GPU が 100% 使用されない限り、システム UI が 顕著に遅くなります (マウスカーソルが引っかかり、他のアプリが鈍くなる)。 Throttle 遅延は、他のタスクが実行できる休憩を GPU に与えます。パフォーマンス コストは大きい: 5 ms Throttle では、典型的な 40K トレーニングは Throttle なしと 比較して約 50〜80% 長くかかります。パフォーマンスモード「Eco」(10 ms) では、 反復あたりの遅延は反復自体より長くなります — 2〜3 倍遅い係数。Throttle が アクティブな場合、ピッカーの下にヒントが表示されます: 「Throttle is on. Training will be slower than usual.」アプリ自体は顕著に反応がよくなりません — 他のアプリだけが恩恵を受けます。
S7Sky Masking
場所
Settings → General → Experimental — Outdoor Floater Reduction → トグル「Sky Masking」。バインド: AppState.trainingConfig.skyMaskingEnabled。デフォルト: false。
技術詳細
pre-training Apple Vision ベースの空ピクセル セグメンテーションを有効化します。トレーニング開始前に、各入力カメラについて、 Apple Vision フォアグラウンドマスク (空 = 背景) を介して空領域が抽出され、 該当カメラのピクセルごとのマスクとして関連付けられます。トレーニング中、 ピクセルごとの Loss 寄与は空マスクの補集合と乗算されます — 空ピクセルは 勾配に 0 を寄与するため、空に投影される Gaussian は最適化信号を受け取らず、 したがって「より密」または「より明るく」なりません。屋外/ドローンシーンでの Floater (空の暗い小さな塊) を大幅に削減します。クラシック 40K トレーニングで ~3% L1 リグレッションのコスト (memory/dev_outdoor-floater-reduction.md 参照)。明確に識別可能な空がある 屋外シーンでのみ意味があります。室内シーンや白い背景では、空セグメンテーションは 誤った領域を識別し、有効な Loss 信号をブロックします。他の実験的トグルとは 異なり、値はアプリ再起動を超えて記憶されません — 次回起動時には再びオフです。
S8Mid-Training Floater Cleanup
場所
Settings → General → Experimental — Outdoor Floater Reduction → トグル「Mid-Training Floater Cleanup」。バインド済み。デフォルト: false。
技術詳細
クラシック 40K トレーニング (プリセット「P4 Quality」) で 2 つの追加 Density Control パスを有効化します: 反復 20,000 と反復 30,000 で。 両パスは 3 つの基準ですべての Gaussian を検索します: (a) 非常に低い Opacity (標準 0.005)、(b) 極小スクリーン空間サイズ、(c) 直近 1000 反復で Loss 寄与なし。 3 つの条件すべてを満たす Gaussian は purge されます。効果: トレーニング終了時に ~5〜15% 少ない Gaussian、ドローン/屋外シーンの空で暗い小さな塊が目に見えて 減少。クローズアップ室内シーンで ~1〜3% L1 リグレッションのコストのため、 デフォルトでは有効になりません。値は再起動を超えて記憶されます (S7 とは異なります)。 2 つのクリーンアップ反復 (20K、30K) はハードコードされており、現在 UI 経由で 変更できません。より短いトレーニング (例えば P2 Preview 5K) では、反復マークに 到達しないため、トグルは効果がありません。詳細: memory/dev_outdoor-floater-reduction.md。
S9Reduce Elongated Gaussians
場所
Settings → General → Experimental — Outdoor Floater Reduction → トグル「Reduce Elongated Gaussians」。バインド済み。デフォルト: false。
技術詳細
Loss 項に追加の異方性正則化を有効化します。最適化中、各 Gaussian の 異方性は最大スケーリング軸と最小スケーリング軸の比として計算されます。 比が閾値 (標準 10.0) を超える場合、超過に比例してスケーリングされる ペナルティ項が Loss に追加されます。効果: 草や密な葉でのクロスハッチングと ストリーク アーティファクトに典型的な針状の Gaussian は、トレーニング中に より丸い形に強制されるか purge されます。代わりに、標準的な室内シーンで ~6 % L1 リグレッション、厳密なオブジェクトキャプチャでは効果なし。スイートスポットは 植生上のドローン飛行撮影。書き込み、永続化。optimizer.metal での実装は、 勾配計算での追加ペナルティ。プロジェクトメモリのヒントを参照: V549d が出荷された バージョン、より積極的な Scale-Reg を持つ後の V549f は壊滅的な回帰のため 元に戻されました。詳細: memory/dev_outdoor-floater-reduction.md および memory/dev_v549f-needle-reduction.md。
S10Reconstruct Sky Dome
場所
Settings → General → Experimental — Outdoor Floater Reduction → トグル「Reconstruct Sky Dome」。バインド済み。デフォルト: false。
技術詳細
pre-training の Sky-Dome 投影を有効化します (V549e MVP)。 SfM 後、トレーニング開始前に、各入力カメラについて、S7 で共有される Apple Vision 空マスクが画像から抽出され、空ピクセルはカメラ内部パラメータを使用して 仮想球面 (標準半径 8× シーン半径) に逆投影されます。この球面上に ~5000 の 新しい Gaussian が、投影された空ピクセルからの色の平均値、非常に大きなスケーリング (シーン単位で 1.0)、初期 Opacity 0.95 で初期化されます。これらの 5000 Gaussian は 古典的な意味での空マスクではありません — 他のすべてと同様にトレーニングされますが、 高い初期 Opacity により薄い殻に残されます。結果: 屋外/ドローンシーンでの 360° 新規ビューでは、暗いコンフェッティの小さな塊の代わりに実際の空の色と 雲の構造が表示されます。値は再起動を超えて記憶されます。少なくとも 360° カメラ カバレッジを持つ屋外シーンでのみ意味があります。空が見えない純粋なオブジェクト キャプチャでは効果がありません。ステータス: 実験的、追加の屋外セットでの より広範な A/B 検証はまだ保留中。
AI Helpers タブ

S11AI Helpers enabled (Master)
場所
Settings → AI Helpers → 最初のセクション → トグル「AI Helpers enabled」。バインド済み。デフォルト: true。
技術詳細
パイプライン内のすべての AI Helpers 機能のマスタースイッチ。 オフの場合、インポートと SfM パイプラインはすべての ML ベースの前処理ステージを 完全にスキップします — Apple Vision 呼び出しなし、CoreML モデルロードなし、 NPU 起動なし。オンの場合、個々のサブトグル (S12〜S14) が参照されます。値は 再起動を超えて記憶されます。以下のステージに影響します: (a) SfM 前のフレーム 品質事前チェック (S12)、(b) Loop Closure 検出 (S13)、(c) 新規トレーニングの デフォルト値としての自動空マスキング (S14)。重要: オフの場合、3 つのサブトグルは 無効化され、視覚的にグレーアウトされます。フッターヒントは、すべての AI Helpers が 厳密にオンデバイスで実行されることを強調しています — 画像アップロードなし、 クラウド処理なし。データ保護保証は、Apple Vision フレームワーク (Neural Engine 上で ローカル) と、アプリバンドルに直接配置された CoreML モデルのみを使用することで 実現されています。
S12Frame quality check
場所
Settings → AI Helpers → Available セクション → トグル「Frame quality check」。バインド済み。デフォルト: true。
技術詳細
Frame Quality Screener (Phase 3.11) を有効化します。これは SfM 呼び出し前に各インポートされたフレームを分析します。フレームごとの パイプラインステップ: (a) Apple Vision からのラプラシアン分散フィルター (ぼけ検出 — 閾値 ~150)、(b) ヒストグラムベースの過/低露出チェック (閾値: 0 または 255 で 5% を超えるピクセル)、(c) 空白フレーム検出 (すべてのピクセルにわたって標準偏差 < 5)。3 つすべてのチェックに合格した フレームは直接通過します。少なくとも 1 つのチェックに失敗したフレームは、 各問題のあるフレームをサムネイルと理由とともにリストし、削除するかどうかを尋ねる モーダル確認ダイアログをトリガーします。重要: 自動削除なし — ダイアログは 常に必要で、ユーザーが最終決定を保持します。パフォーマンス: M3 Ultra で フレームあたり ~50 ms、並列実行。オフの場合、すべてのフレームはチェックなしで SfM に渡されます。マスター (S11) が無効化されている場合、このトグルは視覚的に グレーアウトされ、効果がありません。メモリに従う出荷ステータス: SHIPPED 2026-05-23。
S13Loop closure detection
場所
Settings → AI Helpers → Available セクション → トグル「Loop closure detection」。バインド済み。デフォルト: true。
技術詳細
Apple Vision Feature Print ベースの Loop Closure 検出を 有効化します。各インポートされたフレームについて、画像コンテンツの神経埋め込みを 表す ~768 次元の特徴量ベクトルが計算されます。次に、すべての Feature Print が ペアごとに Cosine Similarity 経由で比較されます。Similarity > 0.85 でフレーム インデックスの距離 > 50 (つまり非隣接フレーム) のペアが「Loop Closure 候補」と して識別され、プロジェクトフォルダ内のサイドカー JSONL ファイルに書き込まれます。 情報提供のみ — インポートされた画像シーケンスは変更されません。意味: SfM ソルバー (特に COLMAP) に、これらのフレームが 3D 空間で一緒にクラスター されることを示すヒントを与えます。ネイティブ SfM では、サイドカー情報は現在 文書化目的のみです。COLMAP はカスタム matches-file を介してヒントを内部的に 使用します (手動統合可能、自動的にリンクされません)。パフォーマンス: M3 Ultra でフレームあたり ~200 ms、並列実行。オフの場合、Feature Print は 生成されません。マスター (S11) が無効化されている場合は視覚的にグレーアウト。
S14Auto sky masking (AI)
場所
Settings → AI Helpers → Available セクション → トグル「Auto sky masking」。バインド: UserDefaults.standard.bool(forKey: "aiHelpersSkyMaskingDefault") (Custom Binding 経由)。 デフォルト: false。
技術詳細
新しいトレーニング構成での S7 の Sky-Masking 設定のデフォルト値を 設定します。S11〜S13 とは異なり、実際の Sky-Masking 設定はトレーニングセッション ごとに存続し、アプリ再起動を超えて記憶されません (S7 参照)。それでも、 AI Helpers UI が「新しいトレーニング」の永続的なデフォルトを提供できるように、 このシャドウ値があります: 再起動を超えて記憶され、新しいトレーニングのセットアップ (例えば新しいプロジェクトインポート) で Sky-Masking の初期デフォルトとして引き継がれます。 マスター (S11) が無効化されている場合は視覚的にグレーアウト。
Inspector ミラー設定
インベントリテーブルの他の設定エントリ (S17〜S33) は、エキスパート Inspector からの ミラーリングであり、第 2 章 (Inspector コントロール I12〜I29) に記載されています。 これらは設定ウィンドウに物理的に表示されません。インベントリでは、永続化される TrainingConfig プロパティを介して実行されるため、形式的に設定としての性質を 持つという理由でのみ列挙されています。詳細な説明はそこをご覧ください。
いつ何を?
| 設定 | スコープ | 永続性 |
|---|---|---|
| S1 Default Mode | アプリ全体 | アプリ再起動 |
| S2 Language | アプリ全体 | アプリ再起動 |
| S3 Viewport Background | アプリ全体 (デフォルト) + ランタイム | アプリ再起動 |
| S4 Auto-Rotate After Training | アプリ全体 | アプリ再起動 |
| S5 Live Preview Interval | 新規トレーニングの デフォルト | アプリ再起動 |
| S6 Throttle Delay | 新規トレーニングのデフォルト | アプリ再起動 |
| S7 Sky Masking | 現在のトレーニング | セッションのみ |
| S8 Mid-Training Floater Cleanup | アプリ全体 | アプリ再起動 |
| S9 Reduce Elongated Gaussians | アプリ全体 | アプリ再起動 |
| S10 Reconstruct Sky Dome | アプリ全体 | アプリ再起動 |
| S11 AI Helpers Master | アプリ全体 | アプリ再起動 |
| S12 Frame quality check | アプリ全体 | アプリ再起動 |
| S13 Loop closure detection | アプリ全体 | アプリ再起動 |
| S14 Auto sky masking | 新規トレーニングの デフォルト | アプリ再起動 |
アプリ全体 = すべてのプロジェクトに作用。新規トレーニングのデフォルト = 次に作成されるトレーニングのみに作用、実行中のセッションは変更されません。 現在のトレーニング = 実行中のトレーニング構成に即座に作用しますが、明示的な 再インポートなしには永続化されません。