Pi формат

Материал из Циклопедии
Перейти к навигации Перейти к поиску
← другие значения
PIX (Pixel Interchange)
Файл:PIX-logo.png
Логотип формата PIX
Расширение

.pix

MIME

image/pix

Разработчик

Flashchat 2000

Версия

v4.2 (октябрь 15, 2025)

Тип

Графический формат файлов

Содержит

растровые, векторные и процедурные данные

Расширен

PI (Power Image)

Открытость

частично

Лицензия

Apache 2.0

PIX (сокращение от англ. Pixel Interchange) — экспериментальный графический формат файлов, разработанный в 2024–2025 годах независимым разработчиком под псевдонимом Flashchat 2000. Формат предназначен для хранения растровых, векторных и процедурно генерируемых изображений, а также для описания логики их обработки с помощью ориентированного графа задач. PIX реализует часть более широкой спецификации под названием PI (англ. Power Image), ориентированной на мультимедийные данные.

Лицензия: Apache 2.0

История[править]

Идея создания формата возникла в начале 2024 года в рамках проекта PI (Power Image), нацеленного на разработку универсального контейнера для мультимедийных ресурсов. PIX был выделен как специализированный формат для 2D-графики, сочетающий хранение содержимого и описание его обработки.

В июле 2025 года автор опубликовал статьи, описывающие архитектуру формата, на платформах Habr[1] и Dev.to[2]. Исходный код доступен на GitHub[3].

Архитектура и особенности[править]

Гибридная структура[править]

Формат поддерживает одновременное хранение:

  • растровых данных (включая поддержку JPEG, WebP и собственного кодека PIX_NATIVE),
  • векторных объектов,
  • процедурных элементов, определяемых математически в момент рендеринга.

Такой подход позволяет сохранять высокую степень редактируемости и гибкости, снижая объём выходного файла.

Граф задач (Task Graph)[править]

Основой внутренней модели документа является ориентированный ациклический граф (DAG), в котором каждый узел (нода) представляет собой операцию (например, фильтрацию, трансформацию, объединение слоёв). Это позволяет:

  • реализовывать неразрушающее редактирование,
  • оптимизировать производительность за счёт параллельной обработки,
  • отслеживать и откатывать изменения.

Поддержка версий и "ленивой" загрузки[править]

PIX реализует механизм сохранения изменений в виде дельт и контрольных точек, что упрощает совместную работу и управление историей правок. Специальный INDX-блок позволяет загружать только необходимые части файла по мере обращения, что особенно важно при облачной работе с большими сценами.

Защита содержимого[править]

Для безопасной доставки ресурсов предусмотрена поддержка гибридного шифрования:

  • содержимое шифруется при помощи AES‑256‑GCM,
  • сессионный ключ передаётся с использованием схемы ECIES на кривой secp256k1,
  • поддерживаются цифровые подписи и контроль целостности.

Концепции интеграции[править]

Гибридная модель взаимодействия (концепция)[править]

PIX предполагает возможность интеграции с профессиональными редакторами (например, Adobe Photoshop) через плагин, работающий как "интеллектуальный посредник". Согласно архитектурному описанию:

  • при открытии .pix-файла он отображается как обычный многослойный документ;
  • пользователь работает стандартными средствами редактора;
  • при сохранении плагин отслеживает изменения и трансформирует их обратно в граф задач;
  • деструктивные изменения обрабатываются через механизм «грациозной деградации», заменяя процедурный узел на растровый слой.

На момент публикации данная модель рассматривается как концептуальная и не имеет завершённой реализации.

Отношение к спецификации PI[править]

Формат PIX реализует графическую часть более общей спецификации PI (англ. Power Image), разрабатываемой как мультимедийный контейнер. В рамках PI предусмотрена поддержка не только 2D-графики, но и 3D-сцен, аудио, анимации и логики поведения объектов. Таким образом, PIX выступает как специализированное подмножество PI, фокусируясь на изображениях и визуальных эффектах.

Критика[править]

  • Ограниченная совместимость. Формат не поддерживается большинством существующих графических редакторов и требует специализированных инструментов.
  • Высокая сложность. Использование графов, криптографии и процедурных элементов усложняет реализацию и повышает порог входа.
  • Ограниченная открытость. Несмотря на размещение исходного кода, спецификация формата документирована частично, что затрудняет стороннюю верификацию.

См. также[править]

Примечания[править]

Внешние ссылки[править]