diff --git a/.npmignore b/.npmignore
new file mode 100644
index 00000000..b9200c94
--- /dev/null
+++ b/.npmignore
@@ -0,0 +1,6 @@
+.idea/
+*.iml
+node_modules/
+examples/
+libs/
+docs/
\ No newline at end of file
diff --git a/docs/helix-core/Platform.html b/docs/helix-core/Platform.html
new file mode 100644
index 00000000..73df5c28
--- /dev/null
+++ b/docs/helix-core/Platform.html
@@ -0,0 +1,362 @@
+
+
+
+
+
+
+ Documentation Namespace: Platform
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Namespace: Platform
+
+
+
+
+
+
+
+
+
+
Platform contains some platform-dependent utility functions.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Members
+
+
+
+
+-
+
<static> isMobile
+
+
+
+-
+
+
+
Specifies whether the current platform is a mobile device or not.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/helix-core/Ray.html b/docs/helix-core/Ray.html
new file mode 100644
index 00000000..2baf39b3
--- /dev/null
+++ b/docs/helix-core/Ray.html
@@ -0,0 +1,596 @@
+
+
+
+
+
+
+ Documentation Class: Ray
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Class: Ray
+
+
+
+
+
+
+
+
+
+
+
+ new Ray()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Members
+
+
+
+
+-
+
direction
+
+
+
+-
+
+
+
The direction vector of the ray.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+-
+
origin
+
+
+
+-
+
+
+
The origin point of the ray.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Methods
+
+
+
+
+-
+
+
+
+
+-
+
+
+
+
Transforms a given ray and stores it in this one.
+
+
+
+
+
+
+
+
+
+ Parameters:
+
+
+
+
+
+
+ Name |
+
+
+ Type |
+
+
+
+
+
+ Description |
+
+
+
+
+
+
+
+
+ ray |
+
+
+
+
+ |
+
+
+
+
+
+ The ray to transform. |
+
+
+
+
+
+
+ matrix |
+
+
+
+
+ |
+
+
+
+
+
+ The matrix containing the transformation. |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/helix-core/RayCaster.html b/docs/helix-core/RayCaster.html
new file mode 100644
index 00000000..c13b3219
--- /dev/null
+++ b/docs/helix-core/RayCaster.html
@@ -0,0 +1,471 @@
+
+
+
+
+
+
+ Documentation Class: RayCaster
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Class: RayCaster
+
+
+
+
+
+
+
+
+
+
+
+ new RayCaster()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Methods
+
+
+
+
+-
+
cast(ray, scene)
+
+
+
+-
+
+
+
+
Finds the closest intersection point in the scene for the ray.
+
+
+
+
+
+
+
+
+
+ Parameters:
+
+
+
+
+
+
+ Name |
+
+
+ Type |
+
+
+
+
+
+ Description |
+
+
+
+
+
+
+
+
+ ray |
+
+
+
+
+ |
+
+
+
+
+
+ The ray in world space coordinates. |
+
+
+
+
+
+
+ scene |
+
+
+
+
+ |
+
+
+
+
+
+ The scene containing the geometry to test.
+TODO: Should also be able to provide a set of objects instead of the scene? |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file