Points that do not have an elevation directly entered should interpolate its elevation based on distance between the entered points it is between.
This will probably require a new property in PointClickable that marks whether the point was interpolated, or had a directly-entered elevation. Interpolation should follow these rules:
Interpolated points that are between two entered points should set their elevation based on the relative distance between the two entered points
Interpolated points that are not bounded on both sides by an entered point should set their elevation to the same as the last entered point
Points that do not have an elevation directly entered should interpolate its elevation based on distance between the entered points it is between.
This will probably require a new property in PointClickable that marks whether the point was interpolated, or had a directly-entered elevation. Interpolation should follow these rules: