Files
Faset_Engine/README.md
T

48 lines
5.1 KiB
Markdown

# Faset Engine
Faset — проект независимого движка для десктопных 2D- и 3D-игр под **Linux и Windows**. В центре — удобный собственный редактор, его управление через MCP, работа с Blender и развитие современных графических технологий.
**Текущий статус: базовая архитектура согласована; реализация движка ещё не начата.** Здесь находятся принятые решения, план, исследования других движков и работающая браузерная карта документации. Наличие технологии в плане не означает, что она реализована или измерена.
## Начать здесь
- [PLAN.md](PLAN.md) — этапы до MVP, критерии готовности и развитие после него.
- [Архитектура](docs/ARCHITECTURE.md) — принятые решения и границы подсистем.
- [Документация](docs/README.md) — навигация и правила актуализации.
- [Исследования](docs/studies/README.md) — Unreal Engine, Godot, Unity, Blender, ECS, графика, импорт и сборка.
- [Зависимости и независимость](docs/DEPENDENCIES.md) — библиотеки, инструменты и происхождение материалов.
## Принятый фундамент
- **C++** для ядра и первой версии gameplay. **Lua** добавляется после C++ отдельным модулем и необязателен для конкретной игры.
- Объекты, компоненты и вложенные сцены для авторинга; **EnTT** для runtime ECS. JSON, устойчивые ID и подготовленные бинарные данные для экспорта.
- Собственные **Vulkan 1.3** backend, Render Graph и renderer; **Slang** для SPIR-V и совместимого HLSL-кода. RT не требуется базовому режиму.
- **SDL3** за платформенным интерфейсом Faset; **Box2D** и **Box3D** для физики.
- Собственный retained-mode UI редактора: C++-поведение, декларативная компоновка, отдельные стили, основная тёмная тема. **Dear ImGui** — для отладки.
- **CMake + Ninja + Clang**; Windows использует clang-cl, Windows SDK и библиотеки MSVC. Первые сборки проверяются на целевой ОС.
- Отдельный **Player**, статически связанный с gameplay. Рабочий цикл C++ — остановка, инкрементальная сборка, повторный запуск.
- **MCP только в редакторе:** авторинг, ресурсы, импорт, сборка, экспорт, Play/Stop и диагностика редактора. В Player и экспортируемой игре MCP отсутствует.
- Обычный **Blender без изменения исходников**, glTF/GLB-импорт и дополнительный плагин для экспорта и устойчивых ID.
MVP заканчивается двумя небольшими 2D/3D-проектами, которые можно создать, сохранить, запустить и экспортировать под обе ОС. GPU-driven rendering, HZB, расширенные тени, temporal reconstruction и динамическая GI развиваются после базового результата.
## Открыть карту исследований
Нужен Node.js с npm. Из корня репозитория:
```sh
cd docs/studies/map
npm ci
npm test
npm run build
npm start
```
Карта доступна на [localhost:4178](http://localhost:4178). Это просмотрщик документации, а не веб-редактор Faset. Подробности — в [README карты](docs/studies/map/README.md).
## Публичное содержимое
Документация, исследования, манифест источников и код карты хранятся в Git. Сторонние движки, установленные зависимости, результаты сборки и кэши в репозиторий не включены. Ссылки на изученный код закреплены на research commits; Unreal может требовать доступа Epic.
Состав публикации и статус лицензии собственного содержимого описаны в [публикационных заметках](docs/PUBLICATION.md). У сторонних проектов сохраняются их собственные условия.