11 KiB
11 KiB
06. Источники и аннотации
Актуализировано 18.09.2026. Принятый стек описан в архитектуре, этапы реализации — в PLAN.md. Версии изученных исходников закреплены в манифесте. Сравнительная библиография ниже сохраняет историю выбора; наличие ссылки не означает зависимость Faset.
Ссылки ниже использованы как проверяемые опорные материалы. Приоритет отдан официальной документации проектов и оригинальным справочным материалам; они описывают конкретные решения, но не доказывают, что это единственный или лучший дизайн для нового движка.
Godot
- Godot design philosophy — сцены как композиционные/reusable units, сочетание editor и code, object-oriented composition.
- Overview of Godot key concepts — Scene Tree, Nodes, Scenes, Resources и единый mental model для gameplay/UI.
- Introduction to 3D — Node2D/Node3D, похожие APIs, orthographic 2D-in-3D и гибридные сценарии.
- Idle and physics processing — разделение variable per-frame processing и fixed physics processing.
- Physics introduction — fixed-rate physics и важное предупреждение: engine physics не гарантирует determinism.
- Import process — source files, hidden imported resources, import settings и различие ResourceLoader/FileAccess в export.
- Inspector Dock — searchable property inspector, sections, revert icon, sub-resources и resource editing.
- Project Settings — категории, search/reset, Input Map, Localization, Plugins, Import Defaults и human-readable
project.godot. - EditorPlugin API — расширение inspector, import/export/scene format plugins.
- Debugging tools overview — remote scene inspection, profiler/debugger, collision/navigation visualization и reload workflow.
- InputMap — named actions, multiple input events и deadzone.
- Default editor shortcuts — discoverable keyboard-first operations and configurable shortcuts.
Unity
- Prefabs — GameObject + Components, nested prefabs и variations как reusable authoring contract.
- Editing Prefab Mode — context/isolation, breadcrumbs и визуальное отделение prefab contents.
- Asset Workflow —
.meta, processing и превращение одного source file в несколько imported assets. - Customizing Asset Database workflow — source/meta/artifact separation, cache regeneration и importer settings.
- Event function execution order — конкретный execution loop и место physics simulation.
- Runtime UI event system and input handling — action-based input и UI navigation events.
- Frame Debugger — остановка кадра и пошаговое исследование render events/state.
Unreal Engine
- Level Editor — Outliner как hierarchical scene view и selection/editing в контексте.
- Level Editor Details Panel — Details panel как schema-driven property surface для Actor.
- Actor ticking — tick groups и dependencies для упорядочивания gameplay/physics.
- Unreal Insights reference — trace channels для CPU, gameplay, objects, physics и cook.
- Source Control in Unreal — checkout, history, diff и asset-aware source control.
- Using Source Control in the Unreal Editor — checkout/add-on-save и status feedback в editor workflow.
O3DE
- Overview of Entities and Components — composition, component services/dependencies, editor/runtime/system components.
- Key Concepts: How O3DE Works — ECS, editor tools, Gems/plugins, Asset Pipeline, Asset Processor и build system.
- Material Editor — undo/redo, parent/child materials и automatic asset processing.
Bevy и общие паттерны
- Bevy 0.6: modular render architecture — plugin composition, render phases, entity/component-driven draw functions и render graph lessons.
- Bevy 0.19: scenes and app settings — composable/patchable/dependency-aware scenes, typed assets/resources.
- Game Programming Patterns — contents — Game Loop, Component, Event Queue, Data Locality, Double Buffer, Command и другие patterns с компромиссами.
- Entity Component System FAQ — data-oriented design как подбор layout по access patterns, а не обязательная идеология archetype ECS.
- The Essence of Entity Component System — технический обзор archetype ECS, SoA и cache locality; использовать как исследовательский материал, проверяя актуальность и peer-review status.
Как проверять выводы
- Документация engine описывает intended behavior, но не гарантирует одинаковые performance/UX outcomes в другом проекте.
- Claims о determinism, hot reload и производительности проверять экспериментом в новом движке.
- Любую выбранную abstraction оценивать по стоимости сопровождения, debugging и schema migration, а не только по benchmark.
- Перед принятием dependency проверить license, поддерживаемые платформы, ABI/runtime requirements и возможность заменить backend.
Официальные источники принятого стека
- EnTT: ECS и многопоточность — storage/views, ограничение thread safety и organizer; собственный scheduler остаётся задачей Faset.
- SDL3, Vulkan surface, DPI — граница платформенного слоя.
- Vulkan versions, features/limits — Vulkan 1.3 и отдельная проверка возможностей устройства.
- Slang introduction, reflection — модульность, SPIR-V и параметры шейдеров; совместимость с большей частью HLSL, а не со всеми engine-specific shaders.
- Box2D simulation, Box3D — физические миры, handles и fixed-step интеграция.
- CMake presets, Ninja manual, Clang toolchain — роли инструментов сборки.
- clang-cl и Windows SDK/runtime, cross-compilation — платформенные зависимости сохраняются.
- Blender glTF exporter — внешний экспортёр; profile и устойчивые IDs задаются интеграцией Faset.
- Dear ImGui — диагностический UI, не выбранная основа редактора.
Лицензии и границы публикации собраны в DEPENDENCIES.md и PUBLICATION.md. URL официальных руководств могут развиваться; findings по исходникам привязаны к commits. Ни один источник не заменяет будущие приёмочные проверки Faset.