feat(editor): terrain holes, recent textures, sculpt panel polish

- Punch Hole / Fill Hole buttons in Sculpt panel: creates terrain
  holes (4x4 bitmask) for cave entrances, mine shafts, etc.
  Uses brush radius to determine affected area.
- Recent Textures: paint panel shows last 6 used textures as quick-
  select buttons (no need to re-search the full list)
- Holes saved in ADT format (MCNK holes field) and respected by
  the mesh generator (triangles skipped at hole positions)
This commit is contained in:
Kelsi 2026-05-05 04:34:03 -07:00
parent cc6a72e7b2
commit f5fe9a0101
5 changed files with 93 additions and 0 deletions

View file

@ -8,6 +8,11 @@ namespace editor {
void TexturePainter::setActiveTexture(const std::string& texturePath) {
activeTexture_ = texturePath;
// Track recent textures (max 10)
auto it = std::find(recentTextures_.begin(), recentTextures_.end(), texturePath);
if (it != recentTextures_.end()) recentTextures_.erase(it);
recentTextures_.insert(recentTextures_.begin(), texturePath);
if (recentTextures_.size() > 10) recentTextures_.pop_back();
}
uint32_t TexturePainter::ensureTextureInList(const std::string& path) {