Об этом проекте

NEO Emacs — это разрабатываемая жёсткая ветвь GNU Emacs, заменяющая ~300 000 строк кода на C ядром на Rust и запускающая графический движок на GPU через wgpu (Vulkan, Metal, DX12, GL). Цель — 100% совместимость с существующей экосистемой Emacs: init.el, пакетами и мышечной памятью, с использованием GNU Emacs в качестве тестового оракула для проверки каждой переписанной подсистемы. Ключевые возможности включают: - Рендеринг текста, изображений и эффектов на GPU, заменяющий xdisp.c на ~4 000 строк кода на Rust - Встроенный в буферы мультимедийный контент: видео 4K (GStreamer + VA-API на Linux), изображения, декодируемые на GPU, встроенный браузер WPE WebKit и GPU-совместимый терминал (Alacritty) с путями нулевого копирования через DMA-BUF - Настраиваемая анимация: 8 режимов курсора, 21 эффект прокрутки, 10 переходов между буферами с частотой обновления дисплея - Расширяемый с помощью Elisp фронтенд, доходящий до шейдеров GPU (WGSL) - Полностью на Rust среда выполнения Elisp: интерпретатор, байткод-виртуальная машина, сборщик мусора и переносимый дамп - Режимы GUI и терминала из одного бинарного файла (neomacs -nw) Проект сообщает о ~95% совместимости с GNU Emacs через тестовые наборы-оракулы, при этом работают JIT-компиляция и встраивание кэширования для Elisp. Настоящий многопоточный Elisp и параллельный сборщик мусора с нулевыми паузами находятся на стадии исследования и проектирования. Предварительно собранные пакеты доступны для Linux (.deb, .rpm, AppImage), macOS (экспериментальная) и Windows (экспериментальная). Опубликованы образы Docker для amd64 и arm64. Лицензия: GPL-3.0.