class_name NoteAnimator extends NoteView

@export var pool: NotePool

## TODO WARNING: This is currently only implemented for beat updates
## going forward in time.
func update_current_beat(beat: float) -> void:
	var old_begin: int = _begin
	var old_end: int = _end
	super.update_current_beat(beat) # Update _begin and _end.
	_update_note_visuals(old_begin, _begin)
	_update_note_visuals(old_end, _end)


# ======== IMPLEMENTATION ======== #
var _note_map: Dictionary[int, NoteVisual]

func _update_note_visuals(index_begin: int, index_end: int) -> void:
	for i: int in range(index_begin, index_end):
		# TODO: Either get or return node from pool,
		# depending on if index_begin > or < than index_end.
		pass

func _set_notes(p_notes: NoteArray) -> void:
	
	notes = p_notes
	_reset_view()
