Uživatelská příručka

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

Nastavení → Záložka General s Rozhraním, Náhledem, Tréninkem a experimentální sekcí
Nastavení → Záložka General s Rozhraním, Náhledem, Tréninkem a experimentální sekcí

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

Nastavení → Záložka AI Helpers s hlavním přepínačem a sub-toggly
Nastavení → Záložka AI Helpers s hlavním přepínačem a sub-toggly

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 platnostiPersistence
S1 Default ModeGlobálníRestart aplikace
S2 LanguageGlobálníRestart aplikace
S3 Viewport BackgroundGlobální (Default) + RuntimeRestart aplikace
S4 Auto-Rotate After TrainingGlobálníRestart aplikace
S5 Live Preview IntervalDefault pro nové tréninkyRestart aplikace
S6 Throttle DelayDefault pro nové tréninkyRestart aplikace
S7 Sky MaskingAktuální tréninkpouze relace
S8 Mid-Training Floater CleanupGlobálníRestart aplikace
S9 Reduce Elongated GaussiansGlobálníRestart aplikace
S10 Reconstruct Sky DomeGlobálníRestart aplikace
S11 AI Helpers MasterGlobálníRestart aplikace
S12 Frame quality checkGlobálníRestart aplikace
S13 Loop closure detectionGlobálníRestart aplikace
S14 Auto sky maskingDefault pro nové tréninkyRestart 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.