-
-
Notifications
You must be signed in to change notification settings - Fork 9
Kernel
yurii.levchenko edited this page Mar 17, 2026
·
1 revision
Базовая библиотека утилит и структур данных (src/Kernel/). Содержит 300+ файлов, являющихся фундаментом для всех модулей движка.
| Модуль | Описание |
|---|---|
| Array, Vector, List, Deque | Стандартные контейнеры с управляемым аллокатором |
| Set, Map, Hashtable | Ассоциативные контейнеры |
| Pool | Пул объектов для частых аллокаций |
| IntrusiveList, IntrusivePtr | Интрузивные контейнеры без дополнительных аллокаций |
| Модуль | Описание |
|---|---|
| String | Строковый тип |
| ConstString | Интернированная строка (хешированная, неизменяемая) |
| StaticString | Строка фиксированной длины |
| StringView | Невладеющая ссылка на строковые данные |
| StringFormatter | Форматирование строк |
| UnicodeHelper | Утилиты Unicode |
| UTF8, UTF16, UTF32 | Конвертация кодировок |
| Модуль | Описание |
|---|---|
| MemoryAllocator | Базовый аллокатор |
| PoolAllocator | Пуловый аллокатор |
| ReferenceCounter | Подсчёт ссылок |
| IntrusivePtr | Умный указатель с интрузивным подсчётом ссылок |
| MemoryCopy, MemoryZero | Утилиты для работы с памятью |
| Модуль | Описание |
|---|---|
| BoundingBox | Ограничивающий прямоугольник |
| Rect | Прямоугольник |
| Polygon | Полигон |
| Viewport | Области видимости |
| Resolution | Разрешения экрана |
| Matrix | Матричные операции |
| BezierHelper | Кривые Безье |
| Модуль | Описание |
|---|---|
| Entity | Базовый игровой объект |
| Node | Нод сцены с трансформацией |
| Hierarchy | Иерархия нодов (родитель-потомок) |
| Component | Компонент для Entity |
| Scene | Базовый класс сцены |
| Layer | Базовый класс слоя |
| HotSpot | Базовый класс области ввода |
| BaseRender, Renderable | Базовые классы рендеринга |
| Affector, Animation | Базовые классы анимации |
| Модуль | Описание |
|---|---|
| FilePath | Путь к файлу |
| FileContent | Содержимое файла |
| FileGroup | Группа файлов (пакет) |
| Stream | Потоковый ввод-вывод |
| Base64 | Кодирование Base64 |
| CRC32 | Хеш CRC32 |
| SHA1 | Хеш SHA1 |
| Модуль | Описание |
|---|---|
| Event | Базовое событие |
| Eventable | Объект, генерирующий события |
| EventReceiver | Приёмник событий |
| Observable | Наблюдаемый объект |
| Notifier | Оповещение подписчиков |
| Модуль | Описание |
|---|---|
| Logger | Система логирования |
| FileLogger | Логирование в файл |
| Assert | Система assertions |
| Profiler | Профилирование |
| Statistic | Сбор статистики |
| Histogram | Гистограммы для метрик |
| Модуль | Описание |
|---|---|
| Chronometer | Высокоточное измерение времени |
| Affector | Базовый класс для аффекторов |
| ValueInterpolator | Интерполяция значений (linear, bezier, parabolic) |
| Easing | Функции плавности |
| Модуль | Описание |
|---|---|
| Factorable | Базовый класс для управляемых объектов |
| FactorableGeneric | Шаблонный Factorable |
| Factory | Фабрика объектов |
| PrototypeGenerator | Генератор прототипов |
| DefaultPrototypeGenerator | Прототип по умолчанию |
| Модуль | Описание |
|---|---|
| KeyCode | Коды клавиш |
| MouseButtonCode | Коды кнопок мыши |
| TouchCode | Коды тач-событий |
| WheelCode | Коды колеса мыши |
| InputEvent | Структура входных событий |
| Модуль | Описание |
|---|---|
| MT19937Randomizer | Генератор на основе Mersenne Twister |
| RandomDevice | Устройство случайных чисел |
| Модуль | Описание |
|---|---|
| Scriptable | Объект, доступный из скриптов |
| ScriptEmbeddable | Встраиваемый в скриптовое окружение |
| ScriptablePrototypeGenerator | Прототип для скриптовых объектов |
- Architecture — обзор архитектуры
- Engine Components — компоненты движка
- Services — сервисы движка