Releases: jonobr1/two.js
Official Stable Release of Version 0.8.0
Version 0.8.0 introduces a port of the previously EcmaScript 5 syntax and brings it to modern day JavaScript coding practices with EcmaScript 6 features supported in all major browsers.
📋 This is a more-or-less entire rewrite of Two.js to use EcmaScript 6 features. In particular:
const
/let
instead ofvar
for tighter scopingclass
construction instead of prototypical modifications- Expanded classification of classes. For instance:
Two.Events
is now a classTwo.Element
is a new base class ofTwo.Shape
,Two.Gradient
, and anything else that can be queried in the scenegraph
- Where possible functions are named instead of anonymous
- Removes all
MakeObservable
methods in favor ofObject.defineProperty
invocations onconstructor
- Module imports are through typical
export
s and except for the root Two.js class, not withdefault
. So you'll need to import specific modules like so:
import { Vector } from 'two.js/src/vector.js';
var v = new Vector();
🏁 These changes allow for improved:
- TypeScript Declarations (fully expanded and invoked through TypeScript's types compiler)
- Improved documentation
- Code legibility and OOP style
- More legible performance debugging
- Easier to identify culprit functions in Chrome et al. performance debug consoles
- And improved SVG interpretation
- Loose interoperability between
Two.Vector
andTwo.Anchor
. For any curve, it's required you use anchors instead of vectors now.
🗒️ All tests and first party examples are passing with documentation updated on two.js.org/docs
Official Stable Release of Version 0.7.13
Minor enhancements to Two.Gradient
and Two.interpret
including:
- Improved SVG gradient interpretation
Two.interpret
can properly unwrap CSSurl()
commands- Added
Two.Gradient.units
and respected in all renderers - Default units space for
Two.Gradient
isobjectBoundingBox
- Removed destructive attribute assignments in
Two.interpret
- Interpreted gradients are reused as
<defs />
Official Stable Release of Version 0.7.12
Fixed setting Two.Group.mask and Two.Path.mask to null, effectively removing or deleting a mask and improved adaptability of Two.Points.vertices
.
Official Stable Release of Version 0.7.10
Fixed breaking issues with newly added Two.Points
primitive.
Official Stable Release of Version 0.7.9
Added Two.Points
object as a primitive and minor improvements including:
- Improved
two.load
of images - Improved SVG interpretation
See changelog for a full list of additions.
Official Stable Release of Version 0.7.8
Created a shim version of TypeScript type definitions so that TypeScript projects can run Two.js without errors (though there is not code hinting yet).
Release of Version 0.7.7
Incorrectly formed TypeScript Types declared. Please do not use this version.
Official Stable Release of Version 0.7.6
Minor stability improvements in both client side and headless environments to Two.js. This includes:
- Improved SVG interpretation
id
assignment in all objectsTwo.Path.vertices
generation
See changelog for a full list of additions.
Official Stable Release of Version 0.7.5
Minor stability improvements in both client side and headless environments to Two.js. This includes:
- Improved Typescript Declaration Types
- Improved
getBoundingClientRect
calculations - Improved higher order primitive usability
See changelog for a full list of additions.
Official Stable Release of Version 0.7.4
Minor stability improvements in both client side and headless environments to Two.js. This includes:
- Improved Typescript Declaration Types
- Improved
extras/
JavaScript and JavaScript Module accessing - Added
Two.Shape.skewX
andTwo.Shape.skewY
See changelog for a full list of additions.