Основная проблема здесь заключается в том, что большую часть времени при написании какой-либо схемы будет происходить то же самое, что и при программировании препроцессора для данных. Например, для примера с треугольной сеткой изменение порядка данных или создание дельты по координатам может быть реализовано очень просто и будет очень хорошо поддерживать любой последующий компрессор.
Компрессор, движущийся в этом направлении, ZPAQ ,Он может использовать файлы конфигурации, адаптированные к конкретным данным (пример сайта конфигурации включает в себя конфиги EXE, JPG, BMP, а также специальный файл для сжатия файла, содержащего математическую константу pi). Недостатком является то, что используемый здесь язык сценариев (ZPAQL) довольно сложен в использовании, и вы должны познакомиться со многими внутренними компонентами ZPAQ.
В старых версиях WinRAR использовалась виртуальная машина с именем RarVM (хотя сейчас она устарела)), который позволял использовать подобный ассемблеру код для пользовательских преобразований данных, есть проект с открытым исходным кодом с именем rarvmtools на GitHub с некоторыми связанными инструментами.
Для сжатия protobuf есть проект Google называется riegeli , который может еще больше сжать их.