Kapitel 2 — Inspector (Expert View)

Tom Inspector före import: Den vänstra kolumnen visar punkterna Images, Cameras och Log, därunder rubrikraden „Images (0)" och droppytan „Drop images here / or tap + to import". Viewporten i mitten är tom. Till höger står Inspector med sex hopfällda sektioner: Presets, Cameras & Capture, Training, Progress, Look och Export. Under varje rubrik anger en grå rad vad sektionen gör och när den verkar — „Ready-made recipes — they replace the training settings" (Presets), „Before training · decides how camera positions are solved · applies to the next run" (Cameras & Capture), „Before training · drives scene build-up and optimization · applies to the next run" (Training), „Display only" (Progress), „After training · applies immediately · reversible any time" (Look) och „Leveling the floor turns the view at once; the chosen orientation and format apply when saving" (Export). Längst ner löper statusraden med statusen „Idle" samt den gröna start- och den röda stoppknappen; uppe till höger finns växlaren Simple/Expert, här inställd på Expert.

Inspector efter import: Rubrikraden i bildlistan visar „Images (35)", därunder står de importerade bilderna med stigande filnamn från IMG_0953.JPG. Bilderna i denna testserie har upplösningen 4032×3024 pixlar; Auto-Render-Scale-logiken läser denna upplösning och föreslår en lämplig Render Scale. Viewporten är fortfarande tom, statusraden visar „Idle". Den gröna startknappen nere till vänster är nu aktiv och startar träningen med det aktiva presetet.

Inspector under träning: Titelraden visar det globala förloppet, här „RadianceKit — Training 23%". Viewporten renderar den pågående rekonstruktionen i realtid — en tygand på ett fårskinn, redan tydligt urskiljbar (uppdateringsintervallet för liveförhandsvisningen finns i Settings → General → Training → Live Preview). Under viewporten löper förloppet („4,700/20,000", „ETA 1m9s") och mätvärdesraden med Loss 0.0109, LR 2.0e-04, SH 1 och Gaussians 16.0K; nere till vänster finns paus- och stoppknappen. I Inspector är gruppen CLASSIC utfälld, „Balanced 20K iters" har den gröna bocken. En „Modified"-märkning visas först när en parameter avviker från presetet — här syns ingen. Sidofältet „Log" samlar SfM- och Training-Stage-händelser.

