Руководство

Глава 3 — Настройки

Окно настроек открывается через RadianceKit → Einstellungen… или стандартное сочетание клавиш ⌘,. Оно содержит две вкладки: General и AI Helpers. В отличие от значений Inspector из главы 2, настройки этого окна действуют глобально для приложения (во всех проектах сразу) — они, за одним исключением, сохраняются постоянно и переживают перезапуск приложения; исключением является интервал Live-Preview (S5), который действует только в течение текущего сеанса. Вкладка General объединяет три содержательных раздела: Interface, Viewport и Training. (Переключатели для Outdoor-плавающих артефактов, которые раньше находились здесь — Sky Masking, Floater Cleanup и Reconstruct Sky Dome — с версии v1.6 переехали в Expert-Inspector, где они сохраняются для каждого проекта отдельно: после перегруппировки от 2026-07-18 они находятся в разделе Training, подгруппа Outdoor; см. главу 2, I42–I44.) Вкладка AI Helpers включает помощников машинного обучения на устройстве (Vision, CoreML) для предварительной обработки SfM и обучения.

Окно прокручивается. У него фиксированный размер — в коде заданный как 460 #sym.times 600 пунктов —, а содержимое вкладки General выше этой площади. При открытии видны только Interface и верхняя часть Viewport; Training, а вместе с ним переключатель автоматического PLY (S36) и кнопка перехода в папку экспорта (S37), появляются только после прокрутки вниз. Те, кому не хватает этих двух элементов, обычно просто не прокрутили окно. Поэтому на двух иллюстрациях ниже показана одна и та же вкладка дважды: один раз сверху и один раз после прокрутки.

Прежние элементы управления для массового включения или отключения всех AI Helpers в текущей версии больше не существуют — соответственно, здесь они не документируются. Также был удалён прежний раздел "Coming Soon" для ещё не поставляемых помощников, и здесь на него нет ссылок.

Вкладка General

Настройки → вкладка General, верхняя область с разделами Пользовательский интерфейс и Вьюпорт
Настройки → вкладка General, верхняя область с разделами Пользовательский интерфейс и Вьюпорт

S1Default Mode

ГДЕ

Settings → General → Interface → Default Mode-Picker. Значение по умолчанию: «Simple Mode».

ТЕХНИЧЕСКИ

Определяет, в каком из двух режимов интерфейса приложение откроется после следующего запуска. «Simple Mode» — это управляемый пошаговый workflow из 4 шагов (Import → Processing → Preview → Export, описан в главе 10, Z1–Z4), «Expert Mode» — классическая трёхпанельная раскладка с навигатором, 3D-вьюпортом и Expert-Inspector из главы 2. Значение сохраняется между перезапусками. Действует так же, как меню Mode → Simple Mode (⌘1) / Mode → Expert Mode (⌘2), с той разницей, что меню переключает текущую сессию, а этот переключатель задаёт значение по умолчанию для будущих сессий. Оба режима работают с одним и тем же состоянием проекта — проекты, камеры и конфигурация тренировки сохраняются при смене режима. Специфичные для режима кнопки на панели инструментов сразу перерисовываются заново.

S38Pause after frame extraction (Expert)

ГДЕ

Settings → General → Interface → переключатель «Pause after frame extraction (Expert)». Значение по умолчанию: выключено.

ТЕХНИЧЕСКИ

Затрагивает только Expert-режим и в нём только видеоматериал. Если переключатель выключен (по умолчанию), большая кнопка называется «Start Processing», и весь процесс проходит за один проход: извлечение кадров из видео, проверка качества изображений, выравнивание камер, тренировка. Если он включён, та же кнопка называется «Extract Frames», и процесс останавливается после извлечения и просмотра отдельных кадров. В этой паузе можно просмотреть набор изображений в навигаторе, удалить отдельные кадры и изменить настройки тренировки, прежде чем самостоятельно запустить остальное. Значение сохраняется между перезапусками. На Simple-режим и на импорты, которые уже состоят из отдельных изображений, он не влияет — там нечего извлекать.

