Benutzerhandbuch

Kapitel 3 — Einstellungen

Das Einstellungs-Fenster öffnet sich über RadianceKit → Einstellungen… oder die Standard-Tastenkombination ⌘,. Es enthält zwei Tabs: General und AI Helpers. Anders als die Inspector-Werte aus Kapitel 2 wirken die Einstellungen aus diesem Fenster app-global (über alle Projekte hinweg) — sie werden bis auf eine Ausnahme dauerhaft gespeichert und überleben App-Neustarts; die Ausnahme ist das Live-Preview-Intervall (S5), das nur für die laufende Sitzung gilt. Der General-Tab gruppiert drei inhaltliche Abschnitte: Interface, Viewport und Training. (Die früher hier angesiedelten Outdoor-Floater-Toggles — Sky Masking, Floater Cleanup und Reconstruct Sky Dome — sind seit v1.6 in den Expert-Inspector gewandert, wo sie pro Projekt gespeichert werden: seit der Neugruppierung vom 2026-07-18 stehen sie in der Sektion Training, Untergruppe Outdoor; siehe Kapitel 2, I42–I44.) Der AI-Helpers-Tab schaltet die On-Device-Machine-Learning-Helfer (Vision, CoreML) für SfM- und Trainings-Vorverarbeitung an.

Das Fenster rollt. Es hat eine feste Größe — im Code auf 460 #sym.times 600 Punkte festgelegt —, und der Inhalt des General-Tabs ist höher als diese Fläche. Beim Öffnen siehst du nur Interface und den oberen Teil von Viewport; Training und damit der Schalter für das automatische PLY (S36) und der Knopf zum Exports-Ordner (S37) erscheinen erst, wenn du nach unten rollst. Wer die beiden dort vermisst, hat meist schlicht nicht gerollt. Die beiden Abbildungen unten zeigen deshalb denselben Tab zweimal: einmal oben und einmal heruntergerollt.

Frühere Bedienelemente zum gesammelten Aktivieren oder Deaktivieren aller AI-Helpers existieren in der aktuellen Version nicht mehr — entsprechend werden sie hier nicht dokumentiert. Auch der frühere „Coming Soon"-Bereich für noch nicht ausgelieferte Helfer wurde entfernt und ist hier nicht referenziert.

General-Tab

Einstellungen → General-Tab, oberer Bereich mit den Abschnitten Benutzeroberfläche und Ansichtsfenster
Einstellungen → General-Tab, oberer Bereich mit den Abschnitten Benutzeroberfläche und Ansichtsfenster

S1Default Mode

WO

Settings → General → Interface → Default Mode-Picker. Voreinstellung: „Simple Mode".

TECHNISCH

Steuert, in welchem von zwei UI-Modi die App nach dem nächsten Start öffnet. „Simple Mode" ist der geführte Wizard-Workflow in 4 Schritten (Import → Processing → Preview → Export, dokumentiert in Kapitel 10 unter Z1–Z4), „Expert Mode" das klassische Drei-Panel-Layout mit Navigator, 3D-Viewport und Expert-Inspector aus Kapitel 2. Der Wert wird über Neustarts gemerkt. Identische Wirkung wie das Menü Mode → Simple Mode (⌘1) / Mode → Expert Mode (⌘2), nur dass das Menü die laufende Sitzung umschaltet, während dieser Picker den Default für künftige Sitzungen setzt. Beide Modi greifen auf denselben Projekt-State zu — Projekte, Kameras und Trainingskonfiguration bleiben beim Modus-Wechsel erhalten. Mode-spezifische Toolbar-Buttons werden sofort neu gerendert.

S38Pause after frame extraction (Expert)

WO

Settings → General → Interface → Toggle „Pause after frame extraction (Expert)". Voreinstellung: aus.

TECHNISCH

Betrifft ausschließlich den Expert-Modus und dort ausschließlich Videomaterial. Ist der Schalter aus (Voreinstellung), heißt der große Knopf „Start Processing" und der Durchlauf geht in einem Zug durch: Bilder aus dem Video holen, Bildgüte prüfen, Kameras ausrichten, trainieren. Ist er an, heißt derselbe Knopf „Extract Frames" und der Durchlauf hält nach dem Herausrechnen und Sichten der Einzelbilder an. In dieser Pause kannst du den Bildersatz im Navigator durchsehen, einzelne Bilder entfernen und die Trainings-Einstellungen ändern, bevor du den Rest selbst startest. Der Wert wird über Neustarts gemerkt. Auf den Simple-Modus und auf Importe, die schon aus Einzelbildern bestehen, hat er keine Wirkung — dort gibt es nichts zu extrahieren.

