Kapittel 3 — Innstillinger
Innstillingsvinduet åpnes via RadianceKit → Innstillinger… eller standardsnarveien ⌘,. Det inneholder to faner: General og AI Helpers. I motsetning til Inspector-verdiene fra kapittel 2 virker innstillingene fra dette vinduet app-globalt (på tvers av alle prosjekter) — de persisteres og overlever app-omstart. General-fanen grupperer fire innholdsmessige seksjoner: Interface, Viewport, Training og en eksperimentell seksjon for outdoor-floater-reduksjon. AI-Helpers-fanen slår på on-device-machine-learning-hjelperne (Vision, CoreML) for SfM- og treningsforbehandling.
Tidligere betjeningselementer for samlet aktivering eller deaktivering av alle AI-helpers finnes ikke lenger i den aktuelle versjonen — de er derfor ikke dokumentert her. Også det tidligere „Coming Soon"- området for ennå ikke leverte hjelpere er fjernet og refereres ikke her.
General-fanen

S1Default Mode
HVOR
Settings → General → Interface → Default Mode-velger. Bound:. Default: .simple.
TEKNISK
Styrer hvilken av to UI-modus appen åpner i ved neste oppstart. „Simple Mode" er den veiledede wizard-arbeidsflyten i 4 trinn (Import → Processing → Preview → Export, dokumentert i kapittel 10 under Z1–Z4), „Expert Mode" det klassiske trepanellayoutet med Navigator, 3D-viewport og Expert-Inspector fra kapittel 2. Verdien huskes på tvers av omstart. Identisk virkning som menyen Mode → Simple Mode (⌘1) / Mode → Expert Mode (⌘2), bortsett fra at menyen skifter den løpende sesjonen, mens denne velgeren setter standarden for fremtidige sesjoner. Begge modus aksesserer samme prosjekt-state — prosjekter, kameraer og treningskonfigurasjon bevares ved modusskifte. Modusspesifikke verktøylinjeknapper gjenrendres umiddelbart.
S2Language
HVOR
Settings → General → Interface → Language-velger. Bound:. Default: .system (følger macOS-språket).
TEKNISK
Velger visningsspråk for hele app-UI-en, uavhengig av macOS-systemspråket. RadianceKit er lokalisert til 17 språk (de, en, pl, en-AU, ar-SA pluss 12 ytterligere). Ved „System" følger appen macOS-språket. Ved et eksplisitt valg huskes språkinnstillingen på tvers av omstart; full virkning krever som regel en app-omstart, fordi lokaliseringsbundles bare lastes ved oppstart. De 298 dokumenterte lokaliseringsnøklene i prosjektet tas alle med, inkludert alle tekster i sub-views og hjelpetooltips.
S3Viewport Background
HVOR
Settings → General → Viewport → Background-velger. Bound:. Default: .darkGray (RGB 0.1, 0.1, 0.1).
TEKNISK
Setter standard bakgrunnsfarge for 3D-viewporten. Tre alternativer: „Dark Gray" (RGB 0.1, 0.1, 0.1 — default), „Black" (0, 0, 0) og „White" (1, 1, 1). Innstillingen persisterer standarden for nye prosjekter og sesjoner på tvers av omstart og oppdaterer samtidig den kjørende Metal-rendereren umiddelbart. Identiske alternativer finnes i menyen Viewport → Background (M21, M22, M23), men Settings-velgeren setter standarden, mens menyen skifter den løpende visningen. Viktig for skjermbilder og demovideoer: hvite bakgrunner fremhever grønne/blå floaters tydeligere, mørke bakgrunner er bedre for rene render-opptak.
S4Auto-Rotate After Training
HVOR
Settings → General → Viewport → Toggle „Auto-Rotate After Training". Bound:. Default: false.
TEKNISK
Starter umiddelbart etter treningsslutt en kontinuerlig turntable-rotasjon av viewport-kameraet om scenens tyngdepunkt (standard rotasjonshastighet ~0.3 rad/s). Praktisk nyttig for demo-sesjoner, A/B-sammenligninger og for direkte å vurdere fra 360°-perspektiv om det har oppstått „floaters" ved scenekanten. Effekten er visuelt identisk med menyen Viewport → Toggle Auto-Rotation (M16, ⌘⌥T), bortsett fra at toggle-en her utløser atferden automatisk etter treningsslutt i stedet for manuelt. Lar seg senere avbryte når som helst via menyen eller ved klikk i viewporten (som pauser rotasjonen). Har ingen innflytelse på treningsytelsen — rotasjonen kjører først når treningen er ferdig.
S5Live Preview Interval
HVOR
Settings → General → Training → Live Preview-velger. Bound: AppState.trainingConfig.livePreviewInterval. Default: 0 (Off).
TEKNISK
Bestemmer med hvilket iterasjonsintervall det løpende treningsøyeblikksbildet rendres inn i 3D-viewporten. Fire diskrete verdier: 0 („Off"), 50, 250, 1000 iterasjoner. Ved aktiv Live Preview kopierer treneren Gaussian-bufferen fra GPU-en til en separat render-buffer og utløser en viewport-redraw. Ved „Off" oppdateres viewporten først etter treningsavslutning. Ytelseskostnad: hver 50. iterasjon ~5–10% langsommere på M3 Ultra, hver 250. iterasjon ~1–2% langsommere, hver 1000. iterasjon ikke målbar. Memory-overhead konstant ~2 GB for snapshot-bufferen, uavhengig av intervallet. Verdien fungerer som standard for nye treninger; etter treningsstart viser trenings-Inspector den reelle live-verdien for den aktuelle treningen. Ved intervall 50 er det visuelle inntrykket en flytende „oppvekst" av punktskyen, ved 1000 virker det hakkete.
S6Throttle Delay
HVOR
Settings → General → Training → Throttle-velger. Bound: AppState.trainingConfig.throttleDelayMs. Default: 0 (Off).
TEKNISK
Setter inn en kunstig forsinkelse i millisekunder mellom treningsiterasjoner. Fire diskrete verdier: 0 („Off"), 2 („Light"), 5 („Moderate"), 10 („Eco"). Mening: ved lengre treninger (flere timer) blir GPU-en ellers belastet 100 %, noe som fører til merkbart langsommere system-UI (musepekeren hakker, andre apper blir trege). Throttle-forsinkelsen gir GPU-en pauser der andre oppgaver kan utføres. Ytelseskostnaden er betydelig: ved 5 ms throttle varer en typisk 40K-trening rundt 50–80% lenger enn uten throttle. I ytelsesmodus „Eco" (10 ms) er forsinkelsen per iterasjon lengre enn selve iterasjonen — faktor 2–3× langsommere. Ved aktiv throttle vises det under velgeren en merknad: „Throttle is on. Training will be slower than usual." Selve appen reagerer ikke merkbart bedre — bare andre apper har nytte av det.
S7Sky Masking
HVOR
Settings → General → Experimental — Outdoor Floater Reduction → Toggle „Sky Masking". Bound: AppState.trainingConfig.skyMaskingEnabled. Default: false.
TEKNISK
Aktiverer pre-training Apple-Vision-basert himmelpiksel-segmentering. Før treningsstart ekstraheres himmelregionen for hvert input-kamera via Apple-Vision-Foreground-Mask (Sky = Background) og tilknyttes det respektive kameraet som per-piksel-maske. Under treningen multipliseres loss-bidraget per piksel med komplementet av himmelmasken — himmelpiksler bidrar 0 til gradienten, slik at gaussians som projiserer inn i himmelen ikke mottar optimeringssignaler og dermed ikke blir „tettere" eller „lysere". Reduserer floaters (mørke klumper i himmelen) ved outdoor-/drone-scener signifikant. Koster ~3% L1-regresjon ved klassisk 40K-trening (se memory/dev_outdoor-floater-reduction.md). Bare meningsfull ved outdoor-scener med klart gjenkjennelig himmel; ved innendørs scener eller hvit bakgrunn identifiserer himmel-segmenteringen feilaktige områder og blokkerer gyldige loss-signaler. I motsetning til de øvrige eksperimentelle toggles huskes verdien ikke på tvers av app-omstart — ved neste app-start er den slått av igjen.
S8Mid-Training Floater Cleanup
HVOR
Settings → General → Experimental — Outdoor Floater Reduction → Toggle „Mid-Training Floater Cleanup". Bound:. Default: false.
TEKNISK
Aktiverer ved klassisk 40K-trening (preset „P4 Quality") to ekstra density-control-passes: ved iterasjon 20,000 og ved iterasjon 30,000. Begge passes gjennomsøker alle gaussians etter tre kriterier: (a) veldig lav opacity (standard 0.005), (b) liten screen-space-størrelse, (c) ingen loss-bidrag i de siste 1000 iterasjonene. Gaussians som oppfyller alle tre betingelsene, purges. Effekt: ~5–15% færre gaussians ved treningsslutt, synlig færre mørke klumper i himmelen ved drone-/outdoor-scener. Koster ~1–3% L1-regresjon ved nærbilde-indoor-scener, derfor ikke aktivert som default. Verdien huskes på tvers av omstart (i motsetning til S7). De to cleanup-iterasjonene (20K, 30K) er hardt definert og kan p.t. ikke endres via UI; ved kortere treninger (f.eks. P2 Preview 5K) har toggle-en ingen effekt fordi den aldri når iterasjonsmerkene. Detaljer: memory/dev_outdoor-floater-reduction.md.
S9Reduce Elongated Gaussians
HVOR
Settings → General → Experimental — Outdoor Floater Reduction → Toggle „Reduce Elongated Gaussians". Bound:. Default: false.
TEKNISK
Aktiverer en ytterligere anisotropi-regularisering i loss-termen. Under optimeringen beregnes for hver gaussian anisotropien som forholdet mellom største og minste skaleringsakse. Ligger forholdet over en terskel (, standard 10.0), legges en penalty-term til loss-en som skalerer proporsjonalt med overskridelsen. Effekt: nålformede gaussians, som er typiske for cross-hatch- og streak-artefakter i gress og tett løvverk, tvinges under treningen enten til rundere former eller purges. Til gjengjeld ~6 % L1-regresjon ved standard-indoor-scener, ingen effekt ved strikte object-captures. Sweet spot er ved droneflygingsopptak over vegetasjon. Skriver til, persisterer via. Implementering i optimizer.metal som en ytterligere penalty i gradient-beregningen. Se merknaden i prosjekt-memory: V549d var den shippede versjonen, en senere V549f med mer aggressiv scale-reg ble rullet tilbake på grunn av katastrofal regresjon. Detaljer: memory/dev_outdoor-floater-reduction.md og memory/dev_v549f-needle-reduction.md.
S10Reconstruct Sky Dome
HVOR
Settings → General → Experimental — Outdoor Floater Reduction → Toggle „Reconstruct Sky Dome". Bound:. Default: false.
TEKNISK
Aktiverer pre-training sky-dome-projeksjonen (V549e MVP). Etter SfM og før treningsstart ekstraheres for hvert input-kamera den i S7 felles brukte Apple-Vision-himmelmasken fra bildet, himmelpikslene av-projiseres med kamera-intrinsics på en virtuell kuleoverflate (standard radius 8× sceneradius). På denne kulen initialiseres ~5000 nye gaussians med fargemiddelverdier fra de projiserte himmelpikslene, veldig stor skalering (1.0 i sceneenheter) og start-opacity 0.95. Disse 5000 gaussians er ikke en sky-mask i klassisk forstand — de trenes som alle andre, men holdes via den høye start-opacity i et tynt skall. Resultat: ved 360°-novel-views i outdoor-/drone-scener fremstår faktiske himmelfarger og skyformasjoner i stedet for mørke konfettiklumper. Verdien huskes på tvers av omstart. Bare meningsfull ved outdoor-scener med minst 360°-kameradekning; ved rene object-captures uten himmel har det ingen effekt. Status: eksperimentell, bredere A/B-validering på tvers av ytterligere outdoor-sett gjenstår.
AI-Helpers-fanen

S11AI Helpers enabled (Master)
HVOR
Settings → AI Helpers → første seksjon → Toggle „AI Helpers enabled". Bound:. Default: true.
TEKNISK
Masterbryter over alle AI-helpers-funksjoner i pipelinen. Når avslått, hopper import- og SfM-pipelinen over alle ML-baserte forbehandlingsstadier helt — ingen Apple-Vision- kall, ingen CoreML-modellinnlasting, ingen NPU-oppvåkning. Når slått på konsulteres de individuelle sub-toggles (S12–S14). Verdien huskes på tvers av omstart. Påvirker følgende stadier: (a) frame-quality- pre-check før SfM (S12), (b) loop-closure-deteksjon (S13), (c) auto-sky-masking som default-verdi for nye treninger (S14). Viktig: ved avslått er de tre sub-toggles deaktivert og visuelt grånet ut. Footer-merknad understreker at alle AI-helpers strengt kjører on-device — ingen bildeopplasting, ingen skybehandling. Personverngarantien kommer ved utelukkende bruk av Apple-Vision-framework (lokalt på Neural Engine) og CoreML-modeller som ligger direkte i app-bundlen.
S12Frame quality check
HVOR
Settings → AI Helpers → Available-seksjon → Toggle „Frame quality check". Bound:. Default: true.
TEKNISK
Aktiverer frame-quality-screeneren (fase 3.11), som før SfM-kallet analyserer hver importerte frame. Pipeline-trinn per frame: (a) Laplacian-variance-filter fra Apple Vision (uskarphetsdeteksjon — terskel ~150), (b) histogram-basert over/under-eksponerings-sjekk (terskel: >5% piksel ved 0 eller 255), (c) blank-frame-detect (standardavvik < 5 over alle piksler). Frames som består alle tre tester går direkte igjennom. Frames som feiler minst én test, utløser en modal bekreftelsesdialog som lister hver problematiske frame med thumbnail og begrunnelse og spør om den skal fjernes. Viktig: ingen automatisk sletting — dialogen er alltid påkrevd, brukeren beholder den siste avgjørelsen. Ytelse: ~50 ms per frame på M3 Ultra, kjører parallelt. Ved avslått sendes alle frames uprøvd videre til SfM. Ved deaktivert master (S11) er denne toggle visuelt grånet ut og uten virkning. Shipped status ifølge memory: SHIPPED 2026-05-23.
S13Loop closure detection
HVOR
Settings → AI Helpers → Available-seksjon → Toggle „Loop closure detection". Bound:. Default: true.
TEKNISK
Aktiverer Apple-Vision-Feature-Print-basert loop-closure-deteksjon. For hver importerte frame beregnes en ~768-dimensjonal feature-vektor som representerer en nevral innleiring av bildeinnholdet. Deretter sammenlignes alle feature-prints parvis via cosine-similarity. Par med similarity > 0.85 og avstand i frame-index > 50 (altså ikke-nabostilte frames) identifiseres som „loop-closure-kandidater" og skrives i en sidecar-JSONL-fil i prosjektmappen. Bare informativ — den importerte bildesekvensen modifiseres ikke. Mening: gir SfM-solveren (spesielt COLMAP) et hint om at disse frames hører sammen i klyngen i 3D-rommet. For native SfM er sidecar-informasjonen p.t. bare dokumenterende; COLMAP bruker hintene internt via custom matches-file (manuell integrasjon mulig, ikke automatisk koblet). Ytelse: ~200 ms per frame på M3 Ultra, kjører parallelt. Ved avslått genereres ingen feature-prints. Ved deaktivert master (S11) visuelt grånet ut.
S14Auto sky masking (AI)
HVOR
Settings → AI Helpers → Available-seksjon → Toggle „Auto sky masking". Bound: UserDefaults.standard.bool(forKey: "aiHelpersSkyMaskingDefault") (via custom-binding). Default: false.
TEKNISK
Setter default-verdien for sky-masking-innstillingen fra S7 ved nye treningskonfigurasjoner. I motsetning til S11–S13 lever den egentlige sky-masking-innstillingen per training-sesjon og huskes ikke på tvers av app-omstart (se S7). For at AI-helpers-UI-en likevel kan tilby en persistent default for „nye treninger", finnes denne skyggeverdien: den huskes på tvers av omstart og overtas som initial default for sky-masking ved oppsett av en ny trening (f.eks. ny prosjektimport). Ved deaktivert master (S11) visuelt grånet ut.
Inspector-speilet settings
De øvrige settings-oppføringene (S17–S33) fra inventartabellen er speilinger fra Expert-Inspector og dokumentert i kapittel 2 (Inspector-Controls I12–I29). De dukker ikke fysisk opp i innstillingsvinduet, men er bare listet i inventaret fordi de kjører via TrainingConfig-properties som persisteres via, og dermed formelt har settings-karakter. For innholdsmessige forklaringer henvises det dit.
Når hva?
| Setting | Gyldighetsområde | Persistens |
|---|---|---|
| S1 Default Mode | App-globalt | App-omstart |
| S2 Language | App-globalt | App-omstart |
| S3 Viewport Background | App-globalt (default) + runtime | App-omstart |
| S4 Auto-Rotate After Training | App-globalt | App-omstart |
| S5 Live Preview Interval | Default for nye treninger | App-omstart |
| S6 Throttle Delay | Default for nye treninger | App-omstart |
| S7 Sky Masking | Aktuell trening | kun sesjon |
| S8 Mid-Training Floater Cleanup | App-globalt | App-omstart |
| S9 Reduce Elongated Gaussians | App-globalt | App-omstart |
| S10 Reconstruct Sky Dome | App-globalt | App-omstart |
| S11 AI Helpers Master | App-globalt | App-omstart |
| S12 Frame quality check | App-globalt | App-omstart |
| S13 Loop closure detection | App-globalt | App-omstart |
| S14 Auto sky masking | Default for nye treninger | App-omstart |
App-globalt = virker på alle prosjekter. Default for nye treninger = virker bare på den neste opprettede treningen, løpende sesjoner forblir uendret. Aktuell trening = virker umiddelbart på den løpende treningskonfigurasjonen, men persisterer ikke uten eksplisitt reimport.