Nihil (ENW)
Nihil (ENW)
Section titled “Nihil (ENW)”Wayland-композитор на Rust + Smithay, где рабочий стол это 3D-мир, а окна приложений объекты в нём. Пишется с нуля, не надстройка над Hyprland.
- Ходишь по миру как в игре, окна можно двигать и растягивать.
- Режимы фокуса: True FullScreen, Framed FullScreen, Focus WorkSpace, плюс visionOS-подобный.
- Чёткая картинка: суперсемплинг на окно, настраиваемая фильтрация.
- Конфиги на Lua, компилируются в статический AOT-автомат.
- Плагины и миры/карты.
- Комнаты, сетки, летающие панели, мультиплеер: общий протокол presence + окон (QUIC, PROTOCOL.md).
Архитектура: Smithay 0.7 (Wayland, буферы, ввод, GLES-рендер) + Bevy headless (вся логика: сцена, камера, movers, рейкаст). Сеть: QUIC + FlatBuffers. Схема в CLAUDE.md.
Статус: M0 работает — вложенный композитор, окно клиента рисуется 3D-квадом (собственный GL-шейдер, позы из ECS). 10 юнит-тестов математики зелёные, свёрены с дампом Hypr3D. Дальше — M1 (камера + лучевой пик).
Всё подробно (решения, идеи, открытые вопросы, этапы, промпт и правила для агентов): SPEC.md
Попробовать
Section titled “Попробовать”cargo build -p nihil./target/debug/nihil # поднимает $XDG_RUNTIME_DIR/wayland-NWAYLAND_DISPLAY=wayland-N alacritty # клиент внутрь# IPC: echo list | socat - UNIX-CONNECT:$XDG_RUNTIME_DIR/nihil.sock