feat(editor): flatten around object, scatter auto-align, manifest batch

- Flatten Ground: flattens terrain to object height with smooth falloff
  around placed buildings/structures (undoable). Button in object panel
- Scatter auto-align: checkbox enables terrain snapping + slope alignment
  for scattered objects (trees snap to ground and lean with hillsides)
- Batch convert now falls back to asset manifest when filesystem dir is
  empty — converts M2/WMO from game data without filesystem extraction
- Public terrain editor wrappers: beginGeneratorUndo, endGeneratorUndo,
  markDirty, stitchChunkEdges, getChunkVertexWorldPos
This commit is contained in:
Kelsi 2026-05-05 14:28:14 -07:00
parent 115fe8436f
commit d3e8f999c7
4 changed files with 76 additions and 8 deletions

View file

@ -43,6 +43,11 @@ public:
// Get chunks modified since last call (for re-upload)
std::vector<int> consumeDirtyChunks();
void markDirty(int chunkIdx) { dirtyChunks_.push_back(chunkIdx); dirty_ = true; }
void stitchChunkEdges(int chunkIdx) { stitchEdges(chunkIdx); }
glm::vec3 getChunkVertexWorldPos(int ci, int vi) const { return chunkVertexWorldPos(ci, vi); }
void beginGeneratorUndo() { recordGeneratorUndo(); }
void endGeneratorUndo() { commitGeneratorUndo(); }
// Regenerate mesh for specific chunks
pipeline::TerrainMesh regenerateMesh() const;