godotengine / godotengine/godot

Godot editor interrupts sliding when sliding to change property of resource inherited from ArrayMesh

Open
#102,201 2 comments 0 reactions 0 assignees View on GitHub
bug confirmed topic:editor usability
Dominant language
C++
Stars
117k
Forks
26.8k
PR merge metrics
PR metrics pending

Description

### Tested versions

Reproducible in 4.3.stable, 4.4.dev

### System information

Godot v4.3.stable - EndeavourOS #1 SMP PREEMPT_DYNAMIC Sat, 18 Jan 2025 02:26:57 +0000 - Wayland - Vulkan (Mobile) - integrated AMD Radeon Graphics (RADV RENOIR) - AMD Ryzen 7 4800U with Radeon Graphics (16 Threads)

### Issue description

When sliding to change property that modifies the mesh data of resource inherited from ArrayMesh, Godot editor interrupts the sliding.

### Steps to reproduce

Add the following script:
```gdscript
@tool
extends ArrayMesh
class_name ArrayMeshTest

@export var length: float = 1.0:
get: return length
set(value):
length = value
generate()
emit_changed()

func _init():
generate()

func generate():
var arr = []
arr.resize(Mesh.ARRAY_MAX)
arr[Mesh.ARRAY_VERTEX] = PackedVector3Array([Vector3(0, 0, 0), Vector3(0, length, 0), Vector3(length, 0, 0)])
clear_surfaces()
add_surface_from_arrays(PRIMITIVE_TRIANGLES, arr)
```
Create a `ArrayMeshTest` resource and try sliding the `length` property, then Godot editor interrupts the sliding.

### Minimal reproduction project (MRP)

N/A

Contributor guide

Open the contributing guide

Research direction

Start with the provided @tool ArrayMeshTest script, especially the exported length setter, generate(), and emit_changed(), and reproduce the interrupted slider in the Godot editor. Trace the editor property-sliding path for resource changes; done means sliding length updates the generated mesh continuously without the editor interrupting the interaction.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
game-dev, tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.