S34Show marker recipe suggestions

ГДЕ

Settings → General → Interface → переключатель «Show marker recipe suggestions». Значение по умолчанию: включено.

ТЕХНИЧЕСКИ

Разрешает приложению после импорта незаметно искать в твоих изображениях маркеры AprilTag и при необходимости предложить другой рецепт SfM. Подсказка появляется в виде баннера в Expert-Inspector над разделом Cameras & Capture и предлагает переключиться на Professional, который использует многократно найденные маркеры как жёсткие опорные точки для более точного определения положения камер. Считается только то, что реально пригодно к использованию: ID маркера должен встретиться минимум в трёх изображениях, иначе он не даёт пригодного следа и остаётся неучтённым — несколько разных ID, каждый из которых встречается лишь однократно, ничего не запускают. Подсказка также появляется только тогда, когда действительно работает нативная SfM и ещё не выбран более совершенный рецепт, и исчезает, как только запускается прогон. Переключатель — это постоянная форма кнопки «Don't suggest again» из самого баннера; клик по ней выключает этот переключатель. И наоборот, повторное включение здесь считается осознанным новым началом: даже подсказка, отклонённая для текущего импорта, будет проверена заново.

S2Language

ГДЕ

Settings → General → Interface → Language-Picker. Значение по умолчанию: «System Default» (следует языку macOS).

ТЕХНИЧЕСКИ

Выбирает язык отображения всего интерфейса приложения, независимо от системного языка macOS. Список содержит пункт «System Default» и 18 фиксированных языков: English, Deutsch, Français, Español, Português, Italiano, Nederlands, 日本語, 中文, 한국어, Svenska, Norsk, Dansk, Suomi, Polski, Čeština, Русский, Türkçe. При «System Default» приложение следует языку macOS. При явном выборе настройка языка сохраняется между перезапусками; полное действие, как правило, требует перезапуска приложения, поскольку пакеты локализации загружаются только при старте.

S3Viewport Background

ГДЕ

Settings → General → Viewport → Background-Picker. Значение по умолчанию: «Dark Gray» (RGB 0.1, 0.1, 0.1).

ТЕХНИЧЕСКИ

Задаёт цвет фона 3D-вьюпорта. Три варианта: «Dark Gray» (RGB 0.1, 0.1, 0.1 — по умолчанию), «Black» (0, 0, 0) и «White» (1, 1, 1). Выбор сразу же применяется к работающему Metal-рендереру и сохраняется в User-Defaults, то есть переживает перезапуски приложения. Есть ровно одна настройка с тремя способами управления: этот переключатель, меню Viewport → Background (M21, M22, M23) и клавиша B во вьюпорте — все они пишут через один и тот же сеттер: кто переключает через меню или клавишу, увидит новое значение затем и здесь, в переключателе настроек. (Вплоть до v1.7 включительно приложение не запоминало выбор, и слово «Default» в переключателе было в этом смысле нечестным; с 18.07.2026 все три способа согласованы.) Осознанное следствие этого изменения: белый фон остаётся белым и после перезапуска, а значит попадает и в скриншоты, и в экспортированные orbit-видео. Для съёмок по-прежнему верно: белый фон сильнее выделяет зелёные/синие «плавающие» артефакты, тёмный фон лучше подходит для чистых render-кадров.

S39Selection color

ГДЕ

Settings → General → Viewport → палитра «Selection color». Значение по умолчанию: красный (RGB 1, 0, 0).

ТЕХНИЧЕСКИ

Задаёт цвет, которым в режиме редактирования подсвечиваются выбранные гауссовы точки — то есть то, что ты только что отметил кистью или через плоскость сечения и на следующем шаге собираешься удалить или обесцветить. Палитра не поддерживает прозрачность. Изменение сразу записывается в User-Defaults и передаётся работающему рендереру, так что вид перекрашивается уже со следующим кадром; перезапуск не требуется. Тон — чисто отображаемый и не сохраняется ни в одном экспортированном файле.

