CI / build-test (push) Failing after 1m4s
TileSet maps ids to texture regions with tints (0 = empty), TileGrid is a bounds-checked dense ushort grid, and the Tilemap component places a grid in the world per render layer. UseTilemaps() inserts TilemapRenderSystem before the flush; it submits only the camera-visible cell range (TilemapMath.VisibleCells), so frame cost scales with the screen, not the grid. Demonstrated in the sample as a checkerboard floor; Tiled loading stays on the roadmap on top of this API.
26 lines
1.9 KiB
Markdown
26 lines
1.9 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 / своя)
|
|
- Tilemaps: загрузка карт Tiled (.tmx) поверх существующего программного API
|
|
- Particles
|
|
- UI: загрузка MML-разметки Myra через AssetManager + хендлы в кодогенераторе
|
|
- UI: рендер Myra через наш батчер (`IMyraRenderer`), если UI станет узким местом по draw call'ам
|
|
- DevTools-модуль на ImGui.NET: инспектор сущностей, дебаг-панели
|
|
- Бенчмарки BenchmarkDotNet для систем (сейчас производительность контролируется стресс-сценой)
|
|
- Spatial hash для culling на очень больших мирах (если профилирование покажет необходимость)
|