S34Show marker recipe suggestions

WO

Settings → General → Interface → Toggle „Show marker recipe suggestions". Voreinstellung: an.

TECHNISCH

Erlaubt der App, nach einem Import stillschweigend nach AprilTag-Markern in deinen Bildern zu suchen und dir gegebenenfalls ein anderes SfM-Rezept vorzuschlagen. Der Hinweis erscheint als Banner im Expert-Inspector über der Sektion Cameras & Capture und bietet an, auf Professional umzustellen, das wiederholt gefundene Marker als starre Anker für genauere Kamerapositionen verwendet. Gezählt wird nur, was auch nutzbar ist: eine Marker-ID muss in mindestens drei Bildern auftauchen, sonst ergibt sie keine verwertbare Spur und bleibt ungezählt — mehrere verschiedene IDs, die je nur einmal vorkommen, lösen also nichts aus. Der Hinweis erscheint zudem nur, wenn die native SfM tatsächlich läuft und noch kein höherwertiges Rezept eingestellt ist, und verschwindet, sobald ein Durchlauf startet. Der Schalter ist die dauerhafte Form von „Don't suggest again" im Banner selbst; ein Klick dort schaltet ihn hier aus. Umgekehrt gilt das Wiedereinschalten hier als ausdrücklicher Neuanfang: auch ein für den aktuellen Import weggeklickter Hinweis wird wieder geprüft.

S2Language

WO

Settings → General → Interface → Language-Picker. Voreinstellung: „System Default" (folgt der macOS-Sprache).

TECHNISCH

Wählt die Anzeigesprache der gesamten App-UI, unabhängig von der macOS-System-Sprache. Der Picker listet den Eintrag „System Default" und 18 feste Sprachen: English, Deutsch, Français, Español, Português, Italiano, Nederlands, 日本語, 中文, 한국어, Svenska, Norsk, Dansk, Suomi, Polski, Čeština, Русский, Türkçe. Bei „System Default" folgt die App der macOS-Sprache. Bei einer expliziten Wahl wird die Spracheinstellung über Neustarts gemerkt; vollständige Wirkung braucht in der Regel einen App-Neustart, weil Lokalisierungs-Bundles nur beim Start geladen werden.

S3Viewport Background

WO

Settings → General → Viewport → Background-Picker. Voreinstellung: „Dark Gray" (RGB 0.1, 0.1, 0.1).

TECHNISCH

Setzt die Hintergrundfarbe des 3D-Viewports. Drei Optionen: „Dark Gray" (RGB 0.1, 0.1, 0.1 — Default), „Black" (0, 0, 0) und „White" (1, 1, 1). Die Wahl wirkt sofort auf den laufenden Metal-Renderer und wird in den User-Defaults abgelegt, überlebt also App-Neustarts. Es gibt genau eine Einstellung mit drei Bedienwegen: dieser Picker, das Menü Viewport → Background (M21, M22, M23) und die B-Taste im Viewport schreiben alle über denselben Setter — wer über Menü oder Taste umschaltet, sieht den neuen Wert danach auch hier im Settings-Picker. (Bis einschließlich v1.7 merkte sich die App die Wahl nicht und das Wort „Default" im Picker war insofern unehrlich; seit 2026-07-18 stimmen die drei Wege überein.) Bewusste Folge dieser Änderung: ein weißer Hintergrund bleibt auch nach einem Neustart weiß und steckt damit ebenso in Screenshots und Orbit-Video-Exporten. Für Aufnahmen weiter gültig: weiße Hintergründe heben grüne/blaue Floater stärker hervor, dunkle Hintergründe sind besser für saubere Render-Aufnahmen.

S39Selection color

WO

Settings → General → Viewport → Farbwähler „Selection color". Voreinstellung: Rot (RGB 1, 0, 0).

TECHNISCH

Legt den Farbton fest, mit dem im Bearbeiten-Modus ausgewählte Gaußpunkte eingefärbt werden — also das, was du gerade mit dem Pinsel oder über die Schnittebene markiert hast und im nächsten Schritt löschen oder entsättigen würdest. Der Wähler kennt keine Transparenz. Eine Änderung wird sofort in die User-Defaults geschrieben und an den laufenden Renderer weitergereicht, die Ansicht färbt sich also mit dem nächsten Bild um; ein Neustart ist nicht nötig. Der Ton ist reine Anzeige und steht in keiner exportierten Datei.