S40Cylinder color

ГДЕ

Settings → General → Viewport → палитра «Cylinder color». Значение по умолчанию: голубой (RGB 0.1, 0.9, 1.0).

ТЕХНИЧЕСКИ

Задаёт цвет цилиндрической обрезки — как каркаса, так и содержимого, которое цилиндр охватывает. Внимание, два этих тона означают противоположное: цвет выделения (S39) отмечает то, что должно исчезнуть, цвет цилиндра отмечает то, что останется. Поэтому они настраиваются отдельно и по умолчанию заметно различаются. Как и S39, без прозрачности, действует сразу и только отображается.

S35Invert vertical navigation

ГДЕ

Settings → General → Viewport → переключатель «Invert vertical navigation». Значение по умолчанию: выключено.

ТЕХНИЧЕСКИ

Меняет направление навигации вверх/вниз во вьюпорте на противоположное. Область действия с 18.07.2026: вращение (orbit), взгляд в режиме полёта и панорамирование — последнее как жестом, так и при перетаскивании правой кнопкой мыши, которое раньше вообще не читало этот флаг. Раньше переключатель действовал только наполовину: включивший его двигал два жеста в противоположных направлениях друг другу. При панорамировании вертикальное движение мыши изначально имеет обратный знак по сравнению с вращением, поэтому там оно инвертируется условно, а не копируется из вращения — тот, кто никогда не трогает переключатель, этой поправки не заметит. Зум сознательно исключён: там знак уже определяется направлением прокрутки системы, а дельты управляют дистанцией и углом обзора, а не вертикальной навигацией.

С этого места нужно прокручивать — следующие три пункта находятся ниже видимой области окна.

Настройки → вкладка General, прокручено вниз: конец раздела Вьюпорт и раздел Training
Настройки → вкладка General, прокручено вниз: конец раздела Вьюпорт и раздел Training

S5Live Preview Interval

ГДЕ

Settings → General → Training → переключатель Live Preview. Значение по умолчанию: «Every 50 Iterations».

ТЕХНИЧЕСКИ

Определяет, с каким интервалом итераций текущий снимок тренировки рендерится в 3D-вьюпорт. Четыре дискретных значения: 0 («Off»), 50, 250, 1000 итераций. При активном Live Preview тренер копирует буфer гауссиан из GPU в отдельный render-буфер и запускает перерисовку вьюпорта. При «Off» вьюпорт обновляется только после завершения тренировки. Затраты на производительность: каждые 50 итераций ~5–10% медленнее на M3 Ultra, каждые 250 итераций ~1–2% медленнее, каждые 1000 итераций — неизмеримо. Overhead по памяти постоянный, ~2 ГБ для буфера снимка, независимо от интервала. Область действия: значение принадлежит приложению, а не сцене. Оно ведётся вместе с настройками тренировки по техническим причинам, но при открытии файла сцены, при смене пресета и при автоматическом переключении на 360° явно сохраняется — раньше открытая сцена перезаписывала собственную частоту предпросмотра частотой автора сцены, включая «Off». По той же причине оно не учитывается при сравнении рецептов и не вызывает бейдж «Modified» у пресета. «Continue Training» тоже ориентируется на текущее значение, а не на то, что действовало при исходном запуске — с этих пор продолжение вообще показывает предпросмотр и учитывает, если его тем временем отключили. Это единственная настройка этого окна, которая не переживает перезапуск приложения: в отличие от всех остальных пунктов здесь, она нигде не сохраняется постоянно, каждый запуск снова начинается с «Every 50 Iterations». Уже идущая тренировка свою частоту не меняет; изменение вступает в силу со следующего прогона. При интервале 50 визуально это выглядит как плавное «прорастание» облака точек, при 1000 — как рывками.

S36Save a PLY automatically after each run

ГДЕ

Settings → General → Training → переключатель «Save a PLY automatically after each run». Значение по умолчанию: включено.

ТЕХНИЧЕСКИ

