Files

51 lines
6.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Исследования для Faset Engine
Обновлено 18.09.2026. Исходники и официальная документация исследовались прежде всего 17.09.2026; затем результаты согласованы с принятой архитектурой.
**Актуальные решения — в [ARCHITECTURE.md](../ARCHITECTURE.md), порядок реализации — в [PLAN.md](../../PLAN.md).** Реализация MVP и проверки идут отдельно: [журнал реализации](../IMPLEMENTATION.md), [результаты проверок](../validation/README.md), [пользовательский Manual](../manual/index.md). Исследования дают обоснования и проверочные сценарии; их статический анализ не является измерением Faset.
## Принято по результатам обсуждения
Linux/Windows, десктопные 2D/3D, C++ сначала и Lua следующим языковым этапом, EnTT, Box2D/Box3D, SDL3, собственные Vulkan 1.3 renderer/Render Graph, Slang, CMake/Ninja/Clang. Собственный retained C++ UI редактора использует декларативную компоновку и стили с основной тёмной темой; ImGui остаётся диагностическим.
Авторинг использует JSON, постоянные ID, вложенные сцены и sparse overrides. Игра работает в отдельном Player со статически связанным gameplay; C++-цикл — stop/build/restart. Метаданные экспортируются отдельным процессом. Официальный Blender остаётся внешним инструментом, с glTF/GLB и необязательным дополнением для ID/экспорта.
**MCP работает только с редактором**, его авторскими документами, импортом, сборкой, Play/Stop и диагностикой. API управления runtime world и MCP в игре не планируются.
## Обзор и сравнительная база
- [01 — Архитектура](01-architecture.md): данные, владение, сцены, компоненты, фазы и принятые правила шаблонов.
- [02 — UX редактора](02-editor-ux.md): повседневный workflow, Inspector, Undo, поиск и диагностика.
- [03 — Сравнение подходов](03-comparison.md): Godot, Unity, Unreal, дополнительные примеры O3DE/Bevy.
- [04 — Рекомендации](04-engine-recommendations.md): сводка принятых решений и отличия от ранних вариантов.
- [05 — Навигация по дорожной карте](05-roadmap.md): обзор, полный план находится в корне.
- [06 — Источники](06-sources.md): библиография и официальные документы выбранного стека.
## Разборы исходников
- [07 — Unreal Engine: передовая графика](07-unreal-graphics-source-study.md).
- [08 — Godot: сцены, ресурсы, Inspector, Undo и Play](08-godot-ux-source-study.md).
- [09 — Unity: UX и расширяемость](09-unity-ux-extensibility-study.md).
- [10 — Blender: команды и инструменты](10-blender-editor-patterns.md).
- [11 — ECS и удобство API](11-ecs-and-ergonomics.md).
- [12 — MCP редактора и интеграция с Blender](12-mcp-and-blender-integration.md).
- [13 — Компиляция, cook, экспорт и сравнение стеков](13-build-pipeline-and-stack.md).
- [14 — Общая архитектура и проверочные сценарии](14-engine-blueprint.md).
## Углублённые технические материалы
- [15 — GPU-driven renderer](15-renderer-implementation-notes.md): visibility, HZB, синхронизация и управление историей; этап после MVP.
- [16 — C++ gameplay и метаданные](16-native-gameplay-and-metadata.md): схемы, ABI, сериализация и будущий Lua.
- [17 — Asset pipeline и Blender](17-asset-pipeline-and-blender-roundtrip.md): IDs, зависимости, reimport, overrides и физическая геометрия.
- [18 — Сборка и доставка](18-build-cook-and-delivery.md): инкрементальность, cache, состав Player и единый BuildService.
## Происхождение и воспроизводимость
[Манифест источников](source-manifest.json) фиксирует изученные версии и commits. Основные source-ссылки ведут на upstream-файлы конкретного commit с указанием строки; доступ к Unreal требует соответствующих прав Epic. Исходники сторонних движков не включены в этот репозиторий.
Исследование статическое и выборочное: читались отдельные реализации и официальные документы. Движки не собирались, пользовательские UX-тесты и GPU-бенчмарки не выполнялись. UnityCsReference содержит C# reference source и bindings, а не весь native движок. Blender изучался через sparse checkout и выбранные удалённые файлы.
[Карта](map/README.md) запускается на обычном clone Faset. Соседние checkout из manifest необязательны и нужны только для дополнительного локального просмотра исходников. Пути manifest считаются от корня проекта, а относительные Markdown-ссылки — от документа.
Первоначальные сравнения Python/C#/Flecs, готовых UI toolkits и других вариантов сохранены там, где объясняют решение, и отмечены как история. Они не являются нерешённым выбором стека. Графика — одно из основных направлений развития Faset; передовые техники вводятся после проверенного сквозного MVP.