feat(editor): river/path carver tool for terrain channels

- River Carver in Sculpt panel: carves a channel between two points
  with configurable width and depth
- Set Start at cursor, then Set End + Carve to create the channel
- Smooth quadratic falloff at edges for natural riverbank shape
- Works by projecting each terrain vertex onto the line segment and
  lowering height based on distance from center
- Auto-stitches chunk edges after carving
- Pair with Water mode to fill the carved channel with liquid
This commit is contained in:
Kelsi 2026-05-05 06:30:26 -07:00
parent 14bb2cf7de
commit d573f3a678
3 changed files with 68 additions and 0 deletions

View file

@ -72,6 +72,9 @@ public:
void mirrorX();
void mirrorY();
// Carve a river/path between two points (lowers terrain along line)
void carveRiver(const glm::vec3& start, const glm::vec3& end, float width, float depth);
// Import/export heightmap (raw 16-bit grayscale, 129x129)
bool importHeightmap(const std::string& path, float heightScale);
bool exportHeightmap(const std::string& path, float heightScale);