MINOR API CHANGE:Vector.listen -> Vector.Listen for consistency. Added add/subtract/multipy/divide_xyz functions to avoid allocating for simple shifting of vectors.
Maths; making more functions inline for performance.
structural; switch to @:generic meta to avoid Dynamic on native
structural; make @:generic, and add preached array iterator that only updates on change instead of each request (still better to do hasNext soon)
Vector; .Listen updates
MINOR CHANGE; uv.set -> uv.set_uv(); TextureCoord; make more streamlined and avoid allocating where possible, add extra _uv helpers as well.
Renderer; change primitive type and blend modes to be Int based @:enum, applied directly to GL flags (for now, will abstract)
MINOR CHANGE; Transform; previously, world.pos was always decomposed from the matrix. now auto_decompose is required for this to happen, as it's less frequent and explicit. Doesn't affect general rendering. Also inlined a lot of functions, fixed a lot of potential crashes and ensure destruction of properties in the Spatial type for clean up
CompositeGeometry; fix glaring leaks...this resolves slow downs in the debug console or when drawing immediate, or setting text each frame.
Tests; update transform tests for auto_decompose flags required for the test, and to demonstrate the purpose
Debug; update batcher view for the new primitive type
Geometry; changed geometry sort key to a class (for use with @:generic BST). Adding forceful inline for native as array access on typed arrays weren't happening. Disabled normal attributes for now as these continue to refactor.
Batcher; changed primitive and blend modes to int based, lowered default batcher buffer count for memory considerations short term, disabled additional normal attributes similarly, and for performance. switched to static buffers for testing (as bufferSubData is used)