feat(editor): smooth beaches tool for natural water-land transitions

- Smooth Beaches button in Water panel: creates gentle beach slopes
  near water level by blending terrain toward waterline height
- Configurable beach width (15 units default)
- Quadratic falloff creates natural concave beach profile
- Use after filling water to soften harsh land-water edges
- Workflow: sculpt → fill water → smooth beaches → paint sand
This commit is contained in:
Kelsi 2026-05-05 08:06:20 -07:00
parent c8897eca83
commit 426863f19a
3 changed files with 30 additions and 0 deletions

View file

@ -1513,6 +1513,10 @@ void EditorUI::renderWaterPanel(EditorApp& app) {
app.getTerrainEditor().removeWater(brush.getPosition(), s.radius);
}
}
if (ImGui::Button("Smooth Beaches", ImVec2(-1, 0))) {
app.getTerrainEditor().smoothBeaches(app.getWaterHeight(), 15.0f);
app.showToast("Beaches smoothed");
}
if (ImGui::Button("Remove ALL Water", ImVec2(-1, 0))) {
for (int ci = 0; ci < 256; ci++)
app.getTerrainEditor().getTerrain()->waterData[ci].layers.clear();