diff --git a/src/components/maskeditor/BrushSettingsPanel.vue b/src/components/maskeditor/BrushSettingsPanel.vue
index 4778d2cff3..37a78b11bd 100644
--- a/src/components/maskeditor/BrushSettingsPanel.vue
+++ b/src/components/maskeditor/BrushSettingsPanel.vue
@@ -72,12 +72,12 @@
/>
@@ -182,6 +182,26 @@ const brushSize = computed({
set: (value: number) => store.setBrushSize(value)
})
+const rawSliderValue = ref(null)
+
+const brushSizeSliderValue = computed({
+ get: () => {
+ if (rawSliderValue.value !== null) {
+ const cachedSize = Math.round(Math.pow(250, rawSliderValue.value))
+ if (cachedSize === brushSize.value) {
+ return rawSliderValue.value
+ }
+ }
+
+ return Math.log(brushSize.value) / Math.log(250)
+ },
+ set: (value: number) => {
+ rawSliderValue.value = value
+ const size = Math.round(Math.pow(250, value))
+ store.setBrushSize(size)
+ }
+})
+
const brushOpacity = computed({
get: () => store.brushSettings.opacity,
set: (value: number) => store.setBrushOpacity(value)