Add foliage mask paint controls and status display

This commit is contained in:
2026-05-02 04:15:32 +02:00
parent 253e8a17f2
commit c8b21682bb

View File

@@ -20654,6 +20654,41 @@ export function App({ store, draftStorage = null, initialStatusMessage }: AppPro
</div> </div>
</div> </div>
<div className="form-section">
<div className="label">Foliage Mask Paint</div>
<div
className="viewport-panel__control-group"
role="group"
aria-label="Foliage mask paint controls"
>
<button
className={`viewport-panel__button ${armedTerrainBrushTool === "foliagePaint" ? "viewport-panel__button--active" : ""}`}
type="button"
data-testid="terrain-brush-tool-foliage-paint"
aria-pressed={armedTerrainBrushTool === "foliagePaint"}
disabled={activeFoliageLayer === null}
onClick={() => handleArmTerrainBrushTool("foliagePaint")}
>
Paint Mask
</button>
<button
className={`viewport-panel__button ${armedTerrainBrushTool === "foliageErase" ? "viewport-panel__button--active" : ""}`}
type="button"
data-testid="terrain-brush-tool-foliage-erase"
aria-pressed={armedTerrainBrushTool === "foliageErase"}
disabled={activeFoliageLayer === null}
onClick={() => handleArmTerrainBrushTool("foliageErase")}
>
Erase Mask
</button>
</div>
<div className="material-summary">
{activeFoliageLayer === null
? "Create or select a foliage layer in the Foliage panel before painting terrain masks."
: `${activeFoliageLayer.name} mask has ${selectedTerrainActiveFoliageMaskPaintedSampleCount} painted sample${selectedTerrainActiveFoliageMaskPaintedSampleCount === 1 ? "" : "s"} on this terrain.`}
</div>
</div>
<div className="form-section"> <div className="form-section">
<div className="label">Brush Settings</div> <div className="label">Brush Settings</div>
<label className="form-field"> <label className="form-field">