NAlgebra library makes a distinction between a Vector and a Point. Where a Vector is a direction and a point is a point in space. These are both representations containing 3 numbers defining them. Currently the code uses Vector3 essentially everywhere to represent both a Point and Vector. This should be changed for conceptual clarity.
This results in no functional change, but makes type reasoning easier when thinking about the pointing vector of a FOV vs the position of an object.
This is not actually helpful, as the Point structs dont have many of the methods which are required, such as norm or angle. These objects will remain Vectors.
NAlgebra library makes a distinction between a Vector and a Point. Where a Vector is a direction and a point is a point in space. These are both representations containing 3 numbers defining them. Currently the code uses Vector3 essentially everywhere to represent both a Point and Vector. This should be changed for conceptual clarity.
This results in no functional change, but makes type reasoning easier when thinking about the pointing vector of a FOV vs the position of an object.