S40Cylinder color

WO

Settings → General → Viewport → Farbwähler „Cylinder color". Voreinstellung: Cyan (RGB 0.1, 0.9, 1.0).

TECHNISCH

Legt den Farbton des Zylinder-Zuschnitts fest — sowohl des Drahtgitters als auch des Inhalts, den der Zylinder umschließt. Achtung, die beiden Töne bedeuten Gegenteiliges: die Auswahlfarbe (S39) markiert, was weg soll, die Zylinderfarbe markiert, was bleibt. Deshalb sind sie getrennt einstellbar und ab Werk deutlich verschieden. Wie S39 ohne Transparenz, sofort wirksam und reine Anzeige.

S35Invert vertical navigation

WO

Settings → General → Viewport → Toggle „Invert vertical navigation". Voreinstellung: aus.

TECHNISCH

Dreht die Auf-/Ab-Richtung der Viewport-Navigation um. Umfang seit 2026-07-18: Kreisen (Orbit), der Blick im Flug-Modus und das Schwenken — letzteres sowohl per Geste als auch beim Ziehen mit der rechten Maustaste, das das Flag vorher gar nicht gelesen hat. Vorher wirkte der Schalter nur halb, wer ihn anschaltete, bewegte zwei Gesten gegeneinander. Beim Schwenken hat die vertikale Mausbewegung von Haus aus das umgekehrte Vorzeichen wie beim Kreisen, deshalb wird es dort bedingt gedreht statt aus dem Kreisen kopiert — wer den Schalter nie anfasst, merkt von der Korrektur nichts. Zoom bleibt bewusst ausgenommen: dort trägt bereits die Scrollrichtung des Systems die Vorzeichen-Entscheidung, und die Deltas steuern Abstand und Blickwinkel, keine vertikale Navigation.

Ab hier muss gerollt werden — die folgenden drei Einträge liegen unterhalb der sichtbaren Fläche des Fensters.

Einstellungen → General-Tab, nach unten gerollt: das Ende des Abschnitts Ansichtsfenster und der Abschnitt Training
Einstellungen → General-Tab, nach unten gerollt: das Ende des Abschnitts Ansichtsfenster und der Abschnitt Training

S5Live Preview Interval

WO

Settings → General → Training → Live Preview-Picker. Voreinstellung: „Every 50 Iterations".

TECHNISCH