Inspector efter träning: Titelraden anger resultatet: „Training Complete — 8,708 Gaussians". I den vänstra kolumnen står „Complete" med samma tal, samt Images 25 och Cameras 35 — 25 bilder eftersom Frame-Quality-dialogen sorterade bort tio suddiga av 35 bilder. Statusraden meddelar „Completed" vid 20,000/20,000, mätvärdesraden Loss 0.0075, LR 0.0e+00, SH 3 och Gaussians 9.7K. Viewporten visar det färdiga punktmolnet i fullformat — orbital drag-navigering aktiv (roterar kring scenens mittpunkt).
Att två olika Gaussian-tal visas här är avsiktligt: Mätvärdesraden och Training Metrics anger läget vid slutet av träningen (här 9,660, avrundat 9.7K), titelraden och scenen anger läget efter de automatiska uppstädningsomgångarna (8,708). Däremellan ligger Post-Training Compactification och borttagning av nål- och skivformade splats. Det mindre talet är det som visas i viewporten och det som sparas vid export. Grupperna Training Metrics och Loss History är nu fyllda med slutvärdena, Export-sektionen är aktiv.
Inspector är det högra sidofältet i Expert Mode (⌘2). Det samlar alla träningsrelevanta parametrar i sex hopfällbara sektioner, som sedan 2026-07-18 grupperas efter domän. Standard- ordningen uppifrån och ner är: Presets, Kameror & Fångst, Träning, Förlopp, Look och Export. Under varje rubrik finns en andra rad som anger fasen — när sektionen verkar och hur reversibel den är (t.ex. „Before training · decides how camera positions are solved · applies to the next run" för Kameror & Fångst, „After training · applies immediately · reversible any time" för Look, „Display only" för Förlopp). Två tidigare sektioner har slagits ihop: Mätvärden och Förlustdiagram är nu två separat fällbara grupper („Training Metrics" och „Loss History") inom Förlopp, och den tidigare Enhancements-sektionen ingår helt i Training. „Look"-sektionen (bildjusteringar efter träning) är den faktiska UI-omdöpningen av den tidigare „Finishing"-sektionen — det interna namnet förblir av kompatibilitetsskäl „Finishing", den visade rubriken heter „Look" (samma mönster gäller Training, som internt heter „Training Configuration"). Varje sektion kan fällas ihop genom att klicka på rubriken, ordningen kan ändras med drag-and-drop. Vid första starten är sektionerna hopfällda — i bilden ovan är alla sex stängda; appens tillstånd sparar fäll- och ordningspreferenser efter det över appstarter. En redan sparad gammal ordning migreras vid första starten en gång till den nya grupperingen; Viewport ▸ Reset Inspector Layout återställer leveransläget.
En rad kontrollelement från Inspector dyker upp i nästan identisk form även i inställningarna (Kapitel 3) — typiskt SfM-backend, Sky-Masking och liknande standardvärden. Uppdelningen är medveten: Inställningarna ger den app-globala mallen för nyskapade projekt, Inspector skriver över dessa värden för det aktuellt öppna projektet. Den som väl känner till manöverlogiken på ena sidan kan använda den andra blint.
Den vänstra kolumnen i Expert Mode — Project Navigator — hör inte till Inspector, men är dess direkta granne. Där kan importerade bilder väljas med klick, visas i Quick Look med mellanslagstangenten och tas bort via minusknappen eller Ta bort-tangenten (med Cmd-Z för att ångra). Inspector följer det aktuella sidofältsvalet med kontextspecifik detaljinformation, men de sju huvudsektionerna förblir alltid tillgängliga.
Utseende-sektionen (L1–L5)
Utseende-sektionen (internt fortfarande kallad „Finishing") är sedan domän-omgrupperingen den femte Inspector-sektionen — mellan förlopp och export — och samlar alla post-träning -bildjusteringar på ett ställe. Alla reglage arbetar icke destruktivt: Varje slider tillämpar utseendeberäkningen på nytt på en oförändrad pristine-ögonblicksbild (ursprunglig DC-färg, opacitet, skalning) — justeringen är därmed idempotent, inte kumulativ. Resultatet visas live i Viewport (WYSIWYG, exakt som den senare exporten) och bakas in i varje export. Sektionen är endast tillgänglig efter att en träningskörning har slutförts (innan dess visas „Available after a training run completes."); dess värden återställs vid varje ny träning. Så länge en export pågår är alla reglage låsta — ett låsmeddelande „Locked while exporting — the file uses the current settings." visas och GroupBox är inaktiverad.
L1Saturation-slider
VAR
Inspector → Utseende-sektionen → GroupBox → Saturation.
TEKNISKT
Slider 0.5–1.2, tvåsiffrig visning (t.ex. „1.00"). Skalar SH-DC-kroman för varje splat kring luminansvärdet: 1.0 = oförändrat, < 1.0 = avmättad (färg dras mot gråskala), > 1.0 = kraftfullare. Matematiskt beräknas DC-färgen om från pristine-ögonblicksbilden, så att upprepad förskjutning inte ackumuleras. Har validerats på DJI-drönarmaterial (Pensford-viadukten), som tenderar att vara översaturerat — drönar-standardvärdet ligger på 0.82. Påverkar bara färgbasen (SH-grad 0), högre SH-koefficienter berörs inte.
L2Splat length-slider
VAR
Inspector → Utseende-sektionen → GroupBox → Splat length.
TEKNISKT
Slider 0.3–1.0, tvåsiffrig visning. Drar de tre skalningsaxlarna för varje Gaussian i log-rymden mot deras medelvärde (ju mindre värdet, desto starkare): 1.0 = oförändrat, mindre värden gör avlånga „nål"-splattar rundare, 0 skulle vara rena klot. Angriper nålliknande, överdragna splattar utan att ändra den totala storleken, och minskar därigenom typiska „konfetti"-artefakter. Tillämpas från pristine-ögonblicksbilden (ursprunglig log-skalning), därför idempotent. Kommuterar med Splat size (L3), eftersom båda arbetar i log-rymden.
L3Splat size-slider
VAR
Inspector → Utseende-sektionen → GroupBox → Splat size.
TEKNISKT
Slider 0.5–2.0, tvåsiffrig visning. Skalar varje Gaussian uniformt på alla tre axlar: 1.0 = oförändrat, < 1.0 = mindre/tätare/skarpare, > 1.0 = större/„fluffigare" (fyller luckor mellan splattarna). Eftersom skalningarna ligger i log-rymden blir multiplikationen där en additiv förskjutning — det kommuterar med Splat length (L2), eftersom en konstant offset lämnar avvikelsen-från-medelvärdet orörd. Från pristine-ögonblicksbilden, alltså idempotent. Nytt i den här versionen.
L4Fade far region (med underreglage)
VAR
Inspector → Utseende-sektionen → GroupBox → växlaren „Fade far region" plus underreglagen „Fade start ×radius" och „Fade floor".
TEKNISKT
Växlare som aktiverar ett radiellt opacitetsavtagande med avståndet från kamerans tyngdpunkt — det svagt observerade „fjärr-konfettit" i bakgrunden tonas bort. Endast för orbit-inspelningar: Växlaren är gråmarkerad om scenen inte lämpar sig för detta (linjära flygningar, för få eller degenererade kameror); då visas istället för underreglagen hänvisningen „Far-fade applies only to orbit captures (not this scene)." Lämpligheten fastställs via azimut-täckning för kamerapositionerna (en orbit kretsar kring tyngdpunkten och fyller många kompass-sektorer, en linjär flygning bara ~2). Två underreglage styr geometrin: Fade start ×radius (1.0–3.0) sätter innerradien som en multipel av orbit-radien, inom vilken full opacitet gäller; Fade floor (0.0–1.0) är opacitetsfaktorn långt bortom fade-radien. Viktigt: Fade hoppar över sky-dome-området (kupolens infrysta Gaussians), så att den avsiktliga bakgrundskupolen inte dimmas ner tillsammans med resten.
L5Reset finishing-knapp
VAR
Inspector → Utseende-sektionen → GroupBox → „Reset finishing" (nedtill, liten knapp).
TEKNISKT
Återställer alla utseendeinställningar till standardvärdena (Saturation 1.0, Fade av, Splat length 1.0, Splat size 1.0) och utlöser omedelbart en ny finishing, så att Viewport hoppar tillbaka till det oförändrade tränade tillståndet. Eftersom hela utseendestacken räknar idempotent från pristine-ögonblicksbilden är „tillbaka till standard" exakt den ursprungliga träningsoutputen — ingen kvalitetsförlust genom upprepad fram- och återgång. Låst som alla reglage i sektionen medan en export pågår.
Presets-sektion (I1–I11)
Presets-sektionen är det snabbaste sättet att tillämpa en testad konfiguration. Inbyggda presets (Capture Class, Classic, MCMC, Hybrid) ger beprövade, reproducerbara utgångspunkter; egna presets kan sparas, exporteras, importeras och delas. Listan är grupperad efter kategorier (Capture Class, Classic, MCMC, Hybrid, Custom) och mer än en kategori kan vara utfälld samtidigt. Via kontextmenymekanismen (högerklick på en rad) nås export, duplicering och — för egna presets — radering.
I1Save…-knappen
VAR
Inspector → Presets-sektion → Save…-knappen (åtgärdsraden längst ner).
TEKNISKT
Öppnar en popover med textfält samt Save-/Cancel-knappar. Det aktuella läget för träningsinställningarna sparas som en ny anpassad preset (JSON-kodad, sparas app-övergripande). Save-processen kopierar alla 81 träningsparametrar plus den aktuella densification-strategin. Presetet hamnar automatiskt i kategorin Custom, oavsett vilket inbyggt preset det härstammar från. Tomma namn och rena whitespace-inmatningar kasseras. Redan existerande namn avvisas inte — varje preset har ett eget internt ID, dubbla namn är tekniskt tillåtna, men i praktiken förvirrande.
I2Preset Name-textfält
VAR
Save-popover → textfältet „Preset Name".
TEKNISKT
Enkelt textfält med rundad ram, brett format. Värdet används som presetnamn när du klickar på Save-knappen. Ingen längdbegränsning i gränssnittet, men det sparade namnet måste vara JSON-kodbart och visningsbart i UI-listorna — emoji och å/ä/ö fungerar. Innehållet återställs automatiskt till en tom sträng när popovern öppnas. Save-knappen förblir inaktiverad så länge fältet är tomt efter trim. Det finns inget autoförslag och ingen förifyllnad med namnet på det just nu aktiva presetet.
I3Cancel-knapp (Save-dialogen)
VAR
Save-popover → Cancel-knappen (till vänster).
TEKNISKT
Stänger popovern utan att spara. Kastar textfältets innehåll — vid nästa öppning återställs det på nytt genom Save…-knappens logik (I1) till tomt. Standard-knappstil, inga bekräftelsedialoger, inga snabbtangenter. Den aktuella TrainingConfig förblir oförändrad eftersom save-processen aldrig kördes.
I4Save-knapp (Save-dialogen)
VAR
Save-popover → Save-knappen (till höger, mer framträdande stil).
TEKNISKT
Utlöser den faktiska sparningen. Kontrollerar igen att namnet inte är tomt (defensiv kontroll) och skriver sedan den aktuella TrainingConfig som JSON till app-lagringen. Stänger sedan popovern. Blåmarkerad, gråtonad så länge textfältet är tomt. Om sparningen misslyckas (t.ex. för att app-lagringen är full — mycket osannolikt) finns det för närvarande ingen synlig felruta; presetet skulle då helt enkelt inte visas vid nästa app-start.
I5Export…-knappen
VAR
Inspector → Presets-sektion → åtgärdsraden → Export…-knappen.
TEKNISKT
Exporterar det just nu valda presetet som en .radiancepreset-fil (internt JSON). Inaktiverad om inget preset är valt. Vid klick öppnar appen en spara-dialog med förifyllt filnamn (presetnamn + ändelsen .radiancepreset). Det sparade formatet innehåller hela TrainingConfig plus metadata (namn, kategori, ID, flagga för inbyggd). Dubbelklick i Finder öppnar appen — men inte automatiskt importen; användaren måste använda Import-knappen (I6).
I6Import…-knappen
VAR
Inspector → Presets-sektion → åtgärdsraden → Import…-knappen.
TEKNISKT
Öppnar en fildialog som endast tillåter .radiancepreset-filer (flerval inaktiverat). Vid val läses JSON-filen in, valideras och läggs till i Custom-kategorin — med nytt internt ID, så att inga kollisioner med inbyggda uppstår. Importen sätter automatiskt kategorin till Custom, även om det exporterade presetet ursprungligen t.ex. var en inbyggd. Skadade filer eller filer som är inkompatibla med en äldre schemaversion avvisas tyst, utan felruta (konsolloggen ger dock information).
I7Preset-rad (klickaktivering)
VAR
Inspector → Presets-sektion → varje preset-rad i varje kategori.
TEKNISKT
Klick på en preset-rad ersätter alla fält i TrainingConfig med värdena från presetet, kommer ihåg ID:t för det aktiva presetet och återställer modified-statusen. Bocken framför raden visas bara om presetet är valt OCH omodifierat. Så snart ett värde i TrainingConfig ändras (slider, stegväljare, reglage i de andra Inspector-sektionerna), visas en orange „Modified"-badge bakom namnet. Inbyggda presets kan inte skrivas över — vid modifiering måste en egen kopia skapas via Save-knappen (I1).
I8Kontextmeny „Export…"
VAR
Högerklick på valfri preset-rad → första posten „Export…".
TEKNISKT
Identisk funktionalitet som I5 (Export…-knappen), men bekvämare tillgänglig — utan att presetet först behöver väljas ut. Exporterar direkt presetet som klickats på i raden. Fungerar likadant för alla presetkategorier (inbyggd eller Custom), ingen begränsning. Exporten innehåller flaggan för inbyggd och den ursprungliga kategorin, men vid återimport mappas kategorin som beskrivet under I6 till Custom.
I9Kontextmeny „Duplicate"
VAR
Högerklick på valfri preset-rad → andra posten „Duplicate".
TEKNISKT
Klonar presetet till Custom-kategorin. Skapar ett nytt internt ID, lägger till „ Copy" till namnet och sparar kopian. Fungerar även för inbyggda presets — klonen blir då redigerbar. Originalet lämnas orört. TrainingConfig kopieras värde för värde (JSON-roundtrip), så att inga referensbindningar finns mellan original och kopia.
I10Kontextmeny „Delete"
VAR
Högerklick på egna preset-rader → sista posten „Delete" (röd, destruktiv).
TEKNISKT
Endast synlig för Custom-presets. Inbyggda kan inte raderas. Posten är märkt som destruktiv, visas röd i kontextmenyn och placeras bakom en avdelare, så att man inte klickar på den av misstag. Det finns ingen bekräftelse- dialog — ett klick raderar presetet omedelbart. Det raderade presetet kan inte återställas (Cmd-Z fungerar inte här — undo finns i den aktuella byggnaden bara för bildlistan, inte för preset- operationer). Om det raderade presetet var aktivt just då, förblir den aktuella TrainingConfig oförändrad, endast det aktiva presetvalet nollställs.
I11Kategori-header (fäll ut/fäll ihop)
VAR
Inspector → Presets-sektion → varje kategori-header (Capture Class, Classic, MCMC, Hybrid, Custom).
TEKNISKT
Utfällningsstatus per kategori med olika standardvärde: den kurerade gruppen Capture Class startar utfälld, Classic, MCMC, Hybrid och Custom startar hopfällda. Statusen sparas inte — vid omstart av appen är alla kategorier tillbaka i standardläget. Chevron-pilen roterar animerat. Siffran till höger i headern visar antalet presets i kategorin. Klickytan omfattar hela header-området.
Träningskonfiguration-sektion (I12–I22)

Här hittar du de centrala reglagen för träningskörningen: hur Densification arbetar, hur många iterationer, hur stor SSIM-viktningen är — samt längst ner de tidigare fristående tilläggen (Perceptual Loss, Outdoor-gruppen, Advanced Densifier, Post-Training-pass). Överst finns Densification som trevägsomkopplare Classic | MCMC | Hybrid. SfM-backend finns inte längre här, utan i sin egen sektion Kameror & inspelning (I12, I13). De tre MCMC-raderna ("MCMC Quality", "Auto-scale by scene" och "Max Gaussians") försvinner inte längre i Classic-läget, utan förblir synliga och blir gråmarkerade; under dem finns en rad med hänglås-symbol som säger vad som behöver ändras ("Only used by the MCMC and Hybrid densifiers — switch Densification above to change these."). Ett avskilt block därunder samlar de rader som gäller för alla densifiers: Depth-Priority Scatter, Full-Resolution Training, det kopplade paret Max Iterations / Densify Until samt reglagen SSIM Weight och Render Scale.
I12Camera Alignment-väljare
VAR
Inspector → Kameror & inspelning → Camera Alignment (popup-meny under Projection-väljaren).
TEKNISKT
Popup-meny, inte en segmenterad väljare — etiketterna spränger den smala Inspector-kolumnen. Vilka poster som visas beror på bygget: den sandlådade App Store-versionen erbjuder Apple Photogrammetry och Native, utvecklar-/DMG-byggen dessutom COLMAP. Anledning: COLMAP är ett externt kommandoradsprogram, och sandlådade appar får inte starta främmande binärer (App Review-riktlinje 2.5.2) — därför saknas backend-posten samt mapper-väljaren och binärsökvägen i Store-bygget helt, i stället för att permanent vara gråmarkerad: en rad som aldrig kan lysa upp är inte en anvisning utan bara brus. Förväxla inte: Import och export av ett COLMAP-workspace är ren Swift-filparsning, kräver ingen COLMAP-installation och fungerar i alla bygg (kapitel 1, M5). Tillägget "(Beta)" vid Native-posten har tagits bort — Native är inte längre beta sedan v1.5.2. Valet avgör SfM-backend för nästa körning och styr samtidigt vilka rader nedanför är manövrerbara (I13, High-Quality, Native SfM Recipe). Fotnot i UI:t: Vid en osorterad fotouppsättning riktar pipelinen alltid med Native, oavsett vad väljaren visar — det receptet finns bara där. Väljaren låses medvetet inte (värdet är inte otillgängligt, det bara överröstas); i stället visas en anmärkning med förgreningssymbol.
I13FOV Override-fält (Native SfM)
VAR
Inspector → Kameror & inspelning → FOV Override (alltid synligt, manövrerbart endast vid Camera Alignment = Native).
TEKNISKT
Numeriskt textfält (intervall 0-170°), standard 0 = automatisk bestämning från EXIF eller heuristik. Manuell inmatning behövs när indatabilderna extraherats från en video som saknar brännviddsmetadata. Typiska värden: iPhone Wide ≈ 73°, DJI Mavic Wide-Crop ≈ 70°, drönare med fullformatssensor ≈ 84°. Värdet klipps till [0, 170] — värden utanför pressas direkt tillbaka innanför gränserna. Påverkar bara den native SfM-pipelinen (Q4/Q5); Apple Photogrammetry ignorerar detta värde helt. Sedan 2026-07-18: Under andra backends döljs fältet inte längre, utan blir gråmarkerat — tillsammans med "High-Quality" och "Native SfM Recipe" och en rad med hänglås-symbol ("These configure the Native aligner — choose Native under Camera Alignment to change them."). Den tidigare döljningen dolde att dessa reglage överhuvudtaget finns. Spärren hänger på det valda backendet, inte på det som faktiskt används — omdirigeringen av osorterade fotouppsättningar till Native meddelas i stället av anmärkningen under I12. Raden "Native SfM Recipe" kräver dessutom en osorterad fotouppsättning och har annars en egen förklaringsrad.
I15Densification-väljare
VAR
Inspector → Träningskonfiguration → Densification (segmenterad väljare, alltid synlig).
TEKNISKT
Växlar mellan de två Densification-strategierna: Classic (ursprungliga 3DGS-metoden med Clone/Split/Prune och gradienttröskel) och MCMC (Stochastic Gradient Langevin Dynamics med Relocation, NeurIPS 2024). Vid byte från Classic till MCMC sätter appen automatiskt de MCMC-specifika fälten till beprövade standardvärden (Reg-Weights = 0, MCMC-Cap- Multiplier 3.0, Sample-/Noise-Schedule). Utan denna automatiska initiering led sessioner med gamla Presets av 1.4.4-MCMC-Collapse-buggen (460K→5 Gaussians, Watchdog-Kill). Väljarvalet avgör dessutom vilka Inspector-element som är synliga — vid MCMC dyker I16/I17 upp. Detaljerad fälteffekt i kapitel 6, T11–T16 (Classic) och T61–T73 (MCMC).
I16MCMC Quality-omkopplare
VAR
Inspector → Training → MCMC Quality (alltid synlig, manövrerbar vid Densification = MCMC eller Hybrid).
TEKNISKT
Slår om gradientackumulering till 2 steg (aktiv) resp. 1 steg (inaktiv). Ackumulerar gradienterna från två efterföljande kameravyer innan optimizer-steget utförs. Det jämnar ut optimeringsvägen och förbättrar slutresultatet lite, men märkbart. Priset: dubblad träningstid. Vid mycket långa träningar (200K iterationer) leder det till ytterligare 10+ minuters väntetid — lönar sig alltså bara när de sista procenten kvalitet verkligen behövs. Påverkar bara träningen, inte exportformatet eller viewport-visningen. Gäller även för Hybrid, som använder samma MCMC-maskineri. Sedan 2026-07-18: Under Classic försvinner raden inte längre, utan blir tillsammans med I17 och "Max Gaussians" gråmarkerad; därunder står "Only used by the MCMC and Hybrid densifiers — switch Densification above to change these."
I17Auto-scale by scene-omkopplare
VAR
Inspector → Training → Auto-scale by scene (alltid synlig, manövrerbar vid Densification = MCMC eller Hybrid).
TEKNISKT
När aktiv, skalas den effektiva övre gränsen för Max Gaussians med antalet SfM-init-punkter × MCMC-Cap-Multiplier (standard 3.0). Exempel: SfM ger 250K initpunkter, bas-cap = 150K, Multiplier 3.0 → effektiv övre gräns = max(150K, 750K) = 750K. Om inaktiverad gäller strikt bara basen. Basen själv finns i raden Max Gaussians direkt därunder (sedan 1.8, standard 150 000, indata klippt till 10 000–30 000 000). Ligger den effektiva övre gränsen över basen, visar appen den i klartext ("Effective cap for this scene: …") — med RAM-varning om den blir för hög. Infördes för v1.4.5, eftersom stora utomhusinspelningar med över 1000 bilder och motsvarande hög SfM-punkttäthet med den fasta 150K-cap-standarden svalt ut Densification — överflödiga punkter blev kvar, nya fick inte uppstå. Standard AV i egna Presets, PÅ i MCMC-inbyggda. Påverkar bara vid träningstillfället, inte vid export. Sedan 2026-07-18: Under Classic blir raden gråmarkerad i stället för dold (med samma förklaringsrad som I16); klartextvisning och RAM-varning visas där medvetet inte, eftersom Classic inte tillämpar någon övre gräns alls.
I18Max Iterations-stegväljare
VAR
Inspector → Träningskonfiguration → GroupBox → Max Iterations.
TEKNISKT
Stegväljare med intervall 1 000–100 000, stegstorlek 1 000. Bestämmer det totala antalet optimizer-iterationer. Linjärt korrelerat med träningstiden (halvering = ca 50% tid). Beprövade värden är 20K (Classic Balanced), 40K (Classic Quality) och 200K (MCMC Full). Över 40K ger Classic knappt någon förbättring — avkastningen planar ut. Vid ändring dras, om länkfunktionen (I19) är aktiv, Densify Until proportionellt med (standardförhållande: 0.5, dvs. Densify-Until = Max/2).
I19Länka/avlänka-knapp (Densify ↔ Iterations)
VAR
Inspector → Träningskonfiguration → GroupBox → liten länkknapp mellan Max Iterations och Densify Until.
TEKNISKT
Omkopplarknapp som fryser förhållandet mellan Densify Until och Max Iterations. När aktiv (länk-ikon markerad) dras Densify Until proportionellt med vid varje ändring av Max Iterations. Vid avlänkning (länk-plus-ikon) förblir värdena oberoende. Standard är länkad, eftersom det speglar den typiska korrelationen — när du drar upp träningen till dubbla iterationer vill du oftast även låta Densification löpa proportionellt längre. Förhållandet beräknas från det aktuella värdet när länkknappen sätts; ett typiskt förhållande är 0.5 (Densify-Until = halva iterationsantalet).
I20Densify Until-stegväljare
VAR
Inspector → Träningskonfiguration → GroupBox → Densify Until.
TEKNISKT
Stegväljare med intervall 500–50 000, stegstorlek 500. Bestämmer det iterationsindex från vilket inga nya Gaussians längre tillkommer via Clone/Split (Classic) eller Relocation (MCMC). Efter det förfinas bara position och färg. Högre värden = fler Gaussians = större fil, längre tid per iteration (+30-60% GPU-tid per steg). Typiska värden: 15K (för 30K Max-Iter), 20K (för 40K), 100K (för 200K MCMC). Skalas automatiskt med vid aktiv länk (I19). Verkar olika på Classic vs MCMC: Classic stoppar helt tillväxten, MCMC stoppar Relocation-logiken, men sample-/noise-adaptionen fortsätter.
I21SSIM Weight-reglage
VAR
Inspector → Träningskonfiguration → GroupBox → SSIM Weight.
TEKNISKT
Reglage 0.0–1.0 i steg om 0.05, visas som "0.20". Blandar L1-loss (0.0) och SSIM-loss (1.0). L1 stramar upp ljusstyrkan per pixel, SSIM den strukturella likheten (kanter, lokal statistik). Standardvärdet 0.2 är värdet från det ursprungliga 3DGS-papret (Kerbl 2023) och en robust kompromiss för nästan alla scener. Högre värden (0.5+) prioriterar detaljbevarande, men kan ignorera lokala ljusstyrkefel. Lägre värden (< 0.1) leder till detaljförlust vid skarpa kanter. SSIM- beräkningen körs i shadern med ett 11×11-Gaussian-fönster. Prestanda: Vid 0.0 (bara L1) är träningen ca 8-12% snabbare, eftersom SSIM-beräkningen hoppas över i shadern.
I22Render Scale-reglage
VAR
Inspector → Träningskonfiguration → GroupBox → Render Scale.
TEKNISKT
Reglage 0.25–1.0 i steg om 0.25, visas som "100%". Skalar tränings-renderingens upplösning relativt källbildens storlek. Störst hävstång på prestandan: 50% minskar GPU-tiden med ca 75% (eftersom det blir 4× färre pixlar), 25% med ca 94%. Gradienttröskeln skalas automatiskt med. Under reglaget visas en live-upplösningsindikering i MP (t.ex. "2304×1296 (3.0 MP)"). Om det aktuella värdet avviker från det rekommenderade visas i orange text "— recommended: 50%". Rekommendationen siktar på ~3 MP effektiv upplösning — det intervall som Apple Silicon-GPU:er bearbetar mest effektivt. 4K-källbilder får t.ex. automatiskt 25% rekommenderat, FullHD-bilder 100%. En ändring triggar dessutom buffer-omallokering.
Enhancements-grupper (i Training-sektionen, I26–I29, I42–I44)

Dessa grupper samlar features som förbättrar bildkvaliteten utan att förändra själva kärn-tränings-loopen. Fram till 2026-07-18 utgjorde de en egen Inspector-sektion vid namn Enhancements; sedan domän-omgrupperingen sitter de längst ner i sektionen Training. Den tidigare Viewport-Scaling-väljaren (Off/MetalFX/Lanczos) är helt borttagen: den påverkade aldrig något — blit-beslutet i viewporten är rent geometriskt — och dess etikett utlovade dessutom en uppskalning, medan det verkliga Lanczos-passet är en antialiasing-nerräkning av en översamplad bild. Visningen i viewporten heter därför nu „Sampling" istället för „Scaling" (kapitel 4); ingenstans i appen skalas upp med MetalFX. Perceptual Loss (I29) är trots grupptillhörigheten en del av träningen — den aktiveras under träningen som en extra loss-term; den ligger högst upp, med förklaringsraden „Multi-scale blur feature matching for structural similarity". Därunder kommer Outdoor-gruppen med fyra switchar — Sky Masking, Person Masking, Floater Cleanup och Reconstruct Sky Dome (I42–I44) —, träningsalternativ mot himmels-floaters som tidigare låg i inställningsfönstret och nu sitter per projekt här. Sedan kommer den hopfällda raden „Advanced Densifier (Expert)", som bär en varningstriangel eftersom reglagen bakom den även kan splittra en träning. Avslutningsvis kommer gruppen „Runs automatically at the end of training" med Post-Training Compactification (I26) och switchen „Remove Needle/Disc Floaters".
I26Post-Training Compactification-brytare
VAR
Inspector → Training → gruppen „Runs automatically at the end of training" → Post-Training Compactification.
TEKNISKT
Aktiverar en städ-omgång i slutet: När träningsiterationerna är avslutade tas Gaussians med opacity under 0.01 (1 % synlighet) bort. Detta krymper filstorleken typiskt till ungefär hälften, utan att någon kvalitetsförsämring blir synlig — eftersom dessa Gaussians ändå inte bidrar visuellt. Compactification körs som ett GPU-Compact-pass och tar, beroende på Gaussian-antal, allt från bråkdelar av en sekund till några sekunder. Påverkar inte träningsprestandan. Om denna brytare är av exporteras även osynliga Gaussians — relevant bara om du vill använda formatet för ytterligare ett tränings-stadium (Continue Training), annars slöseri med lagring.
I29Perceptual Loss-reglage
VAR
Inspector → Training → Perceptual Loss.
TEKNISKT
Reglage 0.0–0.2 i steg om 0.01, visas vid 0.0 som „Off", annars som „0.05" osv. Aktiverar en extra loss-term som jämför multi-skalad Gaussian-blur av renderingen med ground-truth-bilden (3 blur-skalor). Fångar strukturella skillnader som L1+SSIM ensamt inte upptäcker. Värden mellan 0.05 och 0.1 förbättrar fina strukturer märkbart och kostar bara lite träningstid — runt 5 % (extra forward-pass genom blur-kärnorna). Över 0.15 blir träningen instabil och kvaliteten sjunker igen, eftersom denna loss-term dominerar optimeringen. Verkar under träningen, inte i efterbehandlingen — trots sin position bland Enhancement-raderna längst ner i Training-sektionen är detta alltså ingen ren efterhandsuppgradering.
I42Sky Masking
VAR
Inspector → Training (Outdoor-gruppen) → brytaren „Sky Masking". Sparas per projekt; standard: av.
TEKNISKT
Aktiverar pre-training Apple-Vision-baserad Sky-Pixel-segmentering. Innan träningen startar extraheras för varje ingångskamera himmels-regionen via Apple-Vision-Foreground-Mask (himmel = bakgrund) och tilldelas som en per-pixel-mask till respektive kamera. Under träningen multipliceras loss-bidraget per pixel med komplementet av himmel-masken — himmel-pixlar bidrar med 0 till gradienten, så att Gaussians som projiceras mot himlen inte får några optimeringssignaler och därmed inte blir „tätare" eller „ljusare". Minskar floaters (mörka klumpar i himlen) signifikant vid outdoor-/drönarscener. Kostar ~3 % L1-regression vid klassisk 40K-träning. Endast meningsfullt vid outdoor-scener med tydligt igenkännbar himmel; vid inomhusscener eller vit bakgrund identifierar himmel-segmenteringen fel områden och blockerar giltiga loss-signaler. Värdet sparas per projekt (inte längre app-globalt) och följer preset respektive scenfilen.
I43Floater Cleanup
VAR
Inspector → Training (Outdoor-gruppen) → brytaren „Floater Cleanup" (undertitel „Remove Gaussians outside all camera views"). Sparas per projekt; standard: av.
TEKNISKT
Brytaren styr två effekter med olika villkor; båda härleds vid start till den kör-lokala konfigurationen, utan att skrivas till den sparade konfigurationen (annars skulle de fastna som en engångsspärr). (1) Frustum-Union-Cull vid träningens slut — Gaussians utanför unionen av alla kamera-frusta tas bort („aldrig observerad" = „aldrig begränsad", och just det är de flesta floaters). Denna del har ingen strategivillkor och körs vid Classic, MCMC och Hybrid lika mycket — efter den är brytaren uppkallad. (2) Två extra density-control-pass mitt i körningen — endast vid Classic och endast från 30 000 iterationer, satta till 55 % och 85 % av körlängden (vid 35–40K alltså ungefär 20K och 30K). Båda passen letar efter Gaussians med mycket låg opacity, mikroskopisk skärmytstorlek och utan loss-bidrag och rensar bort dem. Effekt: ~5–15 % färre Gaussians i slutet, märkbart färre mörka klumpar i himlen vid drönar-/outdoor-scener. Kostar ~1–3 % L1-regression vid close-up-inomhusscener, därför inte aktiverat som standard. Värdet sparas per projekt och följer preset respektive scenfilen. Rättelse jämfört med tidigare upplagor: Brytaren är inte längre begränsad till Classic-densifieraren och grås inte längre ut under MCMC/Hybrid — det hade tidigare stängt ute MCMC- och Hybrid-användare just från den cull som faktiskt fungerar för dem. Vid korta körningar (t.ex. P2 Preview 5K) uteblir bara mitten-av-körningen-delen.
I44Reconstruct Sky Dome
VAR
Inspector → Training (Outdoor-gruppen) → brytaren „Reconstruct Sky Dome". Sparas per projekt; standard: av.
TEKNISKT
Aktiverar sky-dome-projektionen före träningen. Efter SfM och innan träningen startar extraheras för varje ingångskamera den Apple-Vision-himmel-mask som delas i S7 ur bilden, himmel-pixlarna avprojiceras med kamera-intrinsics till en virtuell klot-yta (standard-radie 8× scen-radien). På denna klot initieras ~5000 nya Gaussians med färgmedelvärden från de projicerade himmel-pixlarna, mycket stor skalning (1.0 i scen-enheter) och startopacity 0.95. Dessa 5000 Gaussians är ingen himmel-mask i klassisk mening — de tränas som alla andra, men hålls kvar i ett tunt skal tack vare den höga startopaciteten. Resultat: vid 360°-novel-views i outdoor-/drönarscener visas istället för mörka confetti-klumpar faktisk himmelsfärg och molnstrukturer. Värdet kommer ihåg mellan omstarter. Meningsfullt endast vid outdoor-scener med åtminstone 360°-kameratäckning; vid rena objektinspelningar utan himmelssikt har det ingen effekt. Status: experimentell, bredare A/B-validering över fler outdoor-set återstår.
Metriken-Sektion (I30–I37)

