Kapitola 3 — Nastavení
Okno Nastavení se otevírá přes RadianceKit → Nastavení… nebo standardní klávesovou zkratkou ⌘,. Obsahuje dvě záložky: General a AI Helpers. Na rozdíl od hodnot Inspektoru z Kapitoly 2 působí nastavení z tohoto okna globálně v aplikaci (napříč všemi projekty) — ukládají se a přežívají restarty aplikace. Záložka General sdružuje čtyři obsahové oddíly: Rozhraní, Náhled, Trénink a experimentální sekci pro redukci outdoorových floaterů. Záložka AI Helpers zapíná on-device strojové učení (Vision, CoreML) pro předzpracování SfM a tréninku.
Dřívější ovládací prvky pro hromadnou aktivaci nebo deaktivaci všech AI Helperů v aktuální verzi již neexistují — odpovídajícím způsobem zde nejsou dokumentovány. Také dřívější oblast „Coming Soon" pro ještě nedodané helpery byla odstraněna a zde se na ni neodkazuje.
Záložka General

S1Default Mode
KDE
Nastavení → General → Rozhraní → Default Mode picker. Bound:. Default: .simple.
TECHNICKY
Řídí, ve kterém ze dvou UI režimů se aplikace otevře po příštím spuštění. „Simple Mode" je řízený wizardový workflow ve 4 krocích (Import → Processing → Preview → Export, dokumentováno v Kapitole 10 pod Z1–Z4), „Expert Mode" klasické tří-panelové rozložení s Navigátorem, 3D náhledem a Expert-Inspektorem z Kapitoly 2. Hodnota se pamatuje přes restarty. Identický účinek jako menu Mode → Simple Mode (⌘1) / Mode → Expert Mode (⌘2), jen že menu přepíná běžící relaci, zatímco tento picker nastavuje default pro budoucí relace. Oba režimy přistupují ke stejnému projektovému stavu — projekty, kamery a konfigurace tréninku zůstávají při změně režimu zachovány. Toolbar tlačítka specifická pro daný režim se okamžitě překreslí.
S2Language
KDE
Nastavení → General → Rozhraní → Language picker. Bound:. Default: .system (sleduje jazyk macOS).
TECHNICKY
Vybírá jazyk zobrazení celého UI aplikace, nezávisle na systémovém jazyce macOS. RadianceKit je lokalizován do 17 jazyků (de, en, pl, en-AU, ar-SA, plus 12 dalších). Při „System" aplikace sleduje jazyk macOS. Při explicitním výběru se nastavení jazyka pamatuje přes restarty; úplného účinku obvykle dosáhne až po restartu aplikace, protože lokalizační bundly se načítají pouze při startu. Všech 298 dokumentovaných lokalizačních klíčů v projektu se zohledňuje, včetně všech textů v sub-views a tooltipech.
S3Viewport Background
KDE
Nastavení → General → Náhled → Background picker. Bound:. Default: .darkGray (RGB 0.1, 0.1, 0.1).
TECHNICKY
Nastavuje výchozí barvu pozadí pro 3D náhled. Tři možnosti: „Dark Gray" (RGB 0.1, 0.1, 0.1 — default), „Black" (0, 0, 0) a „White" (1, 1, 1). Nastavení uchová default pro nové projekty a relace přes restarty a současně okamžitě aktualizuje běžící Metal renderer. Identické možnosti najdeš v menu Viewport → Background (M21, M22, M23), ale Settings picker nastavuje default, zatímco menu přepíná běžící zobrazení. Důležité pro snímky obrazovky a demo videa: bílá pozadí silněji zvýrazňují zelené/modré floatery, tmavá pozadí jsou lepší pro čisté renderovací záběry.
S4Auto-Rotate After Training
KDE
Nastavení → General → Náhled → Toggle „Auto-Rotate After Training". Bound:. Default: false.
TECHNICKY
Bezprostředně po konci tréninku spustí spojitou otáčivou rotaci kamery náhledu kolem těžiště scény (standardní rychlost rotace ~0.3 rad/s). Praktické pro demo relace, A/B porovnání a pro přímé posouzení z 360° pohledu, zda vznikly „floatery" na okraji scény. Vizuálně je efekt shodný s menu Viewport → Toggle Auto-Rotation (M16, ⌘⌥T), jen že tento toggle spouští chování automaticky po konci tréninku místo ručně. Dá se kdykoli později přerušit přes menu nebo kliknutím do náhledu (což rotaci pauzuje). Nemá vliv na výkon tréninku — rotace běží až poté, co je trénink hotový.
S5Live Preview Interval
KDE
Nastavení → General → Trénink → Live Preview picker. Bound: AppState.trainingConfig.livePreviewInterval. Default: 0 (Off).
TECHNICKY
Určuje, v jakém intervalu iterací se aktuální snapshot tréninku vykresluje do 3D náhledu. Čtyři diskrétní hodnoty: 0 („Off"), 50, 250, 1000 iterací. Při aktivním Live Preview kopíruje trainer Gaussian buffer z GPU do samostatného render bufferu a spouští překreslení náhledu. Při „Off" se náhled aktualizuje až po dokončení tréninku. Nákladnost na výkon: každých 50 iterací ~5–10 % pomalejší na M3 Ultra, každých 250 iterací ~1–2 % pomalejší, každých 1000 iterací neměřitelně. Paměťový overhead je konstantní ~2 GB pro snapshot buffer, nezávisle na intervalu. Hodnota slouží jako default pro nové tréninky; po spuštění tréninku ukazuje trénink-inspektor reálnou live hodnotu daného tréninku. Při intervalu 50 je vizuální dojem plynulého „vyrůstání" mraku bodů, při 1000 to působí trhaně.
S6Throttle Delay
KDE
Nastavení → General → Trénink → Throttle picker. Bound: AppState.trainingConfig.throttleDelayMs. Default: 0 (Off).
TECHNICKY
Vkládá mezi iterace tréninku umělé zpoždění v milisekundách. Čtyři diskrétní hodnoty: 0 („Off"), 2 („Light"), 5 („Moderate"), 10 („Eco"). Smysl: u delších tréninků (několik hodin) je GPU jinak vytížena na 100 %, což vede ke znatelně pomalejšímu systémovému UI (kurzor myši trhá, jiné aplikace se zpomalí). Throttle zpoždění dává GPU pauzy, ve kterých mohou běžet jiné úkoly. Náklady na výkon jsou značné: při 5 ms throttle trvá typický 40K trénink asi 50–80 % déle než bez throttle. V režimu Performance „Eco" (10 ms) je zpoždění na iteraci delší než iterace sama — faktor 2–3× pomalejší. Při aktivním throttle se pod pickerem objeví poznámka: „Throttle is on. Training will be slower than usual." Sama aplikace nereaguje znatelně lépe — profitují pouze jiné aplikace.
S7Sky Masking
KDE
Nastavení → General → Experimental — Outdoor Floater Reduction → Toggle „Sky Masking". Bound: AppState.trainingConfig.skyMaskingEnabled. Default: false.
TECHNICKY
Aktivuje pre-training segmentaci pixelů oblohy přes Apple Vision. Před startem tréninku se pro každou vstupní kameru extrahuje oblast oblohy přes Apple Vision foreground mask (obloha = pozadí) a přiřadí jako per-pixel maska k dané kameře. Během tréninku se příspěvek lossu na pixel násobí komplementem masky oblohy — pixely oblohy přispívají 0 ke gradientu, takže Gaussiany, které se projektují do oblohy, nedostávají optimalizační signály a tudíž se nestávají „hustšími" nebo „světlejšími". Významně redukuje floatery (tmavé chuchvalce v obloze) u outdoorových / dronových scén. Stojí ~3 % L1 regrese u klasického 40K tréninku (viz memory/dev_outdoor-floater-reduction.md). Smysluplné pouze u outdoorových scén s jasně rozeznatelnou oblohou; u interiérových scén nebo bílého pozadí identifikuje segmentace oblohy nesprávné oblasti a blokuje validní loss signály. Na rozdíl od ostatních experimentálních togglů se hodnota nepamatuje přes restarty aplikace — při příštím startu je opět vypnutá.
S8Mid-Training Floater Cleanup
KDE
Nastavení → General → Experimental — Outdoor Floater Reduction → Toggle „Mid-Training Floater Cleanup". Bound:. Default: false.
TECHNICKY
U Classic 40K tréninku (předvolba „P4 Quality") zapíná dva další density-control průchody: u iterace 20,000 a u iterace 30,000. Oba průchody prohledávají všechny Gaussiany podle tří kritérií: (a) velmi nízká opacity (standardně 0.005), (b) nepatrná velikost ve screen space, (c) žádné příspěvky k lossu v posledních 1000 iteracích. Gaussiany splňující všechny tři podmínky jsou prořezány. Efekt: ~5–15 % méně Gaussianů na konci tréninku, viditelně méně tmavých chuchvalců v obloze u dronových / outdoorových scén. Stojí ~1–3 % L1 regrese u blízkých interiérových scén, proto není aktivováno defaultně. Hodnota se pamatuje přes restarty (na rozdíl od S7). Dvě iterace cleanupu (20K, 30K) jsou napevno definovány a nelze je aktuálně měnit přes UI; u kratších tréninků (např. P2 Preview 5K) toggle nemá efekt, protože iterační značky nedosáhne. Detaily: memory/dev_outdoor-floater-reduction.md.
S9Reduce Elongated Gaussians
KDE
Nastavení → General → Experimental — Outdoor Floater Reduction → Toggle „Reduce Elongated Gaussians". Bound:. Default: false.
TECHNICKY
Aktivuje další anisotropy regularizaci v loss termu. Během optimalizace se pro každý Gaussian počítá anisotropie jako poměr mezi největší a nejmenší škálovací osou. Pokud poměr překročí threshold (, standardně 10.0), přidá se k lossu penalty term škálující proporcionálně k překročení. Efekt: jehlovité Gaussiany, typické pro cross-hatch a streak artefakty v trávě a hustém listoví, jsou během tréninku buď donuceny k oblejším tvarům, nebo prořezány. Na druhé straně ~6 % L1 regrese u standardních interiérových scén, žádný efekt u striktních object capture. Sweet spot je u dronových letů nad vegetací. Zapisuje, persistuje přes. Implementace v optimizer.metal jako dodatečná penalty ve výpočtu gradientu. Viz poznámku v paměti projektu: V549d byla dodaná verze, pozdější V549f s agresivnější scale reg byla revertována kvůli catastrophic regresi. Detaily: memory/dev_outdoor-floater-reduction.md a memory/dev_v549f-needle-reduction.md.
S10Reconstruct Sky Dome
KDE
Nastavení → General → Experimental — Outdoor Floater Reduction → Toggle „Reconstruct Sky Dome". Bound:. Default: false.
TECHNICKY
Aktivuje pre-training projekci Sky Dome (V549e MVP). Po SfM a před startem tréninku se pro každou vstupní kameru extrahuje maska oblohy Apple Vision sdílená s S7, pixely oblohy se s pomocí kameraových intrinsik ent-projektují na virtuální povrch koule (standardní poloměr 8× poloměr scény). Na této kouli se inicializuje ~5000 nových Gaussianů s průměry barev z projektovaných pixelů oblohy, velmi velkou škálou (1.0 v jednotkách scény) a počáteční opacity 0.95. Těchto 5000 Gaussianů není sky mask v klasickém slova smyslu — trénují se jako všechny ostatní, ale díky vysoké počáteční opacity zůstávají v tenké slupce. Výsledek: u 360° novel-view u outdoorových / dronových scén se místo tmavých konfeti chuchvalců objevují skutečná barva oblohy a struktury mraků. Hodnota se pamatuje přes restarty. Smysluplné pouze u outdoorových scén s alespoň 360° pokrytím kamerou; u čistých object capture bez výhledu na oblohu nemá efekt. Status: experimentální, širší A/B validace přes další outdoorové sety teprve čeká.
Záložka AI Helpers

S11AI Helpers enabled (Master)
KDE
Nastavení → AI Helpers → první sekce → Toggle „AI Helpers enabled". Bound:. Default: true.
TECHNICKY
Master přepínač přes všechny funkce AI Helpers v pipeline. Pokud je vypnutý, import a SfM pipeline přeskakuje všechny ML předzpracovací fáze úplně — žádné volání Apple Vision, žádné načítání CoreML modelu, žádné probouzení NPU. Pokud je zapnutý, konzultují se individuální sub-toggly (S12–S14). Hodnota se pamatuje přes restarty. Působí na následující fáze: (a) Frame quality pre-check před SfM (S12), (b) detekce uzavření smyček (S13), (c) auto-sky-masking jako výchozí hodnota pro nové tréninky (S14). Důležité: při vypnutém jsou tři sub-toggly deaktivovány a vizuálně zašedlé. Poznámka v patičce zdůrazňuje, že všechny AI Helpers běží striktně on-device — žádný upload obrázků, žádné cloudové zpracování. Záruka soukromí pochází z výhradního použití frameworku Apple Vision (lokálně na Neural Engine) a CoreML modelů, které leží přímo v balíku aplikace.
S12Frame quality check
KDE
Nastavení → AI Helpers → sekce Available → Toggle „Frame quality check". Bound:. Default: true.
TECHNICKY
Aktivuje Frame Quality Screener (fáze 3.11), který před voláním SfM analyzuje každý importovaný frame. Kroky pipeline na frame: (a) Laplacian Variance filtr z Apple Vision (detekce rozmazání — threshold ~150), (b) histogramová kontrola over/under-exposure (threshold: >5 % pixelů u 0 nebo 255), (c) detekce prázdného frame (směrodatná odchylka < 5 přes všechny pixely). Frame, který projde všemi třemi kontrolami, jde přímo dál. Frame, který selže v alespoň jedné kontrole, vyvolá modální potvrzovací dialog, který listuje každý problematický frame s thumbnailem a důvodem a ptá se, zda má být odstraněn. Důležité: žádné automatické mazání — dialog je vždy vyžadován, uživatel si ponechává poslední rozhodnutí. Výkon: ~50 ms na frame na M3 Ultra, běží paralelně. Při vypnutém se všechny framy předávají do SfM bez kontroly. Při deaktivovaném masteru (S11) je toggle vizuálně zašedlý a bez účinku. Dodaný status dle paměti: SHIPPED 2026-05-23.
S13Loop closure detection
KDE
Nastavení → AI Helpers → sekce Available → Toggle „Loop closure detection". Bound:. Default: true.
TECHNICKY
Aktivuje detekci uzavření smyčky založenou na Apple Vision Feature Print. Pro každý importovaný frame se počítá ~768 dimenzionální feature vektor, který představuje neuronový embedding obsahu obrazu. Následně se všechny Feature Prints porovnávají párovým způsobem přes cosine similarity. Páry s similarity > 0.85 a vzdáleností v indexu framů > 50 (tedy nesousední framy) jsou identifikovány jako „loop closure kandidáti" a zapsány do sidecar JSONL souboru v projektové složce. Pouze informační — importovaná sekvence obrázků se nemění. Smysl: dává SfM solveru (zejména COLMAP) nápovědu, že tyto framy patří k sobě v 3D prostoru. Pro nativní SfM je sidecar informace aktuálně pouze dokumentární; COLMAP používá hinty interně přes custom matches-file (ruční integrace možná, není automaticky propojena). Výkon: ~200 ms na frame na M3 Ultra, běží paralelně. Při vypnutém se Feature Prints negenerují. Při deaktivovaném masteru (S11) vizuálně zašedlé.
S14Auto sky masking (AI)
KDE
Nastavení → AI Helpers → sekce Available → Toggle „Auto sky masking". Bound: UserDefaults.standard.bool(forKey: "aiHelpersSkyMaskingDefault") (přes custom binding). Default: false.
TECHNICKY
Nastavuje výchozí hodnotu pro Sky Masking nastavení z S7 u nových konfigurací tréninku. Na rozdíl od S11–S13 žije vlastní Sky Masking nastavení per training session a nepamatuje se přes restarty aplikace (viz S7). Aby UI AI Helpers přesto mohlo nabídnout persistentní default pro „nové tréninky", existuje tato stínová hodnota: pamatuje se přes restarty a při setupu nového tréninku (např. importu nového projektu) se přebírá jako počáteční default pro Sky Masking. Při deaktivovaném masteru (S11) vizuálně zašedlé.
Settings zrcadlené z Inspektoru
Ostatní záznamy nastavení (S17–S33) z inventární tabulky jsou zrcadlení z Expert-Inspektoru a jsou dokumentovány v Kapitole 2 (Inspector Controls I12–I29). Neobjevují se fyzicky v okně Nastavení, v inventáři byly uvedeny pouze proto, že běží přes TrainingConfig properties, které jsou persistovány a tudíž mají formálně charakter nastavení. Pro obsahová vysvětlení viz tam.
Kdy co?
| Nastavení | Rozsah platnosti | Persistence |
|---|---|---|
| S1 Default Mode | Globální | Restart aplikace |
| S2 Language | Globální | Restart aplikace |
| S3 Viewport Background | Globální (Default) + Runtime | Restart aplikace |
| S4 Auto-Rotate After Training | Globální | Restart aplikace |
| S5 Live Preview Interval | Default pro nové tréninky | Restart aplikace |
| S6 Throttle Delay | Default pro nové tréninky | Restart aplikace |
| S7 Sky Masking | Aktuální trénink | pouze relace |
| S8 Mid-Training Floater Cleanup | Globální | Restart aplikace |
| S9 Reduce Elongated Gaussians | Globální | Restart aplikace |
| S10 Reconstruct Sky Dome | Globální | Restart aplikace |
| S11 AI Helpers Master | Globální | Restart aplikace |
| S12 Frame quality check | Globální | Restart aplikace |
| S13 Loop closure detection | Globální | Restart aplikace |
| S14 Auto sky masking | Default pro nové tréninky | Restart aplikace |
Globální = působí na všechny projekty. Default pro nové tréninky = působí pouze na příští založený trénink, běžící relace zůstávají nezměněny. Aktuální trénink = působí okamžitě na běžící konfiguraci tréninku, ale nepersistuje bez explicitního reimportu.