Глава 10 — Режим новичка
Режим новичка (нем. Einsteiger-Modus, Cmd+1) — это направляемый рабочий процесс для всех, кто впервые восстанавливает 3D-сцену Gaussian Splatting. Вместо боковой панели, полной полей Инспектора, приложение проводит вас через четыре шага: сначала импорт изображений или видео и выбор Quality Preset, затем выполняется обработка (SfM + Training), после чего готовую сцену можно осмотреть в 3D-предпросмотре, и наконец — экспорт в нужный формат. Тонкая полоса прогресса в верхней части окна всегда показывает, на каком шаге вы сейчас находитесь.
По сравнению с Expert Mode (Cmd+2), который показывает все панели управления одновременно, Режим новичка скрывает неиспользуемые опции, выдаёт валидационные предупреждения при слишком малом числе или плохом качестве изображений и на каждом шаге предлагает только те кнопки, которые имеют смысл в текущем состоянии. Переключаться между Simple и Expert Mode можно в любой момент (Cmd+1 / Cmd+2), всё состояние — импортированные изображения, выбранная предустановка, текущая тренировка, готовое облако точек — сохраняется и сразу доступно в другом режиме.
Z1 — Импорт (выбор изображений и предустановки)

Хлебные крошки (Import активен) показывают четырёхшаговый рабочий процесс. Слева — зона дропа с тремя CTA: «Browse Files» (NSOpenPanel), «Try Sample Scene» (встроенное демо), «Download Sample Photos (~427 MB)» (подмножество flowers из Mip-NeRF360). Пилюли форматов под ними перечисляют все принимаемые типы файлов. Справа — «Imported Files» со счётчиком «0 images» и пустым состоянием «No files imported yet». Ниже — Quality picker (по умолчанию: Preview) и «Start Processing» (деактивирован, пока нет изображений).
Первый шаг состоит в том, чтобы передать приложению изображения. Через drag-and-drop в большое пунктирное поле посередине, через кнопку «Browse Files» или щелчком по встроенной демо-сцене. Справа появляется список всех импортированных изображений с разрешением и размером файла; ниже во всплывающей панели инструментов вы выбираете Quality Preset и запускаете конвейер кнопкой «Start Processing». Валидационные предупреждения (красное при < 3 или < 10 изображениях, оранжевое при 10–19) показывают, ожидает ли приложение разумную реконструкцию или нет.
C-01ProgressIndicator (индикатор шага)
ГДЕ
Сверху над рабочим процессом, всегда виден.
ТЕХНИЧЕСКИ
Показывает горизонтальную полосу прогресса по всему конвейеру (Frame Quality → SfM → Training) с распределением по этапам: Frame Quality занимает 0–5 % (фаза 3.11, очень короткая), SfM — 0–30 % полосы, Training — 30–100 %. Рядом текст статуса и проценты с именем фазы («SfM 41 %», «Training 12 500/20 000»), чтобы пользователи не читали кажущуюся регрессию «41 % SfM → 25 % Training» как ошибку — полоса показывает общий прогресс конвейера, а не подшаг. Расчёт ETA стартует, как только измерена достаточная скорость обучения (обычно после первых 100 итераций). То же отображение используется и в Expert Mode над Инспектором.
C-03DropZoneView (зона drag-and-drop)
ГДЕ
Левая сторона шага импорта, большой пунктирный прямоугольник с символом. В Simple Mode отображается с надписью «Drop photos or a video here».
ТЕХНИЧЕСКИ
Зона дропа, которая кратко подпрыгивает символом и тонирует фон, как только над полем появляются drag-объекты. Принимает JPG, PNG, TIFF, HEIC, MP4, MOV, PLY, SPZ, .splat, бандлы .radiancescene и директории. Маршрутизация дропа по типу: изображения собираются и передаются в отсортированном порядке, видео триггерят путь frame-sampling, splat-файлы открывают предпросмотр напрямую, scene-бандлы прочитываются. Директории перечисляются, и все содержащиеся изображения импортируются. Security-scoped bookmarks для sandbox-совместимого доступа корректно приобретаются и отпускаются. Неподдерживаемые расширения отображаются как warning-баннер на 5 секунд.
C-05Кнопка Browse Files
ГДЕ
Внутри зоны дропа, видная кнопка.
ТЕХНИЧЕСКИ
Кнопка, открывающая файловый диалог macOS с множественным выбором и типами файлов JPG, PNG, TIFF, MP4, MOV, папки, а также собственным форматом сцены приложения. Результирующие URL — security-scoped и проходят через те же пути импорта, что и drag-and-drop. Когда пользователь выбирает папку, она рекурсивно перечисляется на предмет изображений.
C-06Кнопка Try Sample Scene
ГДЕ
Внутри зоны дропа, видна только когда бандл приложения содержит демо-сцену и пока не импортированы изображения/splats.
ТЕХНИЧЕСКИ
Появляется только если (a) в бандле приложения есть sample-scene.splat, .spz или .ply И (b) не импортированы изображения/видео и нет облака точек. По щелчку загружается готовое облако точек (предпочитая наименьший формат — .splat ~3 MB, .spz ~1.4 MB, fallback .ply) и через 400 мс устанавливаются жёстко зашитые значения камеры из исходных метаданных flower-сцены для эстетически приятной начальной перспективы.
C-07Кнопка Download Sample Photos
ГДЕ
Внутри зоны дропа, рядом с «Try Sample Scene»; те же условия видимости.
ТЕХНИЧЕСКИ
Запускает загрузку (репозиторий github.com/bkindler/radiancekit-sample-photos), которая загружает прим. 427 MB из 960 кадров полного разрешения и скармливает их приложению. Во время загрузки кнопка деактивирована. Прогресс появляется в верхней полосе прогресса как «Downloading X %» на собственном этапе, потому что этот этап держит собственную шкалу 0–100 % и не пересекается с последующим этапом SfM.
C-09Quality Presets Picker
ГДЕ
Всплывающая нижняя панель инструментов import-оверлея, слева от Start-кнопки.
ТЕХНИЧЕСКИ
Элемент управления с меткой «Quality» группирует доступные предустановки по категориям (Classic / MCMC / Custom). Встроенные предустановки группируются по категориям; заголовки секций жёстко зашиты. Пользовательские предустановки видны только если они есть. Locked-состояние: предустановки не из бесплатного списка (Quick + Preview) получают суффикс «🔒» при имени, если пользователь не купил; при выборе picker отскакивает обратно к Preview и автоматически открывает purchase-sheet. При выборе предустановка применяется, что заменяет всю конфигурацию обучения.
C-10Кнопка Start Processing
ГДЕ
Всплывающая нижняя панель инструментов import-оверлея, справа от preset-picker.
ТЕХНИЧЕСКИ
Кнопка, остающаяся серой, пока не импортированы ни изображения, ни видео. По щелчку запускает конвейер и переключает stage-машину в порядке Frame Quality → SfM → Training. У самой кнопки нет дальнейшего статуса; вместо этого идущая обработка появляется как отдельный processing-экран.
C-11Слайдер Video Sampling
ГДЕ
Правый список изображений, виден только когда импортировано видео (вместо изображений).
ТЕХНИЧЕСКИ
Слайдер 0.5 fps – 30 fps с шагом 0.5. При изменении обновляется плотность кадров и дополнительно из плотности и длины видео вычисляется целевое число кадров (минимум 10). Слайдер расположен вне списка изображений, поскольку элементы списка блокировали бы события мыши от слайдеров. Под слайдером показываются вычисленные target-frames («247 frames») и длина видео («1m23s video»). Tooltip предупреждает: «Удвоение плотности удваивает количество кадров и увеличивает время SfM на ~100 %».
C-12Кнопка Clear All
ГДЕ
Правый список изображений, внизу справа; видна только если импортированы изображения.
ТЕХНИЧЕСКИ
Красная кнопка. Щелчок открывает диалог подтверждения с заголовком «Clear all imported files?» и сообщением «N images will be removed.». Подтверждение очищает все импортированные изображения/видео, staging- директории, облако точек, статус обучения, результат SfM и все кеши; этап прыгает обратно в Import. По Cancel всё сохраняется. Диалог настроен как недеструктивный default-путь (деструктивная кнопка помечена красным).
C-13File List ForEach (удаление одного изображения)
ГДЕ
Правый список изображений, каждая запись.
ТЕХНИЧЕСКИ
Список по импортированным изображениям с swipe-to-delete. На каждое изображение — строка со значком, именем файла, разрешением («1920 × 1080») и размером файла (форматировано KB/MB). Разрешение приходит из metadata-кеша, заполняемого асинхронно из заголовков изображений, чтобы UI не блокировался. Действие удаления предлагает типичный для macOS swipe-delete (свайп влево трекпадом по строке) и delete с клавиатуры для выбранной строки. Примечание: расширенный путь удаления изображений с явной кнопкой минус, backspace и Cmd-Z для отмены был добавлен только в Expert Mode в Project Navigator — в Simple Mode остаётся swipe-delete.
C-15Валидационные предупреждения (3 уровня)
ГДЕ
Под списком изображений, над кнопкой Clear All.
ТЕХНИЧЕСКИ
Три последовательных порога на основе числа импортированных изображений (активно только когда есть изображения и нет видео): - < 3 изображений: красный баннер (красный восьмиугольник), текст «At least 3 images are required. Camera alignment cannot be computed from fewer images.» - 3–9 изображений: красный баннер, текст «With fewer than 10 images, SfM often fails and the trained scene tends to overfit […]. 15–20 images minimum recommended; 30+ for object captures.» - 10–19 изображений: оранжевый баннер (warning-треугольник), текст «Workable, but quality usually improves with 20+ images and good coverage around the scene.»
Начиная с 20 изображений баннер исчезает. Пороги жёстко зашиты и основаны на эмпирике 560+ экспериментов по обучению.
C-16Распознавание COLMAP-workspace
ГДЕ
При дропе папки — не видимая кнопка, а логика распознавания.
ТЕХНИЧЕСКИ
При дропе директории проверяется, содержит ли она одну из трёх канонических раскладок workspace: sparse/0/cameras.bin, sparse/cameras.bin или напрямую cameras.bin в корне. Если да, стандартное перечисление изображений прерывается, и вместо этого открывается модальный alert, спрашивающий пользователя, использовать ли существующую реконструкцию или прогнать изображения заново через Apple Photogrammetry. Тот же путь и для workspace в текстовом формате (cameras.txt) и для ETH3D-экспортов. Подробности — глава 9, бэкенд Q6. Работает в Simple Mode так же, как и в Expert Mode.
Когда переходить к следующему этапу?
Щёлкнуть Start Processing можно, как только (a) импортировано хотя бы одно изображение или видео и (b) баннер валидации оранжевый или его нет. При красном баннере приложение даст стартовать, но с высокой вероятностью обработка тут же отменится сама. Рекомендация: минимум 20 изображений, резких, с чётким перекрытием между последовательными снимками, все примерно с одного расстояния до объекта. Перед стартом выберите предустановку под ваш бюджет времени — с 30 изображениями и предустановкой Quick вы готовы за несколько минут, с Quality скорее уйдут 1–2 часа.
Z2 — Обработка (SfM + Training)

