Index: libcfa/src/vector.hfa
===================================================================
--- libcfa/src/vector.hfa	(revision 8bbdfddcf2464b44a41e3b4122ea0d0a04ab6973)
+++ libcfa/src/vector.hfa	(revision 8bbdfddcf2464b44a41e3b4122ea0d0a04ab6973)
@@ -0,0 +1,21 @@
+#pragma once
+#include <math.h>
+
+
+//---------------------- Vector Types ----------------------
+// TODO: make generic, as per glm
+
+struct vec2 {
+    float x, y;
+};
+
+//---------------------- Geometric Functions ----------------------
+// These functions implement the Geometric Functions section of GLSL
+
+static inline float dot(const vec2& v, const vec2& u) {
+    return v.x * u.x + v.y * u.y;
+}
+
+static inline float length(const vec2& v) {
+   return sqrt(dot(v, v));
+}
