Releases: tomaspietravallo/sparkar-volts
v4.0.0
Summary
New ✨
-
Adds spacial partition with
Tree
andCube
.
This has experimentally, and demonstrably improved performance by over 5x 🚀 -
Visually debug with
Object3D.createDebugMaterial
andCube
,Tree.debugVisualize
Object3D
- Generally improves Object3D class
- Object3D body is now fully detached from computations on its values
Vector
- Create a random Vector with defined magnitude using
Vector.random3D(mag)
- Fixes some division bugs
- Adds Vector.applyQuaternion
World
- Adds support for Async load event
- Values persist in World.snapshot after removing from calling removeFromSnapshot on the keys
- Adds support for World.mode reliant on the screen size
Other
- Improves testing
- Fixes Quaternion snapshot bug
- Adds minification volts.min.js
Full details on the changes
- v4.0.0 merge by @tomaspietravallo in #16
Full Changelog: v3.0.1...v4.0.0
v3.0.1 - dynamic instancing bug fix
Fixes a bug on Pool
initialState
. Now the feature works as expected
v3.0.0 - new features & improvements
This release features many changes that fix and improve current code, and add new features.
New:
Quaternion
: This class represents 3D spatial rotations, and provides an interface to work with them.Object3D
: This class provides an easy interface to Spark's SceneObjects.Pool
: This class allows easy dynamic instance spawning.World.onNextTick
provides an event that is triggered on the next frame.- Plugins: Plugins allow the creating of external files that are loaded by Volts to extend its capabilities. An example of this is the
oimo
. plugin, which gives theObject3D
class RigidBody physics capabilities.
Improvements:
- The snapshot system has been changed and now allows for the snapshot-ing of QuaternionSignals.
- Concurrent promises. Now Volts can perform many asynchronous tasks at once.
- Better error and log messages.
- Writeable Vectors and Quaternions can be created by simply accessing the
signal
property. - New functions have been added to
Vector
, including:Vector.fromSignal
,Vector.random2D
,Vector.random3D
,setMag
,toArray
,setSignalComponents
,disposeSignalResources
.
Fixes/ other changes:
State.setKey
is nowState.setValue
.- Single assets are not casted to arrays anymore
Notes:
- Object3D.makeRigidBody and the Oimo physics plugin are still beta capabilities. Feedback is, as always, welcomed. #6
There are many bug fixes which are not listed above.
v2.0.2 - type fix
Mainly fixes a type issue on Vector instances
v2.0.1 - bug fix
- Fixes:
ReferenceError: Property 'jest' doesn't exist
v2.0.0 - Major improvements
This release features many changes which make Volts more consistent with itself, as well as introducing some small features & many bug fixes
State
:
- Removes
createState
, please useState
instead - Improves
State
Vector
:
- Improves Vector type, class.
- Significant and minor bug fixes
World
:
- Moves to a singleton syntax, removes
__globalVoltsWorldInstance
- Improves readability and maintainability of code internal to
World
- Hides away non-consumer-facing code (eg.
devClear
/__clearGlobalInstance()
)
A lot of improvements go unmentioned here but they include small bug fixes, refactorings that improve maintainability, preventing unhandled promise rejections/ unhelpful messages, and more; things not worthy of being an item on themselves, that add lots to the experience using Volts
v1.1.1 - Improvements & bug fixes
- Changed
World.MODE
fallback - Added vector accessors
- Improved the
State
class - Renamed
createState
toState
,createState
will be supported until v2.0.0
v1.0.1 - Initial stable release
Features:
Vector
World
createState
transformAcrossSpaces
And many, many things within these.
On the dev side: Tests using Jest & mock modules, a lot of bug fixes, and quite a bit of room for expansion for v2.0.0