Hi Jules,
Even though this has (most likely) limited use, I would like to suggest adding the following to Point:
Point scaled (ValueType scale) const noexcept { return Point (x * scale, y * scale); }
Point scaled (ValueType scaleX, ValueType scaleY) const noexcept { return Point (x * scaleX, y * scaleY); }