feat(editor): status bar shows active biome

Adds a public EditorApp::getActiveBiome() accessor and renders the
biome name in the status bar between the tile coords and the
dirty marker. So the bar reads, e.g., "[Sculpt] mymap [32,32]
Forest *" — at a glance the user knows what biome the painting/
auto-paint passes will use.

Useful especially after creating a new terrain: the biome
selection previously only mattered at create time + during
"Generate Complete Zone", with no visible feedback that it was
remembered.
This commit is contained in:
Kelsi 2026-05-07 18:19:24 -07:00
parent 135b89299b
commit 9479973366
2 changed files with 5 additions and 1 deletions

View file

@ -207,6 +207,9 @@ private:
// reads this so subsequent generations honor the active biome instead of
// reapplying the same hardcoded heightband textures every time.
Biome activeBiome_ = Biome::Grassland;
public:
Biome getActiveBiome() const { return activeBiome_; }
private:
// "Click on terrain to place crater" mode. The Crater button arms this
// with the user's chosen radius/depth/rim; the next left-click on

View file

@ -3119,8 +3119,9 @@ void EditorUI::renderStatusBar(EditorApp& app) {
if (app.hasTerrainLoaded()) {
bool dirty = app.getTerrainEditor().hasUnsavedChanges() ||
app.hasUnsavedNonTerrainChanges();
ImGui::Text("[%s] %s [%d,%d]%s", m, app.getLoadedMap().c_str(),
ImGui::Text("[%s] %s [%d,%d] %s%s", m, app.getLoadedMap().c_str(),
app.getLoadedTileX(), app.getLoadedTileY(),
getBiomeName(app.getActiveBiome()),
dirty ? " *" : "");
ImGui::SameLine(vp->Size.x * 0.35f);
ImGui::Text("Obj:%zu NPC:%zu Q:%zu",