SfM-фаза (камеры выравниваются): Большой круг прогресса показывает прогресс подэтапа (здесь 41 % текущей сессии Apple Photogrammetry). Текст статуса «Aligning cameras…» вверху слева. Хлебные крошки помечают «Cameras» как активный этап. Верхняя статус-полоса показывает общий прогресс конвейера (25 %) — SfM занимает первую половину полосы. Парящие wireframe-камеры на фоне намекают, что идёт оценка поз.

Фаза обучения (оптимизируются Gaussians): Значок подэтапа переключается на «Training Gaussians», проценты считают итерации выбранной предустановки (здесь 400 / 5 000 для Preview-предустановки = 8 % этапа). Строка живых метрик показывает значение loss (0.1642), итерации в секунду (138.7 it/s) и ETA (33 с). Общий прогресс конвейера в этой фазе поднимается с 50 % до 100 %. Кнопка Pause (вместо только cancel в SfM-фазе) позволяет позднее возобновить; Cancel отбрасывает результат обучения и возвращает к Z1.
Как только конвейер запущен, приложение скрывает import-overlay и показывает полноэкранный processing-экран. В центре движется большой круг прогресса (220 × 220 пикселей) со значком этапа, текстом статуса и числом процентов; в фоне тонкая splat-анимация символически визуализирует идущие вычисления. Вверху слева можно показать info-панель, отображающую живые метрики из обучения и SfM. Внизу есть Pause/Resume, Cancel, а в случае ошибки — кнопка Retry.
C-18SplatTrainingView (фоновая анимация)
ГДЕ
Полноэкранный фон за кругом прогресса, скрывается при отмене или ошибке.
ТЕХНИЧЕСКИ
Декоративная анимация, которая в зависимости от прогресса конвейера (0…1) рендерит растущее число маленьких анимированных splat-частиц. Источник — вычисляемое значение прогресса, которое мапит SfM-фазы в 0–0.2, а обучение — в 0.2–1.0 (Frame Quality в 0–0.05). Так splats заметно «нарастают», пока идёт обучение. Чисто декоративно — отображение не показывает реальные промежуточные результаты текущего обучения (это был бы live preview в Expert Mode). При отмене или сбое скрывается, и виден только круг статуса.
C-19Большой круг прогресса
ГДЕ
Центр processing-экрана, 220 × 220 пикселей.
ТЕХНИЧЕСКИ
Два кольца, отрисованных поверх друг друга: снаружи — приглушённое track-кольцо, внутри — заполненное кольцо прогресса с акцентной или красной обводкой (красный при ошибке). Внутри круга — значок этапа (мозг для обучения, камера для SfM, плёнка для извлечения кадров видео, искры для Frame Quality), заголовок этапа и живое анимированное процентное число шрифтом 32 пункта rounded. Значок мягко пульсирует, пока обработка активна. Отображение интерполирует на таймере 30 Гц плавно к текущему фактическому прогрессу — с постоянной creep (0.0003/кадр) плюс пропорциональной долей (4 % от gap) и мягким потолком, устанавливающимся на 80 % следующей ожидаемой вехи (для SfM — из жёстко зашитой таблицы вех). Так прогресс ощущается плавным, даже если фактические обновления SfM приходят раз в несколько секунд.
C-22Info-кнопка (показать метрики)
ГДЕ
Вверху слева на processing-экране, 32 × 32 пикселя.
ТЕХНИЧЕСКИ
Простая кнопка с material-фоном. Переключает info-панель вкл/выкл. Значок переключается между info-circle-outline и info-circle-filled при активации. Плавная fade-in-анимация. Tooltip «Show detailed processing metrics».
C-23Info-панель (живые метрики)
ГДЕ
Внизу слева на processing-экране, видна только когда showProcessingInfo == true.
ТЕХНИЧЕСКИ
Двухколоночная панель с ultra-thin material-фоном. Левая колонка: специфичные для этапа info-строки — для SfM текст статуса и проценты; для обучения — итерация, комбинированный loss, L1 loss, D-SSIM loss, число Gaussians (оранжевым), скорость (it/s), прошедшее время, рассчитанный ETA, SH-степень и learning rate. Правая колонка: текст статуса, строка с информацией о времени, инлайновый loss- график (см. C-28) и discoverability nudge (см. C-32). Все значения считываются из training status, который обновляется на каждом тике обучения.
C-25Кнопка Pause/Resume
ГДЕ
Нижняя navigation-панель, видна только во время этапа обучения (НЕ во время SfM) и пока обработка идёт.
ТЕХНИЧЕСКИ
Bordered-кнопка. Вызывает Pause или Resume в зависимости от статуса. Метка переключается между «Pause» (со значком pause) и «Resume» (значок play). На SfM-шаге кнопка не показывается, потому что у Apple Photogrammetry нет семантики pause. Состояние pause полностью сохраняет итерацию, статус Gaussian и optimizer momentum — Resume продолжает с того места, где ранее остановилось.
C-26Кнопка Cancel
ГДЕ
Нижняя navigation-панель, видна пока идёт обработка (SfM или Training).
ТЕХНИЧЕСКИ
Красная bordered-кнопка. Открывает диалог подтверждения с заголовком «Stop and discard progress?», кнопками «Discard Progress» (destructive) и «Keep Running» (cancel). При подтверждении устанавливается cancel-флаг, training-задача завершается, при необходимости завершается SfM-подпроцесс, и в JSONL-лог пишется summary-строка с cancel- статусом. В отличие от Pause, training-буферы и статус отбрасываются.
C-27Кнопка Retry
ГДЕ
Нижняя navigation-панель, видна когда конвейер сорвался (SfM-статус начинается с «SfM failed» или обучение в error-состоянии).
ТЕХНИЧЕСКИ
Accent-кнопка. Перезапускает весь конвейер. Перед стартом проверяется, есть ли ещё импортированные изображения/видео. Предыдущие error-логи сохраняются в JSONL-директории; новый прогон пишет новый лог-файл с текущим timestamp.
C-28Инлайновый loss-график
ГДЕ
В info-панели, правая колонка, виден только во время обучения с непустой историей.
ТЕХНИЧЕСКИ
Компактная область рисования (высотой 40 пикселей), рисует историю loss как линию в 1 пиксель акцентным цветом. Данные фильтруются на конечные значения (NaN-защита для нестабильных обучений). Min/Max вычисляются по всей истории — график автоматически зумит на диапазон значений. Последнее значение loss сидит вверху справа над графиком. Сама история накапливается в app state на каждом training tick (обычно каждые 100 итераций).
C-32Discoverability Nudge (подсказка Expert Mode)
ГДЕ
В info-панели, правая колонка внизу, видна только во время обучения И в Simple Mode.
ТЕХНИЧЕСКИ
Маленькая строка со значком глаза и текстом подписи «Switch to Expert Mode (⌘2) for live splat preview», в сдержанном тоне и шрифтом 10 пунктов. Никакого интерактивного элемента, просто подсказка. Не реагирует на щелчок — пользователь должен действительно нажать Cmd+2 или щёлкнуть меню Mode → Expert Mode.
Когда переходить к следующему этапу?
Приложение автоматически переключается на Z3 (Preview), как только обучение успешно завершено — ничего щёлкать не нужно. Нижняя navigation-панель тогда переключается с Pause/Cancel на кнопку Back (назад к Import) и кнопку Export (вперёд к Export). В случае ошибок (красное сообщение об ошибке, значок этапа — X) вместо этого появляется Retry, и надо решить, начать ли снова или вернуться через Back к Import, чтобы сменить материал изображений.
Z3 — Предпросмотр (повернуть 3D-модель)


