Обирайте формат наприкінці
Спершу визначте місце публікації та вимоги платформи. JPEG і PNG — широкі fallback-формати, WebP корисний для web delivery, AVIF і JPEG XL потребують runtime check.
Можливості, залежні від runtime
QuokkaPix працює у браузері, тому підтримка форматів і важких workflow залежить від поточного runtime. Ця сторінка пояснює, що зазвичай доступно, що треба перевіряти через capabilities і де можливий fallback.
Таблиця показує модель рішення: вимога призначення, 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, якщо доступний. | У сучасних мобільних браузерах зазвичай працює. | Agent має читати 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. | Agent має читати live capabilities перед запуском. | Немає публічного server-side image API. |
| Маршрутизація backend | Придатні операції використовують OffscreenCanvas Worker; решта лишається в головному потоці або окремому runtime. | Рішення залежить від Worker, OffscreenCanvas, вибраного процесу і доступної пам'яті. | Читайте об'єкт capabilities.backends із планом обробки, кодування і фонового AI. | Це план із fallback, а не гарантія успіху; перевіряйте terminal status і result manifest. |
Спершу визначте місце публікації та вимоги платформи. JPEG і PNG — широкі fallback-формати, WebP корисний для web delivery, AVIF і JPEG XL потребують runtime check.
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 немає.
Ні. Це локальний compute path; файли залишаються в browser workflow.