diff --git a/src/app/App.tsx b/src/app/App.tsx
index a857bda7..813d1d80 100644
--- a/src/app/App.tsx
+++ b/src/app/App.tsx
@@ -21397,80 +21397,54 @@ export function App({
Cell Size changes resolution while preserving footprint.
- Samples X/Z extend or crop terrain size toward the chosen
- cardinal edge.
+ East, West, North, and South samples extend or crop that
+ side of the terrain.
-
-
- Samples X
-
- setTerrainSampleCountXDraft(
- event.currentTarget.value
- )
- }
- onBlur={applyTerrainGridChange}
- onKeyDown={(event) =>
- handleDraftVectorKeyDown(
- event,
- applyTerrainGridChange
- )
- }
- onKeyUp={(event) =>
- handleNumberInputKeyUp(
- event,
- applyTerrainGridChange
- )
- }
- onPointerUp={(event) =>
- handleNumberInputPointerUp(
- event,
- applyTerrainGridChange
- )
- }
- />
-
-
- Samples Z
-
- setTerrainSampleCountZDraft(
- event.currentTarget.value
- )
- }
- onBlur={applyTerrainGridChange}
- onKeyDown={(event) =>
- handleDraftVectorKeyDown(
- event,
- applyTerrainGridChange
- )
- }
- onKeyUp={(event) =>
- handleNumberInputKeyUp(
- event,
- applyTerrainGridChange
- )
- }
- onPointerUp={(event) =>
- handleNumberInputPointerUp(
- event,
- applyTerrainGridChange
- )
- }
- />
-
+
+ {(
+ [
+ ["east", "East"],
+ ["west", "West"],
+ ["north", "North"],
+ ["south", "South"]
+ ] as const
+ ).map(([side, label]) => (
+
+ {label}
+
+ handleTerrainGridSideSampleDraftChange(
+ side,
+ event.currentTarget.value
+ )
+ }
+ onBlur={() => applyTerrainGridChange(side)}
+ onKeyDown={(event) =>
+ handleDraftVectorKeyDown(event, () =>
+ applyTerrainGridChange(side)
+ )
+ }
+ onKeyUp={(event) =>
+ handleNumberInputKeyUp(event, () =>
+ applyTerrainGridChange(side)
+ )
+ }
+ onPointerUp={(event) =>
+ handleNumberInputPointerUp(event, () =>
+ applyTerrainGridChange(side)
+ )
+ }
+ />
+
+ ))}
+
+
Cell Size
setTerrainCellSizeDraft(event.currentTarget.value)
}
- onBlur={applyTerrainGridChange}
+ onBlur={() => applyTerrainGridChange()}
onKeyDown={(event) =>
- handleDraftVectorKeyDown(
- event,
- applyTerrainGridChange
+ handleDraftVectorKeyDown(event, () =>
+ applyTerrainGridChange()
)
}
onKeyUp={(event) =>
- handleNumberInputKeyUp(
- event,
- applyTerrainGridChange
+ handleNumberInputKeyUp(event, () =>
+ applyTerrainGridChange()
)
}
onPointerUp={(event) =>
- handleNumberInputPointerUp(
- event,
- applyTerrainGridChange
+ handleNumberInputPointerUp(event, () =>
+ applyTerrainGridChange()
)
}
/>
-
-
- Resize X
-
- setTerrainResizeDirectionXDraft(
- event.currentTarget
- .value as TerrainGridResizeDirectionX
- )
- }
- >
- East
- West
-
-
-
- Resize Z
-
- setTerrainResizeDirectionZDraft(
- event.currentTarget
- .value as TerrainGridResizeDirectionZ
- )
- }
- >
- North
- South
-
-
-
applyTerrainGridChange()}
>
Apply Grid