Handleiding

Hoofdstuk 3 — Instellingen

Het Instellingen-venster wordt geopend via RadianceKit → Einstellungen… of de standaard-toetscombinatie ⌘,. Het bevat twee tabbladen: General en AI Helpers. Anders dan de Inspector-waarden uit hoofdstuk 2 werken de instellingen uit dit venster app-globaal (over alle projecten heen) — ze worden, op één uitzondering na, permanent opgeslagen en overleven het herstarten van de app; de uitzondering is het live-preview-interval (S5), dat alleen voor de lopende sessie geldt. Het General-tabblad groepeert drie inhoudelijke secties: Interface, Viewport en Training. (De outdoor-floater-schakelaars die hier vroeger stonden — Sky Masking, Floater Cleanup en Reconstruct Sky Dome — zijn sinds v1.6 verhuisd naar de Expert-Inspector, waar ze per project worden opgeslagen: sinds de hergroepering van 2026-07-18 staan ze in de sectie Training, subgroep Outdoor; zie hoofdstuk 2, I42–I44.) Het AI-Helpers-tabblad schakelt de on-device machine-learning-hulpmiddelen (Vision, CoreML) voor SfM- en trainings-voorverwerking in.

Het venster kan scrollen. Het heeft een vaste grootte — in de code vastgelegd op 460 #sym.times 600 punten —, en de inhoud van het General-tabblad is hoger dan dit oppervlak. Bij het openen zie je alleen Interface en het bovenste deel van Viewport; Training en daarmee de schakelaar voor de automatische PLY (S36) en de knop naar de Exports-map (S37) verschijnen pas wanneer je naar beneden scrolt. Wie deze twee daar mist, heeft meestal simpelweg niet gescrold. De twee afbeeldingen hieronder tonen daarom hetzelfde tabblad tweemaal: één keer bovenaan en één keer naar beneden gescrold.

Eerdere bedieningselementen om alle AI-Helpers gezamenlijk in of uit te schakelen bestaan in de huidige versie niet meer — ze worden hier dan ook niet gedocumenteerd. Ook het vroegere „Coming Soon"-gedeelte voor nog niet uitgeleverde hulpmiddelen is verwijderd en wordt hier niet vermeld.

General-tabblad

Instellingen → General-tabblad, bovenste gedeelte met de secties Gebruikersinterface en Viewport
Instellingen → General-tabblad, bovenste gedeelte met de secties Gebruikersinterface en Viewport

S1Default Mode

WAAR

Settings → General → Interface → Default Mode-picker. Standaard: „Simple Mode".

TECHNISCH

Bepaalt in welke van twee UI-modi de app na de volgende start opent. „Simple Mode" is de begeleide wizard-workflow in 4 stappen (Import → Processing → Preview → Export, gedocumenteerd in hoofdstuk 10 onder Z1–Z4), „Expert Mode" is de klassieke drie-panelenlayout met Navigator, 3D-viewport en Expert-Inspector uit hoofdstuk 2. De waarde wordt onthouden over herstarts heen. Identieke werking als het menu Mode → Simple Mode (⌘1) / Mode → Expert Mode (⌘2), alleen schakelt het menu de lopende sessie om, terwijl deze picker de standaard voor toekomstige sessies instelt. Beide modi gebruiken dezelfde project-state — projecten, camera's en trainingsconfiguratie blijven behouden bij het wisselen van modus. Modus-specifieke toolbar-knoppen worden onmiddellijk opnieuw gerenderd.

S38Pause after frame extraction (Expert)

WAAR

Settings → General → Interface → schakelaar „Pause after frame extraction (Expert)". Standaard: uit.

TECHNISCH

Betreft uitsluitend de Expert-modus en daarbinnen uitsluitend videomateriaal. Staat de schakelaar uit (standaard), dan heet de grote knop „Start Processing" en verloopt de run in één keer: beelden uit de video halen, beeldkwaliteit controleren, camera's uitlijnen, trainen. Staat hij aan, dan heet dezelfde knop „Extract Frames" en stopt de run na het extraheren en beoordelen van de losse beelden. Tijdens deze pauze kun je de beeldenset in de Navigator doorlopen, afzonderlijke beelden verwijderen en de trainingsinstellingen wijzigen voordat je de rest zelf start. De waarde wordt onthouden over herstarts heen. Op de Simple-modus en op imports die al uit losse beelden bestaan, heeft hij geen effect — daar valt niets te extraheren.

