feat(editor): auto-save settings UI, multi-tile zone.json, toast notify

- Auto-save toast notification when auto-save fires
- Edit > Auto-Save Settings: enable/disable toggle, interval slider
  (60-900s), countdown timer display
- Zone manifest now scans output directory for all exported ADT tiles
  and includes them in zone.json (adjacent tiles no longer orphaned)
- Auto-save interval and enabled state exposed via EditorApp accessors
This commit is contained in:
Kelsi 2026-05-05 13:58:07 -07:00
parent a7e34ad102
commit 97da4c38f0
3 changed files with 35 additions and 0 deletions

View file

@ -375,6 +375,17 @@ void EditorUI::renderMenuBar(EditorApp& app) {
auto& te = app.getTerrainEditor();
if (ImGui::MenuItem("Undo", "Ctrl+Z", false, te.history().canUndo())) te.undo();
if (ImGui::MenuItem("Redo", "Ctrl+Shift+Z", false, te.history().canRedo())) te.redo();
ImGui::Separator();
if (ImGui::BeginMenu("Auto-Save Settings")) {
bool enabled = app.isAutoSaveEnabled();
if (ImGui::Checkbox("Enabled", &enabled)) app.setAutoSaveEnabled(enabled);
float interval = app.getAutoSaveInterval();
if (ImGui::SliderFloat("Interval (sec)", &interval, 60.0f, 900.0f, "%.0fs"))
app.setAutoSaveInterval(interval);
ImGui::TextColored(ImVec4(0.6f, 0.6f, 0.6f, 1),
"Next in: %.0fs", app.getAutoSaveTimeRemaining());
ImGui::EndMenu();
}
ImGui::EndMenu();
}
if (ImGui::BeginMenu("View")) {