feat(editor): object scatter, camera bookmarks, shortcut hints

- Object scatter tool: place N copies of selected M2/WMO in a radius
  with random rotation and scale range (Min/Max Scale slider)
- Camera bookmarks: F5 saves current position, View > Load Bookmark
  to jump back — useful for working on different parts of a large zone
- Shortcut hints shown at bottom of Object panel
  (G=move, R=rotate, T=scale, Del=remove)
- DragFloatRange2 for min/max scale in scatter UI
This commit is contained in:
Kelsi 2026-05-05 04:20:26 -07:00
parent 48026421c9
commit 5daa359e74
5 changed files with 90 additions and 0 deletions

View file

@ -67,6 +67,12 @@ public:
// Multi-tile support
void addAdjacentTile(int offsetX, int offsetY);
// Camera bookmarks
struct CameraBookmark { glm::vec3 pos; float yaw; float pitch; std::string name; };
void saveBookmark(const std::string& name);
void loadBookmark(int index);
const std::vector<CameraBookmark>& getBookmarks() const { return bookmarks_; }
TransformGizmo& getGizmo() { return viewport_.getGizmo(); }
bool shouldOpenContextMenu() const { return openContextMenu_; }
void clearContextMenuFlag() { openContextMenu_ = false; }
@ -102,6 +108,7 @@ private:
bool objectsDirty_ = false;
bool openContextMenu_ = false;
std::string lastSavePath_;
std::vector<CameraBookmark> bookmarks_;
size_t lastObjectCount_ = 0;
EditorMode mode_ = EditorMode::Sculpt;
float waterHeight_ = 100.0f;