Medan en träning pågår visar metrikgruppen („Training Metrics", en av de två hopfällbara grupperna i sektionen Förlopp) åtta livevärden från träningsloopen. Innan en träning startas är den tom („Start training to see live metrics"). Alla värden uppdateras var ~30:e iteration (uppdateringsfrekvens för livemetrikerna). Sektionen är read-only — inget element går att klicka på eller ändra. För djupare analys kan du konsultera JSONL-träningsloggarna under ~/Documents/RadianceKit/Logs/.
I30Iteration
VAR
Inspector → Förlopp → Training Metrics → Iteration. Read-only.
TEKNISKT
Visning i formatet „4523 / 40000" — aktuell iteration i förhållande till totalt planerade iterationer. Räknar synkront med träningsloopen, som pushar värdena var ~30:e iteration. Den andra siffran motsvarar Max-Iterations-värdet vid starttillfället; den ändras inte längre, även om användaren ställer om steppern efteråt — den pågående körningen använder sin egen snapshot-kopia. Om appen via Training-menyn lägger på fler iterationer (Continue Training +5K/+10K/+20K) ökar nämnaren.
I31Loss
VAR
Inspector → Förlopp → Training Metrics → Loss. Read-only.
TEKNISKT
Flyttalsvärde med sex decimaler (t.ex. „0.024385"). Mäter den kombinerade L1+SSIM-Loss (mixen styrs via I21 SSIM Weight) plus eventuellt Perceptual Loss (I29) och andra regularizers. Skalan är inte absolut utan scen-beroende — kräver samma dataset för de flesta jämförelser. Typiska slutvärden vid bra konfigurationer: - Classic Quality 40K iters: 0.022–0.025 (Horse, Truck, Garden) - MCMC Full 200K iters: 0.024–0.028 - Outdoor drönare 30K: 0.030–0.060 (sämre på grund av geometrin) - Indoor lägenheter: 0.018–0.025
Värden över 0.10 efter 5K iterationer tyder på SfM-problem (dåliga kamerapositioner) — avbryt och beräkna om SfM.
I32Learning Rate
VAR
Inspector → Förlopp → Training Metrics → Learning Rate. Read-only.
TEKNISKT
Visning i vetenskaplig notation (t.ex. „1.60e-04"). Aktuell inlärningshastighet för positionsparametrarna (3DGS har sex oberoende inlärningshastigheter för position, SH-DC, SH-Rest, opacity, skala, rotation — här visas position-LR som representativ storhet). Standard-startvärde 1.6e-4, som via en exponentiell avklingning sjunker till ~1.6e-6 vid träningens slut. Avklingningen kan justeras via LR-Schedule-fältet i träningskonfigurationen (T-fält i kap. 6). Om LR förblir ovanligt hög (t.ex. 1e-3 eller mer efter 10K iterationer) kan det tyda på en felaktigt inläst konfiguration.
I33SH Degree
VAR
Inspector → Förlopp → Training Metrics → SH Degree. Read-only.
TEKNISKT
Heltal 0-3. Spherical-Harmonics-grad för färgrepresentationen. Börjar på 0 (endast DC-komponenten, dvs. riktningsoberoende färg per Gaussian — alltså bara en RGB-konstant) och stiger successivt under träningens gång upp till 3. Standardschemat höjer graden med 1 vid 1000/2000/3000 iterationer. SH-3 motsvarar 48 färgkoefficienter per Gaussian (3 RGB-kanaler × 16 SH-basfunktioner). Högre SH-grad = mer riktningsberoende reflektion (glansiga ytor ser korrekt olika ut från olika betraktningsvinklar), men också mer minne och långsammare träning.
I34Gaussians
VAR
Inspector → Förlopp → Training Metrics → Gaussians. Read-only.
TEKNISKT
Aktuellt antal Gaussians i modellen, formaterat med lokal separator (t.ex. „524.318"). Tillväxt: - Classic: startar vid SfM-init-punkterna (typiskt 50K-300K), växer genom Clone/Split fram till strax innan Densify Until, sedan statiskt fram till träningens slut (modulo pruning) - MCMC: samplingspunkter läggs till fram till MCMC-taket, sedan sker bara relokalisering
Friska slutvärden: - Classic Quality: 400K-700K (Horse 524K, Garden 800K) - MCMC Full: exakt vid taket (standard 150K, med Auto-Scale-multiplikator × SfM-antal beroende på scen 500K-1,5M)
Vid MCMC faller siffran under < 60% av taket → anomali (collapse-indikator, tyder på för aggressiva regularizers).
I35GPU Memory
VAR
Inspector → Förlopp → Training Metrics → GPU Memory. Read-only.
TEKNISKT
Uppskattning av Gaussian-bufferns minnesförbrukning som Gaussian-antal × 616 bytes (formaterat i minnesstil). 616 bytes är storleken på en fullt utrustad Gaussian (position, skalning, rotation, opacity, SH-koefficienter grad 3, gradient- ackumulator). Visningen omfattar inte renderarens overhead (tile-buffer, sort-buffer, backward-buffer) — det verkliga GPU- minnesbehovet ligger typiskt 2-3× över detta värde. Vid 500K Gaussians: visas ~290 MB, verkligt ~700 MB. Vid 1,5M Gaussians: visas ~880 MB, verkligt ~2.5 GB. På M3 Max med 64+ GB Unified Memory okritiskt, på M3 Pro med 18 GB redan en gräns.
I36Speed
VAR
Inspector → Förlopp → Training Metrics → Speed. Read-only.
TEKNISKT
Iterationer per sekund med en decimal („24.3 it/s"). Beräknas av tränaren som ett glidande medelvärde över de senaste ~100 iterationerna. Typiska värden: - Quick-preset (1K iters): 80-120 it/s (kort, ingen steady-state) - Classic 20K @ 1.0 Render Scale (Truck-scenen, M3 Max): 25-35 it/s - Classic 20K @ 0.5 Render Scale: 80-120 it/s - MCMC 200K @ 0.5 Render Scale: 25-50 it/s (långsammare på grund av relokalisering) - Vid 1M+ Gaussians och full upplösning: < 10 it/s
Sjunkande hastighet under träningens gång är normalt — fler Gaussians = mer beräkning per iteration. Plötsliga fall (t.ex. från 30 → 5 it/s) tyder på GPU-thermal-throttling eller konkurrerande appar.
I37Elapsed
VAR
Inspector → Förlopp → Training Metrics → Elapsed. Read-only.
TEKNISKT
Redan förfluten tid som „4:23" (m:ss) eller „1:23:45" (h:mm:ss). Formatbyte från 1 timme. Mäter endast den rena träningstiden, inte de föregående faserna (SfM-beräkning, bild- import). Vid paus/återupptagning fortsätter klockan — är alltså väggklockstid, inte CPU-tid.
Diagram-sektion för förlust (I39–I41)

Gruppen med förlustdiagrammet („Loss History", den andra hopfällbara gruppen i sektionen Förlopp) visualiserar träningsförloppet över tid. Den består av två diagram: ett Loss-Curve-diagram (stort, överst, blått) och ett Gaussian-Count-diagram (mindre, underst, orange). Båda byggs upp live under träningen och finns kvar fram till nästa träningsstart. Innan den första träningen är området tomt („Loss curve will appear during training"). Diagrammen är rena SwiftUI-Path-Drawings (inget Swift-Charts-ramverk), så att de renderas smidigt även vid 100K+ punkter.
I39Current Loss (visning)
VAR
Inspector → Förlopp → Loss History → vänster etikettområde „Current: 0.0075". Read-only.
TEKNISKT
Flyttalsvärde för den senaste loss-sampelpunkten, formaterat med fyra decimaler. Identiskt med I31 (Loss i metrics-sektionen), men här mer kompakt formaterat. Källan är loss-historiken — en lista som får en post var ~30:e iteration. Endast ändliga värden tas med i listan — NaN/Infinity (mycket sällsynt, vid en gradient-explosion-bugg) filtreras bort.
I40Min Loss (visning)
VAR
Inspector → Förlopp → Loss History → höger etikettområde „Min: 0.0051" (grönt). Read-only.
TEKNISKT
Minimum av alla loss-värden som någonsin observerats under den aktuella träningskörningen. Räknas fram live från loss-historiken — ingen separat lagring. Visas med grön text, eftersom „Min" = „bäst hittills". Den streckade gröna linjen längs diagrammets nederkant markerar denna Y-position visuellt. Vid Continue-Training-sessioner startas min-spårningen om — den gamla historiken ersätts i gränssnittet av den nya (läggs inte till). Om den pågående träningen går sämre än den föregående kan alltså min-visningen bli högre än föregående slutresultat.
I41Gaussian Count-diagram
VAR
Inspector → Förlopp → Loss History → andra diagrammet nedanför (orange). Read-only.
TEKNISKT
Linjediagram över antalet Gaussians under träningsiterationerna. Källa: Gaussian-count-historiken (lista med (iter, count)-par, fylls i av tränaren var ~30:e iter). Y-skalan är dynamisk mellan historikens minimum och maximum. Vid Classic-strategi ser kurvan typiskt ut så här: stadigt stigande fram till Densify Until, sedan flack (med små pruning-svängningar). Vid MCMC: brant uppgång fram till Cap, sedan en horisontell linje (Relocation håller antalet konstant). En nedgång alldeles i slutet är normalt — i bilden ovan sjunker kurvan från cirka 16K till 9 660, eftersom upprensningspassen efter den sista iterationen slår till (I26). Oroande är bara en nedgång mitt i körningen: då prunar densifieringen för aggressivt — ett tecken på felaktiga standardvärden eller en känd MCMC-collapse-bugg (v1.4.4-hotfix-ämne).
Hur läser man loss-kurvan?
Loss-diagrammet är det viktigaste diagnosverktyget i Inspector — ingen annan indikator visar lika direkt om träningen gör nyttiga framsteg eller har fastnat. Den typiska friska formen är ett snabbt fall under de första 1000–3000 iterationerna (från ~0.15 till ~0.05), följt av ett långsamt, jämnt avtagande fram till träningens slut (till 0.020–0.030). Logaritmiskt ser kurvan då ut som en jämn diagonal.
Vad betyder en platå i loss? Om kurvan förblir platt under flera tusen iterationer finns det två möjliga tolkningar: (a) Träningen har „konvergerat" — loss kan inte längre sjunka märkbart, eftersom modellen är så bra den kan bli med givna data och inställningar. Det är önskvärt; det är „klart". (b) Träningen „hänger" — loss skulle egentligen kunna sjunka mer, men optimeringen stagnerar (lokalt minimum, för låg inlärningshastighet, densifiering avstängd). Så här skiljer du: Om loss-värdet ligger i ett typiskt bra intervall (0.020–0.030 för inomhus/objekt, 0.040–0.060 för utomhus) och kurvan har varit platt i 5K iterationer, har den konvergerat. Om värdet är tydligt högre än för jämförbara scener (t.ex. 0.08), hänger den.
Observera: Gaussian-platå ≠ loss-platå. En platå i antalet Gaussians betyder inte att „träningen är klar". Det betyder bara att densifieringen har slutat lägga till nya punkter — antingen för att gränsen är nådd (Classic) eller för att MCMC-taket är fullt. Träningen fortsätter därefter och förfinar bara de befintliga punkterna. Den verkliga „klar"-signalen läser du av på loss-kurvan och iterationsräknaren (I30), inte här.
Tumregel för att avbryta: Om loss-kurvan efter 5000+ iterationer ligger över 0.08 och knappt sjunker mer, är det med hög sannolikhet något fel på SfM-rekonstruktionen. Avbryt träningen, kolla i kapitel 9 om det valda SfM-backendet passar scenen, växla vid behov till COLMAP/Native, starta sedan om. Bättre att investera 10 minuter i en bättre SfM än 2 timmars träning med dålig kamerajustering.
När ska man använda Inspector?
Snabbreferens: Vilken sektion + vilka kontroller för vilket typiskt användningsfall?
| Common-Task | Sektion | Control-IDs |
|---|---|---|
| Desaturera färgerna på den färdiga splaten | Look | L1 (Saturation) |
| Runda av nål-/konfetti-splats | Look | L2 (Splat length) |
| Fylla igen ett håligt moln / förstora splats | Look | L3 (Splat size) |
| Tona bort avlägsen ”far-konfetti” vid orbits | Look | L4 (Fade far region) |
| Återställa look-anpassningarna | Look | L5 (Reset finishing) |
| Ladda en färdig uppsättning | Presets | I7 (klicka på raden) |
| Spara en egen uppsättning | Presets | I1 → I2 → I4 |
| Dela en uppsättning med kollegor | Presets | I5 (Export) resp. I6 (Import) |
| Byta SfM-backend (t.ex. om Apple-PG är för instabil) | Kameror & Insamling | I12 (se kap. 9) |
| Bearbeta videobilder utan EXIF-brännvidd | Kameror & Insamling | I13 (FOV Override) |
| COLMAP-prestanda: GLOMAP istället för Klassisk | Kameror & Insamling | I14 — endast i utvecklarbyggen, i App Store-bygget saknas COLMAP som backend |
| Byta från Classic till MCMC | Träningskonfiguration | I15 |
| Låta träningen köra längre | Träningskonfiguration | I18 (Max Iter) + I20 (Densify Until) — kopplade via I19 |
| Halvera GPU-tiden | Träningskonfiguration | I22 (Render Scale till 50%) |
| Träningskvalitet +6% (MCMC) | Träningskonfiguration | I16 (MCMC Quality) |
| Utomhusscen med många SfM-punkter | Träningskonfiguration | I17 (Auto-scale by scene) |
| Konfigurera/byta COLMAP-sökväg | Kameror & Insamling | I23 / I24 / I25 — endast i utvecklarbyggen |
| Göra exportfiler mindre | Training | I26 (lämna alltid påslagen) |
| Sista lilla detaljen vid fina strukturer | Training | I29 (Perceptual Loss 0.05-0.1) |
| Övervaka träningen | Förlopp ▸ Training Metrics | I30 (Förlopp), I36 (Tempo) — återstående tid visas i transportremsan under viewporten |
| Bedöma kvaliteten tidigt | Förlopp ▸ Training Metrics | I31 (Loss < 0.05 efter 5K = bra) |
| Misstanke om SfM-problem | Förlopp (båda grupperna) | I31 + I39 (Loss > 0.08 efter 5K → kör SfM igen) |
| Skilja mellan Convergence och Stuck | Förlopp ▸ Loss History | I39 + I40 (läsa loss-platån) |
| Upptäcka Densification-problem | Förlopp ▸ Loss History | I41 (Gaussian-kurvan sjunker → bugg) |