Выбирайте формат в конце
Сначала определите место публикации и требование площадки. JPEG и PNG остаются широкими fallback-форматами, WebP удобен для web delivery, AVIF и JPEG XL требуют проверки runtime.
Runtime-зависимые возможности
QuokkaPix работает в браузере, поэтому поддержка форматов и тяжёлых workflow зависит от текущего runtime. Эта страница объясняет, что обычно доступно, что нужно проверять через capabilities и где возможен fallback.
Таблица не обещает одинаковое поведение во всех браузерах. Она показывает правильную модель принятия решений: сначала destination requirement, затем live capabilities, затем выбор формата или режима.
| Область | Desktop | Mobile | Как проверять | Ограничение |
|---|---|---|---|---|
| JPEG / JPG | Обычное декодирование и экспорт в браузере; MozJPEG используется как advanced path, когда он загружен. | Широко поддерживается, но память зависит от размера файла. | Проверяйте supportedOutputFormats и состояние advanced encoder. | Визуальные правки создают новый файл; metadata-only cleanup может идти lossless binary path. |
| PNG | Декодирование и экспорт обычно доступны; OxiPNG может оптимизировать lossless. | Прозрачные большие PNG могут быть тяжёлыми по памяти. | Проверяйте capabilities и выбранный export path. | Структура байтов и размер файла могут измениться при сохранении тех же пикселей. |
| WebP | Browser export или стабильный WASM encoder, если доступен. | В современных мобильных браузерах обычно работает. | Агент должен читать supportedOutputFormats. | Animated WebP не является полноценным animation workflow. |
| AVIF | Поддержка зависит от браузера; advanced encoder может быть тяжелее. | На мобильных устройствах скорость и доступность различаются. | Перед автоматизацией проверяйте capabilities. | Медленнее JPEG/WebP и рискованнее в больших пакетах. |
| HEIC / HEIF | Локальное декодирование через HEIC worker, когда он доступен. | Полезно для фото с телефона, но требует запаса памяти. | Проверяйте heicWorkerAvailable. | Это input path; output выбирается отдельно. |
| JPEG XL | Экспериментальный advanced export. | Просмотр JXL в браузерах ограничен. | Запрашивайте JXL только если encoder доступен. | Canvas fallback отсутствует. |
| PDF tools | Merge, split и extract работают как локальные PDF workflows. | Большие сканы могут требовать больше памяти. | Используйте tool=pdf и pdf-tool. | PDF mode принимает PDF, а image-to-PDF остаётся в Convert. |
| ZIP import | ZIP распаковывается локально для batch uploads. | На мобильных устройствах зависит от размера архива. | Проверяйте batch mode и supported file filter. | RAR/7z не принимаются. |
| Agents | window.QuokkaPixAgent отдаёт contract, state, capabilities и result manifest. | Работает через тот же браузерный runtime. | Агент должен читать live capabilities перед запуском. | Нет публичного server-side image API. |
Сначала определите место публикации и требование площадки. JPEG и PNG остаются широкими fallback-форматами, WebP удобен для web delivery, AVIF и JPEG XL требуют проверки runtime.
Background AI, AVIF export, большие ZIP, PDF-документы и многошаговые сценарии имеют другой memory risk, чем одно изменение размера.
Если браузер или encoder не может создать запрошенный формат, правильнее показать ошибку или использовать явный fallback, а не файл с неверным расширением.
Потому что browser export, workers, WebGPU, mobile memory и advanced encoders отличаются по браузерам и устройствам.
Для обычных browser-supported форматов возможен Canvas fallback. Для JPEG XL fallback нет, поэтому нужна явная ошибка.
Нет. WebGPU — это локальный compute path. Исходные файлы всё равно проходят через browser file input и обрабатываются локально.