S34Show marker recipe suggestions

WAAR

Settings → General → Interface → schakelaar „Show marker recipe suggestions". Standaard: aan.

TECHNISCH

Staat de app toe om na een import stilzwijgend naar AprilTag-markers in je afbeeldingen te zoeken en je eventueel een ander SfM-recept voor te stellen. De melding verschijnt als banner in de Expert-Inspector boven de sectie Cameras & Capture en biedt aan over te schakelen naar Professional, dat herhaaldelijk gevonden markers als vaste ankers gebruikt voor nauwkeurigere camera-posities. Er wordt alleen geteld wat ook bruikbaar is: een marker-ID moet in minstens drie afbeeldingen voorkomen, anders levert het geen bruikbaar spoor op en blijft het ongeteld — meerdere verschillende ID's die elk maar één keer voorkomen, lossen dus niets uit. De melding verschijnt bovendien alleen als de native SfM daadwerkelijk loopt en er nog geen hoogwaardiger recept is ingesteld, en verdwijnt zodra een run start. De schakelaar is de blijvende vorm van „Don't suggest again" in de banner zelf; een klik daarop zet hem hier uit. Omgekeerd geldt het weer inschakelen hier als uitdrukkelijk nieuw begin: ook een voor de huidige import weggeklikte melding wordt opnieuw gecontroleerd.

S2Language

WAAR

Settings → General → Interface → Language-picker. Standaard: „System Default" (volgt de macOS-taal).

TECHNISCH

Kiest de weergavetaal van de volledige app-UI, onafhankelijk van de macOS-systeemtaal. De picker toont de optie „System Default" en 18 vaste talen: English, Deutsch, Français, Español, Português, Italiano, Nederlands, 日本語, 中文, 한국어, Svenska, Norsk, Dansk, Suomi, Polski, Čeština, Русский, Türkçe. Bij „System Default" volgt de app de macOS-taal. Bij een expliciete keuze wordt de taalinstelling onthouden over herstarts heen; volledige werking vereist meestal een herstart van de app, omdat lokalisatie-bundels alleen bij het opstarten worden geladen.

S3Viewport Background

WAAR

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

TECHNISCH

Stelt de achtergrondkleur van de 3D-viewport in. Drie opties: „Dark Gray" (RGB 0.1, 0.1, 0.1 — standaard), „Black" (0, 0, 0) en „White" (1, 1, 1). De keuze werkt meteen door op de lopende Metal-renderer en wordt opgeslagen in de User Defaults, overleeft dus herstarts van de app. Er is precies één instelling met drie bedieningswegen: deze picker, het menu Viewport → Background (M21, M22, M23) en de B-toets in de viewport schrijven allemaal via dezelfde setter — wie via menu of toets omschakelt, ziet de nieuwe waarde daarna ook hier in de Settings-picker. (Tot en met v1.7 onthield de app de keuze niet en was het woord „Default" in de picker in zoverre oneerlijk; sinds 2026-07-18 komen de drie wegen overeen.) Bewust gevolg van deze wijziging: een witte achtergrond blijft ook na een herstart wit en zit dus ook in screenshots en orbit-video-exports. Voor opnames blijft gelden: witte achtergronden benadrukken groene/blauwe floaters sterker, donkere achtergronden zijn beter voor nette render-opnames.

S39Selection color

WAAR

Settings → General → Viewport → kleurkiezer „Selection color". Standaard: rood (RGB 1, 0, 0).

TECHNISCH

Legt de kleurtint vast waarmee in de bewerkingsmodus geselecteerde Gauss-punten worden ingekleurd — dus datgene wat je net met het penseel of via het snijvlak hebt gemarkeerd en in de volgende stap zou verwijderen of ontsatureren. De kiezer kent geen transparantie. Een wijziging wordt meteen in de User Defaults geschreven en doorgegeven aan de lopende renderer, de weergave kleurt dus meteen om bij het volgende beeld; een herstart is niet nodig. De kleur is puur visueel en staat in geen enkel geëxporteerd bestand.

S40Cylinder color

WAAR