Bestimmt, in welchem Iterations-Abstand der laufende Trainings-Snapshot in den 3D-Viewport gerendert wird. Vier diskrete Werte: 0 („Off"), 50, 250, 1000 Iterationen. Bei aktivem Live Preview kopiert der Trainer den Gaussian-Buffer aus der GPU in einen separaten Render-Buffer und triggert einen Viewport-Redraw. Bei „Off" wird der Viewport erst nach Trainings-Abschluss aktualisiert. Performance-Kosten: alle 50 Iterationen ~5–10% langsamer auf M3 Ultra, alle 250 Iterationen ~1–2% langsamer, alle 1000 Iterationen unmessbar. Memory-Overhead konstant ~2 GB für den Snapshot-Buffer, unabhängig vom Intervall. Geltungsbereich: der Wert gehört der App, nicht der Szene. Er wird aus technischen Gründen zusammen mit den Trainings-Einstellungen mitgeführt, bleibt aber beim Öffnen einer Szenendatei, beim Wechsel der Voreinstellung und beim automatischen 360°-Umschalten ausdrücklich erhalten — vorher überschrieb eine geöffnete Szene die eigene Vorschau-Rate mit der des Szenen-Autors, „Off" eingeschlossen. Aus demselben Grund zählt er nicht zum Rezept-Vergleich und löst kein „Modified"-Abzeichen an der Voreinstellung aus. Auch „Continue Training" richtet sich nach dem aktuellen Wert statt nach dem, der beim ursprünglichen Lauf galt — eine Fortsetzung zeigt seither überhaupt eine Vorschau und respektiert es, wenn man sie zwischenzeitlich abgeschaltet hat. Er ist zugleich die einzige Einstellung dieses Fensters, die der App-Neustart nicht überlebt: anders als alle anderen Einträge hier wird er nirgends dauerhaft abgelegt, jeder Start beginnt wieder bei „Every 50 Iterations". Ein bereits laufendes Training ändert seine Rate nicht mehr; eine Änderung greift beim nächsten Lauf. Bei Intervall 50 ist der Visual-Eindruck ein flüssiges „Aufwachsen" der Punktwolke, bei 1000 wirkt es stockend.

S36Save a PLY automatically after each run

WO

Settings → General → Training → Toggle „Save a PLY automatically after each run". Voreinstellung: an.

TECHNISCH

Schreibt nach jedem beendeten Lauf — frischer Lauf und Fortsetzung — das Ergebnis als PLY in den Exports-Ordner (training_<Zeitstempel>.ply). Die Funktion selbst gibt es seit v1.7.0, sie lief aber ohne jede Anzeige und ohne Schalter; seit 2026-07-18 ist sie sichtbar und abschaltbar. Vorsicht beim Ausschalten: der automatische Schreibvorgang ist ein Sicherheitsnetz — ohne ihn existiert ein fertiger Lauf nur im Arbeitsspeicher, bis du ihn selbst exportierst oder als Szene sicherst. Vorsicht beim Anlassen: eine Datei erreicht bei detailreichen Szenen ~2 GB. Wurde die Einstellung nie angefasst, gilt „an": ein fehlender Wert in den User-Defaults wird ausdrücklich als „an" gelesen, nicht als „aus" — sonst hätte jeder Bestandsnutzer das Netz stillschweigend verloren. Der Zielordner hängt vom Build ab: ohne Sandbox ~/Documents/RadianceKit/Exports, in der App-Store-Version dagegen ~/Library/Containers/…/Documents/RadianceKit/Exports — deshalb der Knopf daneben (S37).

S37Show Exports Folder…

WO

Settings → General → Training → Button „Show Exports Folder…". Reine Aktion, kein gespeicherter Wert.

TECHNISCH

Öffnet den Ordner im Finder, in den die automatischen PLYs aus S36 geschrieben werden. Existiert, weil der Pfad sich je nach Build unterscheidet und die Dateien in der App-Store-Version im Container der App liegen, wo niemand nachschaut — genau deshalb wirkten sie wiederholt „verschwunden". Knopf und Schreiber benutzen dieselbe Pfad-Definition, können also nicht auseinanderlaufen. Kein gespeicherter Zustand.

Beim Beenden mit ungesicherter Arbeit fragt die App seit 2026-07-18 nach, statt kommentarlos zu schließen. Läuft gerade ein Durchlauf, heißt die Rückfrage „Quit while a run is in progress?" — der Lauf würde abgebrochen und sein Fortschritt wäre weg. Liegt ein fertig trainiertes Ergebnis vor, das weder exportiert noch als Szene gesichert wurde, heißt sie „Quit without saving the result?". Voreingestellt ist jeweils Cancel; Return und Escape brechen das Beenden also ab, „Quit Anyway" beendet trotzdem. Skript- und Autotest-Starts sind ausgenommen und beenden sich ohne Rückfrage. Ist S36 an, tritt der zweite Fall selten auf — das Ergebnis liegt dann bereits als PLY im Exports-Ordner und gilt als gesichert.

AI-Helpers-Tab

Einstellungen → KI-Helfer-Tab mit Master-Schalter und Sub-Toggles
Einstellungen → KI-Helfer-Tab mit Master-Schalter und Sub-Toggles

S11AI Helpers enabled (Master)

WO

Settings → AI Helpers → erste Section → Toggle „AI Helpers enabled". Voreinstellung: an.

TECHNISCH

Master-Schalter über sämtliche AI-Helpers-Features in der Pipeline. Wenn aus, überspringt die Import- und SfM-Pipeline alle ML-basierten Vorverarbeitungs-Stages komplett — kein Apple-Vision-Aufruf, kein CoreML-Model-Load, keine NPU-Aufweckung. Wenn an, werden die individuellen Unter-Optionen (S12–S13) konsultiert. Der Wert wird über Neustarts gemerkt. Wirkt sich auf folgende Stages aus: (a) Frame-Quality-Pre-Check vor SfM (S12), (b) Loop-Closure-Erkennung (S13). Wichtig: bei aus sind sämtliche Unter-Optionen des Tabs deaktiviert und visuell ausgegraut. Footer-Hinweis betont, dass alle AI-Helpers strikt on-device laufen — kein Bild-Upload, keine Cloud-Verarbeitung. Datenschutz-Garantie kommt durch die Verwendung von ausschließlich Apple-Vision-Framework (lokal auf der Neural Engine) und CoreML-Models, die direkt im App-Bundle liegen.

S12Frame quality check

WO

Settings → AI Helpers → Available-Section → Toggle „Frame quality check". Voreinstellung: an.

TECHNISCH

Aktiviert den Frame-Quality-Screener, der vor dem SfM-Aufruf jeden importierten Frame analysiert. Geprüft wird pro Frame auf Bewegungsunschärfe, Über- und Unterbelichtung, zu wenig Bildstruktur sowie einen verdeckten Objektiv-Ausschnitt; der Befund wird zusätzlich nach Schweregrad abgestuft (unauffällig, Warnung, gravierend). Frames ohne Befund gehen direkt durch. Auffällige Frames lösen einen modalen Confirmation-Dialog aus, der jeden problematischen Frame mit Thumbnail und Begründung listet und fragt, ob er entfernt werden soll — wahlweise alle behalten, alle beanstandeten entfernen oder eine eigene Auswahl entfernen. Wichtig: keine automatische Löschung — der Dialog ist immer erforderlich, der Nutzer behält die letzte Entscheidung. Bei aus werden alle Frames ungeprüft an SfM weitergereicht. Bei deaktiviertem Master (S11) ist dieser Toggle visuell ausgegraut und ohne Wirkung.

S13Loop closure detection

WO

Settings → AI Helpers → Available-Section → Toggle „Loop closure detection". Voreinstellung: an.

TECHNISCH

Aktiviert die Apple-Vision-Feature-Print-basierte Loop-Closure-Erkennung. Für jeden importierten Frame wird ein Feature-Print berechnet, ein neuronales Embedding des Bildinhalts. Anschließend werden die Feature-Prints paarweise verglichen; hinreichend ähnliche Paare, die in der Aufnahmereihenfolge weit genug auseinanderliegen (also keine direkten Nachbarn sind), werden als „Loop-Closure-Kandidaten" identifiziert und in eine Sidecar-JSONL-Datei im Projekt-Ordner geschrieben. Informational only — die importierte Bilder-Sequenz wird nicht modifiziert. Sinn: gibt dem SfM-Solver (insbesondere COLMAP) einen Hinweis, dass diese Frames im 3D-Raum zusammen-cluster gehören. Für native SfM ist die Sidecar-Information aktuell nur dokumentierend; COLMAP nutzt die Hints intern via custom matches-file (manuelle Integration möglich, nicht automatisch verknüpft). Bei aus werden keine Feature-Prints generiert. Bei deaktiviertem Master (S11) visuell ausgegraut.

Inspector-Spiegel-Settings

Die übrigen Settings-Einträge (S17–S33) sind Spiegelungen aus dem Expert-Inspector und in Kapitel 2 (Inspector-Controls I12–I29) dokumentiert. Sie erscheinen nicht physisch im Settings-Fenster, sondern werden hier nur deshalb aufgeführt, weil sie zu den Trainings-Einstellungen gehören und insofern formal Settings-Charakter haben. Anders als die Einträge dieses Kapitels sind sie nicht app-global: sie gehören zum Rezept, werden mit Voreinstellung und Szenendatei gespeichert und wechseln daher mit dem Projekt. Für inhaltliche Erläuterungen siehe dort.

Wann was?

SettingGeltungsbereichPersistenz
S1 Default ModeApp-GlobalApp-Neustart
S2 LanguageApp-GlobalApp-Neustart
S3 Viewport BackgroundApp-Global (Picker, Menü und B-Taste sind dieselbe Einstellung)App-Neustart
S5 Live Preview IntervalApp-Global (reist nicht in der Szene mit)nur laufende Sitzung
S11 AI Helpers MasterApp-GlobalApp-Neustart
S12 Frame quality checkApp-GlobalApp-Neustart
S13 Loop closure detectionApp-GlobalApp-Neustart
S34 Show marker recipe suggestionsApp-GlobalApp-Neustart
S35 Invert vertical navigationApp-GlobalApp-Neustart
S36 Save a PLY automaticallyApp-GlobalApp-Neustart
S37 Show Exports Folder…Aktion
S38 Pause after frame extractionApp-Global (nur Expert-Modus, nur Video)App-Neustart
S39 Selection colorApp-Global (nur Anzeige)App-Neustart
S40 Cylinder colorApp-Global (nur Anzeige)App-Neustart

App-Global = wirkt auf alle Projekte. Aktion = kein gespeicherter Zustand, der Knopf tut einmalig etwas. Keine der hier dokumentierten Einstellungen reist in einer Szenendatei mit. Alle bis auf eine überleben zudem den App-Neustart; die Ausnahme ist das Live-Preview-Intervall (S5), das jeder Start auf „Every 50 Iterations" zurücksetzt.