После каждого завершённого прогона — свежего прогона и продолжения — записывает результат в виде PLY в папку Exports (training_<временная_метка>.ply). Сама функция существует с v1.7.0, но раньше работала без какой-либо индикации и без переключателя; с 18.07.2026 она видима и отключаема. Осторожно при выключении: автоматическая запись — это страховочная сеть — без неё готовый прогон существует только в оперативной памяти, пока ты сам не экспортируешь его или не сохранишь как сцену. Осторожно при оставлении включённым: файл при детализированных сценах достигает ~2 ГБ. Если настройку никогда не трогали, действует «включено»: отсутствующее значение в User-Defaults явно читается как «включено», а не как «выключено» — иначе каждый существующий пользователь незаметно потерял бы эту страховку. Целевая папка зависит от сборки: без песочницы это ~/Documents/RadianceKit/Exports, в версии App Store же ~/Library/Containers/…/Documents/RadianceKit/Exports — поэтому рядом есть кнопка (S37).

S37Show Exports Folder…

ГДЕ

Settings → General → Training → кнопка «Show Exports Folder…». Это чистое действие, без сохраняемого значения.

ТЕХНИЧЕСКИ

Открывает в Finder папку, в которую записываются автоматические PLY из S36. Существует, потому что путь отличается в зависимости от сборки, а в версии App Store файлы лежат в контейнере приложения, куда никто не заглядывает — именно поэтому они неоднократно казались «пропавшими». Кнопка и записывающий механизм используют одно и то же определение пути, так что разойтись они не могут. Сохраняемого состояния нет.

При выходе с несохранённой работой приложение с 18.07.2026 уточняет, а не закрывается молча. Если в этот момент идёт прогон, вопрос звучит «Quit while a run is in progress?» — прогон был бы прерван, а его прогресс потерян. Если есть готовый результат тренировки, который не экспортирован и не сохранён как сцена, вопрос звучит «Quit without saving the result?». По умолчанию в обоих случаях выбран Cancel; Return и Escape, соответственно, отменяют выход, а «Quit Anyway» всё равно завершает работу. Запуски из скриптов и автотестов исключены и завершаются без уточнений. Если S36 включён, второй случай возникает редко — результат в этом случае уже лежит как PLY в папке Exports и считается сохранённым.

Вкладка AI-Helpers

Настройки → вкладка ИИ-помощников с главным переключателем и суб-переключателями
Настройки → вкладка ИИ-помощников с главным переключателем и суб-переключателями

S11AI Helpers enabled (Master)

ГДЕ

Settings → AI Helpers → первая секция → переключатель „AI Helpers enabled". Значение по умолчанию: включено.

ТЕХНИЧЕСКИ

Главный переключатель для всех функций AI Helpers в конвейере обработки. Если выключен, конвейер импорта и SfM полностью пропускает все стадии предварительной обработки на основе ML — никаких вызовов Apple Vision, никакой загрузки CoreML-моделей, никакого пробуждения NPU. Если включён, учитываются отдельные под-опции (S12–S13). Значение сохраняется между перезапусками. Влияет на следующие стадии: (a) проверка качества кадров перед SfM (S12), (b) обнаружение замыкания петель (loop closure, S13). Важно: при выключенном состоянии все под-опции вкладки деактивированы и визуально затемнены. Примечание внизу подчёркивает, что все AI Helpers работают строго on-device — никакой загрузки изображений, никакой облачной обработки. Гарантия конфиденциальности обеспечивается использованием исключительно фреймворка Apple Vision (локально на Neural Engine) и CoreML-моделей, которые находятся непосредственно в бандле приложения.

S12Frame quality check

ГДЕ

Settings → AI Helpers → секция Available → переключатель „Frame quality check". Значение по умолчанию: включено.

ТЕХНИЧЕСКИ

