Use English README and define engine language and Vulkan boundary
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# Faset Engine — архитектура
|
||||
|
||||
Редакция 1.0 · 18 сентября 2026 · **принятый проект, реализация ещё не начата**.
|
||||
Редакция 1.1 · 18 сентября 2026 · **принятый проект, реализация ещё не начата**.
|
||||
|
||||
Этот файл фиксирует решения пользователя. **Принято** означает выбранное направление реализации, а не существующую или проверенную возможность движка. Код Faset Engine ещё не создан, тесты и измерения движка не проводились. Этапы до MVP и после него, зависимости работ и критерии готовности находятся в [PLAN.md](../PLAN.md).
|
||||
|
||||
@@ -10,6 +10,8 @@
|
||||
|
||||
**Faset Engine** предназначен для десктопных **2D- и 3D-игр под Linux и Windows**. Важны удобное ручное редактирование, полноценная работа с проектом через MCP, передовая графика, интеграция с обычным Blender и экспорт самостоятельной игры. Независимость означает собственные форматы и API на границах движка, контролируемые зависимости и отсутствие обязательных облачных сервисов; это не обещание реализации всех библиотек с нуля или отсутствия платформенных SDK.
|
||||
|
||||
**Основной язык движка — английский:** интерфейс редактора, встроенные команды, диагностические сообщения, идентификаторы публичного API и описания CLI/MCP tools. Пользовательский текст и содержимое проектов поддерживают Unicode; язык создаваемых игр не ограничивается английским. Локализация редактора относится к развитию после MVP. Текущие исследования и проектная документация могут оставаться на русском; публичный корневой README ведётся на английском.
|
||||
|
||||
**MCP существует только в Editor и его headless-сервисах.** Он работает с авторскими документами, импортом, сборкой, запуском/остановкой Play и журналами редактора. MCP не читает и не изменяет runtime world, entities, компоненты или physics state. В Player, экспортной игре и SchemaExporter нет MCP-сервера, адаптера, зависимостей или транзитивного обхода этой границы через Editor.
|
||||
|
||||
## 2. Принятый стек
|
||||
@@ -79,6 +81,8 @@ Catch-up ограничен числом ticks за проход главног
|
||||
|
||||
Собственный Vulkan 1.3 renderer получает подготовленный snapshot, не обходит изменяемый EnTT registry с render thread. RenderGraph описывает reads/writes ресурсов, порядок проходов, barriers и lifetimes. Первым нужен проверяемый raster-путь 2D/3D без обязательных RT/mesh shaders; GPU-driven visibility и другие передовые механизмы добавляются по измеримым этапам из [плана](../PLAN.md).
|
||||
|
||||
**Vulkan API вызывается напрямую внутри собственного backend Faset.** Он владеет Vulkan handles, созданием GPU-ресурсов и pipelines, записью команд, синхронизацией и отправкой в очереди. Renderer и RenderGraph используют небольшой внутренний интерфейс ресурсов и команд Faset; Vulkan-типы и вызовы `vk*` не входят в gameplay API или команды редактора. SDL3 обеспечивает окно и создание Vulkan surface, но не заменяет графический backend; Slang отвечает за компиляцию шейдеров. Универсальная абстракция нескольких графических API не является задачей MVP.
|
||||
|
||||
Slang компилирует шейдеры в SPIR-V и выдаёт сведения для согласования CPU/GPU данных. Совместимый HLSL проходит выбранный pipeline; поддержка любого существующего HLSL-кода не обещается. Cook учитывает compiler/version, includes, defines и GPU profile. Nanite/Lumen-подобные системы остаются исследовательскими направлениями, не готовыми возможностями MVP.
|
||||
|
||||
## 8. Blender и ассеты — принято
|
||||
@@ -102,5 +106,6 @@ Development и release Player содержат runtime, выбранные иг
|
||||
- **17.09.2026:** выбраны имя Faset Engine, Linux/Windows desktop 2D/3D, ручная работа и MCP, интеграция с Blender, Box2D и Box3D; подготовлены исследования.
|
||||
- **18.09.2026:** принят порядок C++ → Lua, затем EnTT, собственный retained UI, SDL3, Vulkan 1.3/RenderGraph/Slang и CMake/Ninja/Clang.
|
||||
- **18.09.2026:** утверждены процессы и linkage, явная metadata registration/schema export, JSON/binary formats, вложенные шаблоны/sparse overrides, lifecycle, фиксированный tick и последовательный scheduler; граница MCP ограничена Editor/headless authoring services.
|
||||
- **18.09.2026:** английский принят основным языком интерфейса, диагностик и публичного API; уточнена граница прямых Vulkan-вызовов внутри собственного backend.
|
||||
|
||||
Реализация идёт по [PLAN.md](../PLAN.md). Последующие изменения принятых контрактов фиксируются здесь с причиной и способом проверки.
|
||||
|
||||
@@ -23,6 +23,8 @@ C++ с последующим Lua; EnTT; Vulkan 1.3, Render Graph и Slang; SDL3
|
||||
|
||||
**MCP принадлежит только редактору и его сервисам.** Обычный Blender остаётся внешним инструментом; дополнительный плагин не является модификацией Blender. Сборка первой версии под каждую ОС проверяется на этой ОС.
|
||||
|
||||
Основной язык движка — **английский**: UI редактора, встроенные команды, диагностика, публичный API и описания CLI/MCP tools. Это не ограничивает Unicode-текст проектов и языки игр. Корневой README ведётся на английском; текущая проектная документация, исследования и карта остаются преимущественно на русском. Локализация редактора запланирована после MVP.
|
||||
|
||||
## Дальнейшие изменения
|
||||
|
||||
У изменения контракта должны быть причина, влияние на данные/API и проверяемый результат. Версии библиотек, стандарт C++, минимальные версии ОС и вспомогательные библиотеки фиксируются на M0 как реализационные параметры, а не повторный выбор архитектуры.
|
||||
|
||||
Reference in New Issue
Block a user