@tool extends PanelContainer @export var rotation_speed: float = 1.0 # Called when the node enters the scene tree for the first time. func _ready() -> void: visibility_changed.connect(_on_visibility_changed) func _on_visibility_changed() -> void: set_process(is_visible_in_tree()) func _process(d: float) -> void: %Spinner.rotation += d * TAU * rotation_speed %Spinner.rotation = wrapf(%Spinner.rotation, 0, TAU)