Активирует Frame-Quality-Screener, который анализирует каждый импортированный кадр перед вызовом SfM. Для каждого кадра проверяется размытие в движении, пере- и недоэкспонирование, недостаток структуры изображения, а также перекрытая часть объектива; результат дополнительно классифицируется по степени серьёзности (без замечаний, предупреждение, серьёзная проблема). Кадры без замечаний проходят напрямую. Проблемные кадры вызывают модальный диалог подтверждения, который перечисляет каждый проблемный кадр с миниатюрой и обоснованием и спрашивает, следует ли его удалить — на выбор: оставить все, удалить все отмеченные или удалить выбранные вручную. Важно: автоматического удаления не происходит — диалог всегда обязателен, окончательное решение остаётся за пользователем. При выключении все кадры передаются в SfM без проверки. При отключённом главном переключателе (S11) этот переключатель визуально затемнён и не действует.

S13Loop closure detection

ГДЕ

Settings → AI Helpers → секция Available → переключатель „Loop closure detection". Значение по умолчанию: включено.

ТЕХНИЧЕСКИ

Активирует обнаружение замыкания петель на основе Apple Vision Feature Print. Для каждого импортированного кадра вычисляется feature print — нейронное вложение (embedding) содержимого изображения. Затем feature print'ы попарно сравниваются; достаточно похожие пары, находящиеся достаточно далеко друг от друга в порядке съёмки (то есть не являющиеся прямыми соседями), определяются как „кандидаты на замыкание петли" и записываются в файл-компаньон в формате JSONL в папке проекта. Только информативно — импортированная последовательность изображений не изменяется. Смысл: даёт SfM-решателю (особенно COLMAP) подсказку, что эти кадры должны образовывать кластер в 3D-пространстве. Для нативного SfM информация из файла-компаньона в настоящее время носит только документирующий характер; COLMAP использует эти подсказки внутренне через собственный файл соответствий (matches-file) (возможна ручная интеграция, автоматически не связывается). При выключении feature print'ы не создаются. При отключённом главном переключателе (S11) визуально затемнён.

Отражённые настройки в Инспекторе

Остальные записи настроек (S17–S33) представляют собой отражения из Expert-Inspector, документированные в главе 2 (элементы управления инспектора I12–I29). Физически они не присутствуют в окне настроек, а перечислены здесь лишь потому, что относятся к настройкам обучения и в этом смысле формально имеют характер настроек. В отличие от записей этой главы, они не являются глобальными для приложения: они принадлежат рецепту, сохраняются вместе с предустановкой и файлом сцены и поэтому меняются вместе с проектом. Содержательные пояснения смотрите там.

Когда что?

НастройкаОбласть действияСохранение
S1 Default ModeГлобально для приложенияПерезапуск приложения
S2 LanguageГлобально для приложенияПерезапуск приложения
S3 Viewport BackgroundГлобально для приложения (пикер, меню и клавиша B — это одна и та же настройка)Перезапуск приложения
S5 Live Preview IntervalГлобально для приложения (не сохраняется вместе со сценой)только текущий сеанс
S11 AI Helpers MasterГлобально для приложенияПерезапуск приложения
S12 Frame quality checkГлобально для приложенияПерезапуск приложения
S13 Loop closure detectionГлобально для приложенияПерезапуск приложения
S34 Show marker recipe suggestionsГлобально для приложенияПерезапуск приложения
S35 Invert vertical navigationГлобально для приложенияПерезапуск приложения
S36 Save a PLY automaticallyГлобально для приложенияПерезапуск приложения
S37 Show Exports Folder…Действие
S38 Pause after frame extractionГлобально для приложения (только режим Expert, только видео)Перезапуск приложения
S39 Selection colorГлобально для приложения (только отображение)Перезапуск приложения
S40 Cylinder colorГлобально для приложения (только отображение)Перезапуск приложения

Глобально для приложения = действует на все проекты. Действие = нет сохранённого состояния, кнопка просто выполняет что-то один раз. Ни одна из документированных здесь настроек не сохраняется в файле сцены. Все, кроме одной, также переживают перезапуск приложения; исключение — интервал Live Preview (S5), который при каждом запуске сбрасывается на «Every 50 Iterations».