Settings → General → Viewport → kleurkiezer „Cylinder color". Standaard: cyaan (RGB 0.1, 0.9, 1.0).

TECHNISCH

Legt de kleurtint van de cilinder-uitsnede vast — zowel van het draadframe als van de inhoud die de cilinder omsluit. Let op, de twee tinten betekenen het tegenovergestelde: de selectiekleur (S39) markeert wat weg moet, de cilinderkleur markeert wat blijft. Daarom zijn ze afzonderlijk instelbaar en standaard duidelijk verschillend. Zoals S39 zonder transparantie, meteen werkzaam en puur visueel.

S35Invert vertical navigation

WAAR

Settings → General → Viewport → schakelaar „Invert vertical navigation". Standaard: uit.

TECHNISCH

Keert de omhoog-/omlaagrichting van de viewport-navigatie om. Bereik sinds 2026-07-18: draaien (orbit), de blikrichting in vliegmodus en het pannen — dat laatste zowel via gebaar als bij slepen met de rechtermuisknop, wat de flag voorheen helemaal niet las. Voorheen werkte de schakelaar maar half; wie hem aanzette, bewoog twee gebaren tegen elkaar in. Bij het pannen heeft de verticale muisbeweging van huis uit al het omgekeerde teken als bij het draaien, daarom wordt het daar voorwaardelijk gedraaid in plaats van van het draaien te kopiëren — wie de schakelaar nooit aanraakt, merkt niets van de correctie. Zoom blijft bewust uitgezonderd: daar bepaalt al de scrollrichting van het systeem het teken, en de delta's sturen afstand en kijkhoek, geen verticale navigatie.

Vanaf hier moet er gescrold worden — de volgende drie items liggen onder het zichtbare gedeelte van het venster.

Instellingen → General-tabblad, naar beneden gescrold: het einde van de sectie Viewport en de sectie Training
Instellingen → General-tabblad, naar beneden gescrold: het einde van de sectie Viewport en de sectie Training

S5Live Preview Interval

WAAR

Settings → General → Training → Live Preview-picker. Standaard: „Every 50 Iterations".

TECHNISCH

