feat(editor): heightmap import, toast notifications, workflow polish

- Import Heightmap: File > Import Heightmap loads RAW 8/16-bit grayscale
  files (129x129 or 257x257) and maps to terrain heights with configurable
  scale. Supports standard terrain editor heightmap formats.
- Toast notifications: non-intrusive green popup at bottom center for
  user feedback (save confirmations, import results, errors)
- Toasts fade out after 3 seconds with alpha animation
- Auto-save now shows toast on save
- Quick-save (Ctrl+S) shows toast confirmation
This commit is contained in:
Kelsi 2026-05-05 04:49:43 -07:00
parent a91233a6ec
commit 2f96f112bd
5 changed files with 120 additions and 1 deletions

View file

@ -117,8 +117,17 @@ private:
std::string lastSavePath_;
std::vector<CameraBookmark> bookmarks_;
float autoSaveTimer_ = 0.0f;
float autoSaveInterval_ = 300.0f; // 5 minutes
float autoSaveInterval_ = 300.0f;
bool autoSaveEnabled_ = true;
// Toast notifications
struct Toast { std::string msg; float timer; };
std::vector<Toast> toasts_;
public:
void showToast(const std::string& msg, float duration = 3.0f);
const std::vector<Toast>& getToasts() const { return toasts_; }
void updateToasts(float dt);
private:
size_t lastObjectCount_ = 0;
EditorMode mode_ = EditorMode::Sculpt;
float waterHeight_ = 100.0f;