基于刻的控制点。
控制手柄
Create a new VO based on the properties.
Modify the property of an existing VO.
@type handle() :: %{tick: integer(), value: float()} | nil
@type t() :: %Zongzi.Curve.ControlPoint{ handle_left: handle(), handle_right: handle(), tick: non_neg_integer(), value: float() }