Bepaalt met welk iteratie-interval de lopende trainingssnapshot naar de 3D-viewport wordt gerenderd. Vier discrete waarden: 0 („Off"), 50, 250, 1000 iteraties. Bij actieve Live Preview kopieert de trainer de Gaussian-buffer van de GPU naar een aparte render-buffer en triggert een viewport-redraw. Bij „Off" wordt de viewport pas na afronding van het trainen bijgewerkt. Prestatiekosten: elke 50 iteraties ~5–10% trager op M3 Ultra, elke 250 iteraties ~1–2% trager, elke 1000 iteraties onmeetbaar. Geheugen-overhead constant ~2 GB voor de snapshot-buffer, onafhankelijk van het interval. Toepassingsbereik: de waarde hoort bij de app, niet bij de scène. Ze wordt om technische redenen samen met de trainingsinstellingen meegevoerd, maar blijft bij het openen van een scènebestand, bij het wisselen van de preset en bij het automatisch omschakelen naar 360° uitdrukkelijk behouden — voorheen overschreef een geopende scène de eigen preview-snelheid met die van de scène-auteur, „Off" inbegrepen. Om dezelfde reden telt ze niet mee in de receptvergelijking en veroorzaakt ze geen „Modified"-badge bij de preset. Ook „Continue Training" richt zich naar de huidige waarde in plaats van naar die die bij de oorspronkelijke run gold — een voortzetting toont sindsdien überhaupt een preview en respecteert het als je hem tussentijds hebt uitgeschakeld. Ze is tegelijk de enige instelling van dit venster die de herstart van de app niet overleeft: anders dan alle andere items hier wordt ze nergens permanent opgeslagen, elke start begint weer bij „Every 50 Iterations". Een al lopend training verandert zijn snelheid niet meer; een wijziging grijpt bij de volgende run in. Bij interval 50 is de visuele indruk een vloeiend „opgroeien" van de puntenwolk, bij 1000 oogt het haperend.

S36Save a PLY automatically after each run

WAAR

Settings → General → Training → schakelaar „Save a PLY automatically after each run". Standaard: aan.

TECHNISCH

Schrijft na elke afgeronde run — verse run en voortzetting — het resultaat als PLY naar de Exports-map (training_<tijdstempel>.ply). De functie zelf bestaat sinds v1.7.0, maar liep zonder enige weergave en zonder schakelaar; sinds 2026-07-18 is ze zichtbaar en uitschakelbaar. Voorzichtigheid bij uitschakelen: het automatisch wegschrijven is een vangnet — zonder dit bestaat een voltooide run alleen in het werkgeheugen, tot je hem zelf exporteert of als scène opslaat. Voorzichtigheid bij aanlaten: een bestand haalt bij detailrijke scènes ~2 GB. Is de instelling nooit aangeraakt, dan geldt „aan": een ontbrekende waarde in de User Defaults wordt uitdrukkelijk gelezen als „aan", niet als „uit" — anders had elke bestaande gebruiker het vangnet stilzwijgend verloren. De doelmap hangt af van de build: zonder sandbox ~/Documents/RadianceKit/Exports, in de App Store-versie daarentegen ~/Library/Containers/…/Documents/RadianceKit/Exports — daarom de knop ernaast (S37).

S37Show Exports Folder…

WAAR

Settings → General → Training → knop „Show Exports Folder…". Pure actie, geen opgeslagen waarde.

TECHNISCH

Opent in de Finder de map waarin de automatische PLY's uit S36 worden weggeschreven. Bestaat, omdat het pad verschilt per build en de bestanden in de App Store-versie in de container van de app liggen, waar niemand kijkt — juist daarom leken ze herhaaldelijk „verdwenen". Knop en schrijver gebruiken dezelfde pad-definitie, kunnen dus niet uit elkaar lopen. Geen opgeslagen toestand.

Bij het afsluiten met niet-opgeslagen werk vraagt de app sinds 2026-07-18 om bevestiging, in plaats van zonder commentaar te sluiten. Loopt er net een run, dan luidt de vraag „Quit while a run is in progress?" — de run zou worden afgebroken en de voortgang zou verloren gaan. Ligt er een afgerond getraind resultaat dat noch geëxporteerd noch als scène opgeslagen is, dan luidt ze „Quit without saving the result?". Standaard staat telkens Cancel geselecteerd; Return en Escape breken het afsluiten dus af, „Quit Anyway" sluit toch af. Script- en autotest-starts zijn uitgezonderd en sluiten af zonder bevestigingsvraag. Staat S36 aan, dan doet het tweede geval zich zelden voor — het resultaat ligt dan al als PLY in de Exports-map en geldt als opgeslagen.

AI-Helpers-tabblad

Instellingen → AI-Helpers-tabblad met hoofdschakelaar en sub-toggles
Instellingen → AI-Helpers-tabblad met hoofdschakelaar en sub-toggles

S11AI Helpers enabled (hoofdschakelaar)

WAAR

Settings → AI Helpers → eerste Section → toggle „AI Helpers enabled". Standaardinstelling: aan.

TECHNISCH

Hoofdschakelaar over alle AI-Helpers-functies in de pipeline. Als deze uit staat, slaat de import- en SfM-pipeline alle ML-gebaseerde voorverwerkingsstages volledig over — geen Apple-Vision-aanroep, geen CoreML-model-load, geen NPU-activering. Als hij aan staat, worden de individuele sub-opties (S12–S13) geraadpleegd. De waarde wordt over herstarts heen onthouden. Werkt door op de volgende stages: (a) Frame-Quality-Pre-Check vóór SfM (S12), (b) Loop-Closure-detectie (S13). Belangrijk: staat de hoofdschakelaar uit, dan zijn alle sub-opties van het tabblad uitgeschakeld en visueel grijs gemaakt. De voettekst benadrukt dat alle AI-Helpers strikt on-device draaien — geen beeldupload, geen cloudverwerking. De privacygarantie komt voort uit het uitsluitend gebruiken van het Apple-Vision-framework (lokaal op de Neural Engine) en CoreML-modellen, die zich direct in het app-bundle bevinden.

S12Frame quality check

WAAR

Settings → AI Helpers → Available-sectie → toggle „Frame quality check". Standaardinstelling: aan.

TECHNISCH

Activeert de Frame-Quality-Screener, die vóór de SfM-aanroep elk geïmporteerde frame analyseert. Per frame wordt gecontroleerd op bewegingsonscherpte, over- en onderbelichting, te weinig beeldstructuur en een afgedekt objectiefgedeelte; de bevinding wordt bovendien ingedeeld naar ernst (onopvallend, waarschuwing, ernstig). Frames zonder bevinding gaan direct door. Opvallende frames activeren een modale bevestigingsdialoog die elk problematisch frame met thumbnail en motivatie toont en vraagt of het verwijderd moet worden — naar keuze allemaal behouden, alle beanstande verwijderen of een eigen selectie verwijderen. Belangrijk: geen automatische verwijdering — de dialoog is altijd vereist, de gebruiker houdt de laatste beslissing. Staat de optie uit, dan worden alle frames ongecontroleerd aan SfM doorgegeven. Als de hoofdschakelaar (S11) uitstaat, is deze toggle visueel grijs gemaakt en zonder effect.

S13Loop closure detection

WAAR

Settings → AI Helpers → Available-sectie → toggle „Loop closure detection". Standaardinstelling: aan.

TECHNISCH

Activeert de op Apple-Vision-Feature-Print gebaseerde loop-closure-detectie. Voor elk geïmporteerd frame wordt een feature-print berekend, een neurale embedding van de beeldinhoud. Vervolgens worden de feature-prints paarsgewijs vergeleken; voldoende vergelijkbare paren die in de opnamevolgorde ver genoeg uit elkaar liggen (dus geen directe buren zijn), worden als „loop-closure-kandidaten" geïdentificeerd en weggeschreven naar een sidecar-JSONL-bestand in de projectmap. Informational only — de geïmporteerde beeldreeks wordt niet aangepast. Doel: geeft de SfM-solver (met name COLMAP) een hint dat deze frames in de 3D-ruimte bij elkaar horen te clusteren. Voor native SfM is de sidecar-informatie momenteel alleen documenterend; COLMAP gebruikt de hints intern via een custom matches-file (handmatige integratie mogelijk, niet automatisch gekoppeld). Staat de optie uit, dan worden geen feature-prints gegenereerd. Als de hoofdschakelaar (S11) uitstaat, visueel grijs gemaakt.

Inspector-Spiegel-instellingen

De overige instellingen (S17–S33) zijn spiegelingen uit de Expert-Inspector en worden in hoofdstuk 2 (Inspector-Controls I12–I29) gedocumenteerd. Ze verschijnen niet fysiek in het Instellingenvenster, maar worden hier alleen vermeld omdat ze bij de trainingsinstellingen horen en in die zin formeel een instellingskarakter hebben. Anders dan de items in dit hoofdstuk zijn ze niet app-globaal: ze horen bij het recept, worden samen met de voorinstelling en het scènebestand opgeslagen en wisselen daarom mee met het project. Voor inhoudelijke toelichting zie daar.

Wanneer wat?

InstellingToepassingsgebiedPersistentie
S1 Default ModeApp-breedHerstart van de app
S2 LanguageApp-breedHerstart van de app
S3 Viewport BackgroundApp-breed (kiezer, menu en B-toets zijn dezelfde instelling)Herstart van de app
S5 Live Preview IntervalApp-breed (reist niet mee met de scène)alleen lopende sessie
S11 AI Helpers MasterApp-breedHerstart van de app
S12 Frame quality checkApp-breedHerstart van de app
S13 Loop closure detectionApp-breedHerstart van de app
S34 Show marker recipe suggestionsApp-breedHerstart van de app
S35 Invert vertical navigationApp-breedHerstart van de app
S36 Save a PLY automaticallyApp-breedHerstart van de app
S37 Show Exports Folder…Actie
S38 Pause after frame extractionApp-breed (alleen Expert-modus, alleen video)Herstart van de app
S39 Selection colorApp-breed (alleen weergave)Herstart van de app
S40 Cylinder colorApp-breed (alleen weergave)Herstart van de app

App-breed = werkt op alle projecten. Actie = geen opgeslagen status, de knop doet eenmalig iets. Geen van de hier gedocumenteerde instellingen reist mee in een scènebestand. Alle op één na overleven ook de herstart van de app; de uitzondering is het Live-Preview-Interval (S5), dat bij elke start wordt teruggezet naar „Every 50 Iterations".