Хлебные крошки помечают «Preview» как активный этап. Полноэкранный 3D viewport рендерит законченно обученную сцену букета (синтетический тестовый набор Blender, подмножество 60 кадров из 960 hemispherical- камер). Заголовочная статус-полоса: «Training complete — 3 022 Gaussians in 13 s» — даёт финальное число Gaussians и время обучения. Drag в viewport вращает камеру (yaw/pitch); колесо скролла зумит вдоль направления взгляда. Кнопка «Back» (внизу слева) возвращает к Z2 для resume или re-run; кнопка «Export» (внизу справа, primary) ведёт дальше к Z4.
После завершения обучения приложение автоматически попадает в предпросмотр. Здесь вы видите вашу законченную модель Gaussian Splatting в полноэкранном Metal-виде и можете её вращать, зумить и панировать мышью и трекпадом. Поверх viewport сидит маленький оверлей с управлением камерой и инфо — авто-вращение, статистика обучения, кнопка сброса. Перед следующим шагом (Export) полезно осмотреть модель с разных ракурсов, чтобы убедиться, что реконструкция чистая.
C-36SplatViewportView (главный 3D-вид)
ГДЕ
Полноэкранный фон шага предпросмотра.
ТЕХНИЧЕСКИ
Metal-based 3D viewport, рендерящий законченное облако точек. Рендерер — vendored MetalSplatter-fork с исправлениями RadianceKit для popping/flickering. Tile-based рендер-конвейер с order-independent transparency. Если рендерер не может быть инициализирован (напр., потому что Metal недоступен в системе), вместо этого появляется чёрный фон с текстом «Metal not available». Вид игнорирует safe area, так что модель достигает края окна.
C-37CameraControlsOverlay (оверлей управления)
ГДЕ
Над viewport, плавающий.
ТЕХНИЧЕСКИ
Компактный UI-оверлей с кнопками для авто-вращения (turntable), сброса камеры, выбора фона (gray/black/white), сохранения скриншота, переключения info-панели. Привязывается к параметрам камеры (distance, azimuth, elevation, target, FOV) и управляет auto-turntable. Во время обучения (когда пользователь в Expert Mode хочет видеть viewport сопроводительно), оверлей дополнительно показывает компактную строку статуса обучения.
C-38Кнопка Export (панель навигации)
ГДЕ
Нижняя navigation-панель в Z3.
ТЕХНИЧЕСКИ
Accent-кнопка с меткой «Export» и значком share. Щелчок триггерит переключение в Z4. Перед этим parent-вид проверяет, разблокирована ли полная версия — если нет, вместо этапа экспорта показывается lock-вид (см. U-06).
Когда переходить к следующему этапу?
Перед экспортом проверните модель один раз полностью и проверьте: все ли области, которые вы покрыли во входных изображениях, на месте? Есть ли парящие «floaters» (splat-облака Gaussian, свободно висящие в воздухе)? Чисто ли выглядят фон/небо или смазаны? Серьёзные проблемы могут быть исправлены только повторным обучением — либо с большим числом изображений, либо с другой предустановкой, либо в Expert Mode с настройками floater-reduction.
Z4 — Экспорт (выбор формата и сохранение)


