class_name DiveTick extends RefCounted var session_id: StringName var sequence: int var elapsed_seconds: float func _init( p_session_id: StringName, p_sequence: int, p_elapsed_seconds: float ) -> void: session_id = p_session_id sequence = p_sequence elapsed_seconds = p_elapsed_seconds func validation_error() -> String: if session_id.is_empty(): return "tick session_id is empty" if sequence < 0: return "tick sequence is negative" if not is_finite(elapsed_seconds) or elapsed_seconds <= 0.0: return "tick duration must be finite and positive" if elapsed_seconds > 0.1: return "tick duration exceeds 0.1 seconds" return ""