Files
mrgameeng/docs/roadmap.md
T
Leonid PershinandClaude Fable 5 af319d1276 Add MrGameEng.UI module integrating Myra
scene.UseUI() creates a per-scene Myra Desktop and registers
UiRenderSystem last in the draw phase (UI on top, window pixels).
GameHost now exposes itself as a Game service (Myra needs the instance;
useful for games too). Myra was picked over Gum/ImGui for the
FontStashSharp ecosystem fit, pipeline-free assets and maturity; its
internal SpriteBatch use is a documented exception to the engine rule.

Sample: on-screen HUD replaces window-title-only stats — live FPS label,
music volume slider and scene-switch buttons on both scenes.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-11 04:51:12 +03:00

27 lines
2.0 KiB
Markdown

# Roadmap
Базовый движок (ядро, рендер, ассеты с кодогенерацией, ввод, звук, демо) реализован —
текущие возможности описаны в [architecture.md](architecture.md). Здесь — только планы.
Пункт считается завершённым, когда покрыт тестами и показан в `MrGameEng.Sample`;
после завершения он убирается отсюда и фиксируется в architecture.md.
## Ближайшее
- [ ] Текст: рендер шрифтов FontStashSharp через батчер движка
(новый модуль `MrGameEng.Text`, потребует зависимости от Graphics)
- [ ] MSBuild target для автоматической компиляции `.fx``.mgfx` через `dotnet-mgfxc`
(лоадер `.mgfx` в AssetManager уже готов; target — когда появится первый кастомный шейдер)
## Бэклог
- Physics2D (выбор библиотеки: Aether.Physics2D / своя)
- Tilemap (поддержка Tiled)
- Particles
- UI: загрузка MML-разметки Myra через AssetManager + хендлы в кодогенераторе
- UI: рендер Myra через наш батчер (`IMyraRenderer`), если UI станет узким местом по draw call'ам
- DevTools-модуль на ImGui.NET: инспектор сущностей, дебаг-панели
- Бенчмарки BenchmarkDotNet для систем (сейчас производительность контролируется стресс-сценой)
- Spatial hash для culling на очень больших мирах (если профилирование покажет необходимость)
- Параллельная запись вершин (Parallel.For по чанкам), если упрёмся в CPU на ещё больших сценах