Хлебные крошки помечают «Export» как активный этап. Слева — сетка карточек «Choose Export Format» со всеми шестью опциями: PLY (стандартный 3DGS, 742 KB, с полными SH-коэффициентами — здесь предварительно выбран синей галочкой), SPZ (сжатый формат 3DGS, ~90 % меньше PLY, 74 KB), glTF (с расширением KHR_gaussian_splatting, 708 KB), .splat (совместим с веб-просмотрщиком через antimatter15, 96 KB), Orbit Video (360° MP4 сцены, live-вычисление размера), Web Viewer (автономный HTML со встроенным 3D-просмотрщиком, 133 KB). Размеры считаются вживую из текущего числа Gaussians и overhead формата. Справа «Export History» перечисляет уже завершённые экспорты со значком формата, именем файла и timestamp — щелчок открывает в Finder. Primary CTA внизу слева: «Export PLY (3DGS Standard)» с подзаголовком про Gaussians «2,991 Gaussians · SH degree 3».
На последнем шаге вы выбираете один из 6 форматов экспорта (PLY, SPZ, glTF, .splat, orbit video, web viewer) через сетку карточек из 2 колонок, щёлкаете Export и выбираете место сохранения в диалоге macOS. Справа идёт история всех предыдущих экспортов — при выборе карточки оценочный размер файла сразу показывается под каждой карточкой, так что вы, напр., предпочтёте SPZ, если хотите идти в веб (маленький), и PLY, если хотите импортировать в другое ПО (SuperSplat, Postshot, Blender через плагин) (большой и полный).
C-39Сетка форматов из 2 колонок
ГДЕ
Левая основная сторона шага экспорта.
ТЕХНИЧЕСКИ
Сетка карточек с двумя гибкими колонками и интервалом в 12 пунктов. Итерирует по форматам, предлагаемым в Simple Mode — отфильтрованное подмножество полного списка форматов, содержащее только 6 важнейших форматов: PLY, SPZ, glTF, .splat, orbit video, web viewer. Compressed PLY и SOG предлагаются ТОЛЬКО в Expert Mode.
C-40Кнопка Format Card
ГДЕ
Каждая карточка в сетке.
ТЕХНИЧЕСКИ
Простая кнопка с card-раскладкой: значок (напр., document zipper для PLY, archive box для SPZ, video icon для orbit video) сверху, имя формата как заголовок, описание caption (обрезается до 2 строк), под ним оценочный размер файла (вычисленный вживую из формата, числа Gaussians и SH-степени, отформатирован как KB/MB). По щелчку формат выбирается. Выбранная карточка получает accent-фон, accent- обводку и значок check в правом верхнем углу. Tooltip — описание формата.
C-41Слайдер длительности видео
ГДЕ
Под сеткой форматов, виден только если выбран видеоформат (orbit video или social video).
ТЕХНИЧЕСКИ
Слайдер 3–30 секунд с шагом 1 секунда, привязывается к длине видео в app state. Максимальная ширина 300 пикселей. Показывается только если выбран видеоформат. Для не-видео форматов слайдер полностью удаляется из вида — без мёртвого пространства.
C-42Кнопка Export
ГДЕ
Под сеткой форматов (и под слайдером длительности, если выбрано видео).
ТЕХНИЧЕСКИ
Большая accent-кнопка. Метка: «Export {format-name}», значок share. По щелчку открывается save-диалог macOS с подходящим формату расширением и именем по умолчанию «scene.{ext}»; при подтверждении экспорт пишется в выбранный URL. Деактивирована, если нет результата обучения или уже идёт экспорт.
C-43Прогресс-бар экспорта
ГДЕ
Под кнопкой экспорта, виден только пока идёт экспорт.
ТЕХНИЧЕСКИ
Индикатор прогресса с максимальной шириной 300 пикселей, под ним подпись «Exporting… N %». Значение бежит от 0 до 1 и обновляется при записи — у PLY кусками по 10 000 Gaussians, у SPZ один раз после квантования, у orbit video — в frame-интервалах.
C-44Отображение ошибки экспорта
ГДЕ
Под прогресс-баром, виден только если при последнем экспорте произошла ошибка.
ТЕХНИЧЕСКИ
Красная строка со значком warning и текстом ошибки. Красный фон с 8 % opacity, скруглённые углы. Максимальная ширина 400 пикселей. Распространённые причины ошибок: SOG ожидает cwebp в системном PATH (не совместимо с App Store); ошибка записи при полном диске; sandbox-ошибка с целями сохранения вне разрешённой области.
C-46Список истории экспортов
ГДЕ
Правая сторона шага экспорта.
ТЕХНИЧЕСКИ
Список по истории экспортов (персистентен как JSON в UserDefaults, поддерживается после каждого успешного экспорта). Каждая строка показывает format badge (маленький, accent-цвета), timestamp (HH:mm), имя файла (обрезается до 1 строки) и форматированный размер файла. Щелчок по строке открывает Finder с выбранным файлом. Пустое состояние: «No exports yet».
C-48История контекстного меню (правый клик)
ГДЕ
Правый клик по строке истории.
ТЕХНИЧЕСКИ
Контекстное меню на каждой записи списка с двумя действиями: «Reveal in Finder» (открывает Finder с выбранным файлом, как одиночный щелчок) и «Copy Path» (помещает полный путь файла как текст в буфер обмена). Последнее полезно для drag-and-drop в другие приложения или для передачи в командную строку.
Когда рабочий процесс завершён?
После успешного экспорта у вас есть ваша 3D-модель файлом на диске, а в истории появляется новая запись. Нет кнопки «Done» — можно последовательно сделать любое число экспортов в разные форматы без повторного обучения. Если хочется вернуться к предпросмотру (напр., чтобы ещё раз проверить перспективу камеры), используйте кнопку Back в нижней navigation-панели. Если хочется начать совершенно новую сцену, через Back вернитесь к Z1 и используйте там Clear All, либо File → New Project (Cmd+⇧+N).
Переключение в Expert Mode
В любой момент нажмите Cmd+2 или выберите Mode → Expert Mode (M8). Сохраняется всё состояние: импортированные изображения, выбранная предустановка, идущее или законченное обучение, готовое облако точек, история экспортов, даже текущий этап. В Expert Mode вместо четырёхшагового этапа показывается полная боковая панель Инспектора со всеми ~150 полями управления. В частности: Project Navigator (см. главу 2) предлагает расширенные операции с изображениями (кнопка минус, удаление backspace, отмена Cmd-Z, предпросмотр Quick Look), живой предпросмотр в viewport во время обучения, а также все параметры loss, MCMC, densification и Mip-Splatting. Cmd+1 переключает обратно в Simple Mode — при этом тоже не теряется никакое состояние.
Часто задаваемые вопросы
Почему моя кнопка Start Processing остаётся серой?
Вы ещё не импортировали ни изображений, ни видео. Перетащите хотя бы один файл в зону дропа или используйте «Browse Files». Как только список изображений справа содержит хотя бы одну запись, кнопка становится активной. (С всего 1–2 изображениями старт сработает, но SfM сразу прервётся с ошибкой — см. красный валидационный баннер.)
Почему моя кнопка Export заблокирована?
В Simple Mode есть два уровня: (a) Если training-конвейер ещё не завершён и у вас его нет, кнопка деактивирована — сначала надо завершить Z2. (b) Если полная версия ещё не куплена (PurchaseManager.hasAccess == false), вы вместо этапа экспорта видите lock-вид со значком замка и кнопкой «Unlock Full Version», открывающей purchase-sheet. Предустановки Quick и Preview позволяют обучаться бесплатно, но экспорт — премиум.
Почему я не могу выбрать предустановку?
Можете выбрать — но если нажмёте на premium-предустановку (Balanced, Quality, варианты MCMC) без купленной полной версии, picker автоматически отскочит обратно к Preview, и откроется purchase-sheet. Quick и Preview — единственные свободно используемые предустановки.
Почему моя зона дропа пустая и пунктирно-серая, хотя я перетаскиваю в неё изображения?
Вероятно, расхождение типа UTI. Приложение принимает JPG, PNG, TIFF, HEIC, MP4, MOV плюс собственные splat-форматы приложения. Другие форматы изображений (BMP, GIF, WebP, RAW-форматы) НЕ распознаются. Если уверены, что ваш тип изображения должен включаться, проверьте расширение имени файла — приложение в первую очередь ориентируется на расширение, а не на содержимое файла.
Почему SfM длится так долго, хотя у меня всего 30 изображений?
Apple Photogrammetry не масштабируется линейно — при определённых констелляциях изображений (помещения со сложными текстурами, motion blur, плохой свет) она длится значительно дольше, чем подсказывает число изображений. Если SfM с 30 изображениями всё ещё висит через 10+ минут, прервите и попробуйте снова с лучшим материалом, либо переключитесь в Expert Mode и попробуйте COLMAP/Native SfM (Cmd+2 → Inspector → Camera Alignment).
Где я найду свои training-логи?
Help → Open Training Logs (Cmd+⇧+L). Это откроет ~/Documents/RadianceKit/Logs/. Каждая сессия обучения пишет собственный JSONL-файл с timestamp в имени файла — первая строка — конфигурация, затем каждые 100 итераций идёт progress-строка, последняя строка — summary с финальным loss и success-флагом.