2014-04-01 08:48:42 -04:00
|
|
|
# Matter.js Changelog
|
|
|
|
|
|
|
|
[brm.io/matter-js](http://brm.io/matter-js)
|
|
|
|
|
|
|
|
----------
|
|
|
|
|
2014-05-05 14:32:51 -04:00
|
|
|
## 0.8.0-alpha - 2014-05-05
|
|
|
|
|
|
|
|
#### Release Highlights
|
|
|
|
|
|
|
|
- added [Views](http://brm.io/matter-js-demo/#views) demo
|
|
|
|
- added [Time Scaling](http://brm.io/matter-js-demo/#timescale) demo
|
|
|
|
- added [Rounded Corners (Chamfering)](http://brm.io/matter-js-demo#rounded) demo
|
|
|
|
- added [Raycasting](http://brm.io/matter-js-demo/#raycasting) demo
|
|
|
|
- added Query module, including raycasting
|
|
|
|
- added 3 useful new Composite methods
|
|
|
|
- added support for mouse wheel, mouse scaling and offsets
|
|
|
|
- added Body.scale for scaling bodies on the fly
|
|
|
|
- added Body.timeScale for slowing down bodies per-body
|
|
|
|
- added Body.setStatic for correctly setting static
|
|
|
|
- added Vertices.chamfer for rounding corners of any set of vertices
|
|
|
|
- added integration of chamfer to body factories
|
|
|
|
- added engine.timing.isFixed option to disable dynamic timing
|
|
|
|
- added render.bounds for translating and scaling views
|
|
|
|
- easier use of Engine.update and Engine.render for those using custom game loops
|
|
|
|
- fixed issues with time scaling
|
|
|
|
- fixed error in calculation of centre of mass
|
|
|
|
- removed Matter.Gui in preparation for the [MatterTools](https://github.com/liabru/matter-tools) project launch
|
|
|
|
|
|
|
|
#### Added
|
|
|
|
|
|
|
|
- added Demo.views
|
|
|
|
- added Demo.timescale
|
|
|
|
- added Demo.rounded
|
|
|
|
- added Demo.raycasting
|
|
|
|
- added demo support for hash + '-inspect' to start the [MatterTools](https://github.com/liabru/matter-tools) inspector
|
|
|
|
- added Composite.rebase
|
|
|
|
- added Composite.move
|
|
|
|
- added Composite.get
|
|
|
|
- added Matter.Query
|
|
|
|
- added Query.ray
|
|
|
|
- added Query.region
|
|
|
|
- added Bounds.translate
|
|
|
|
- added Bounds.shift
|
|
|
|
- added Mouse.setScale
|
|
|
|
- added Mouse.setPosition
|
|
|
|
- added mouse.absolute
|
|
|
|
- added mouse.wheelDelta
|
|
|
|
- added mouse.offset
|
|
|
|
- added Body.setStatic
|
|
|
|
- added Body.scale
|
|
|
|
- added body.timeScale
|
|
|
|
- added Vector.angle
|
|
|
|
- added Vertices.chamfer for rounding corners
|
|
|
|
- added Engine.render
|
|
|
|
- added engine.timing.isFixed option
|
|
|
|
- added render.bounds for translating and scaling views
|
|
|
|
- added Common.nextId
|
|
|
|
- added body.label
|
|
|
|
- added constraint.label
|
|
|
|
- added composite.label
|
|
|
|
|
|
|
|
#### Changed
|
|
|
|
|
|
|
|
- changed engine.timing.timestamp to be simulation based rather than wall-clock based
|
|
|
|
- changed correction to now be optional in Engine.update (defaults to 1)
|
|
|
|
- changed Events.on to return callback
|
|
|
|
- changed Events.off to accept callbacks for removal
|
|
|
|
- changed vertices in Bounds.create to optional
|
|
|
|
- changed engine.timeScale to engine.timing.timeScale
|
|
|
|
- moved Matter.Inspector and Matter.Gui to the [MatterTools](https://github.com/liabru/matter-tools) project
|
|
|
|
- moved event documentation to end of file for clarity
|
|
|
|
- moved respective engine event triggers into Engine.update and Engine.render
|
|
|
|
|
|
|
|
#### Removed
|
|
|
|
|
|
|
|
- removed body.render.path (redundant)
|
|
|
|
- removed Body.nextId
|
|
|
|
- removed Constraint.nextId
|
|
|
|
- removed Composite.nextId
|
|
|
|
- removed Body.updateProperties (now a private method)
|
|
|
|
|
|
|
|
#### Fixed
|
|
|
|
|
|
|
|
- fixed issues with timing.timeScale
|
|
|
|
- fixed constraints now account for timeScale
|
|
|
|
- fixed Vertices.centre calculation to get correct centre of mass
|
|
|
|
|
2014-04-01 08:48:42 -04:00
|
|
|
## 0.7.0-alpha - 2014-04-01
|
|
|
|
|
|
|
|
#### Release Highlights
|
|
|
|
|
|
|
|
- added six new demos
|
|
|
|
- all demos are now mobile friendly
|
|
|
|
- added new event system
|
|
|
|
- engine, mouse and collision events
|
|
|
|
- added sprite texture rendering support
|
|
|
|
- added WebGL renderer (pixi.js)
|
|
|
|
- improved `Composite` (and `World`)
|
|
|
|
- batch adding
|
|
|
|
- type agnostic adding
|
|
|
|
- body removal
|
|
|
|
- major performance increases all round
|
|
|
|
- collision detection caching
|
|
|
|
- batched rendering
|
|
|
|
- improved pair management
|
|
|
|
- memory leaks fixed
|
|
|
|
- stability improvements
|
|
|
|
- bodies rest better due to collision caching
|
|
|
|
- bodies sleep better
|
|
|
|
- constraints are much less volatile
|
|
|
|
- fixes for a number of issues (see fixes)
|
|
|
|
|
|
|
|
#### Added
|
|
|
|
|
|
|
|
- added demos
|
|
|
|
- sprites
|
|
|
|
- events
|
|
|
|
- catapult
|
|
|
|
- cloth
|
|
|
|
- soft body
|
|
|
|
- bridge
|
|
|
|
- added collision caching and reuse for improved performance
|
|
|
|
- added metrics for collision reuse
|
|
|
|
- added `Events` module ([Issue #8](https://github.com/liabru/matter-js/issues/8))
|
|
|
|
- engine events
|
|
|
|
- mouse events
|
|
|
|
- collision events
|
|
|
|
- added composite functions, including
|
|
|
|
- batch adding (`Composite.add` / `World.add`)
|
|
|
|
- type agnostic adding (`Composite.add` / `World.add`)
|
|
|
|
- body removal (`Composite.remove` / `World.remove`)
|
|
|
|
- added factory functions
|
|
|
|
- constraint meshing (`Composites.mesh`)
|
|
|
|
- soft body factory (`Composites.softBody`)
|
|
|
|
- added `RenderPixi`, a pixi.js WebGL renderer
|
|
|
|
- added `Gui` option to switch renderer
|
|
|
|
- added `Mouse.setElement`
|
|
|
|
- added `render.visible` flag to `Body` and `Constraint` ([Issue #10](https://github.com/liabru/matter-js/issues/10))
|
|
|
|
- added `id` to `Constraint` and `Composite`
|
|
|
|
- added `type` names to `Body`, `Constraint`, `Composite`
|
|
|
|
- added `Common` functions
|
|
|
|
- `Common.colorToNumber`
|
|
|
|
- `Common.log`
|
|
|
|
- `Common.clone`
|
|
|
|
- added jsdoc annotations
|
|
|
|
- added travis-ci integration
|
|
|
|
- added yuidoc build tasks
|
|
|
|
- added multiple build modes to `Gruntfile` (dev, release, edge)
|
|
|
|
- added repository to `package.json`, so Browserify may be used
|
|
|
|
- added `CHANGELOG.md`
|
|
|
|
|
|
|
|
#### Changed
|
|
|
|
|
|
|
|
- renamed module `Manager` to `Pairs`
|
|
|
|
- changed `Composite` to be tree-based
|
|
|
|
- changed timestep to be smoothed over 1s for stability
|
|
|
|
- changed default `constraintIterations` to 2 for stability
|
|
|
|
- changed demo to use the new composite functions
|
|
|
|
- changed right click to now remove bodies in the demos
|
|
|
|
- changed `Common.now` to use high-resolution timing
|
|
|
|
- changed `MouseConstraint` to reference a single constraint rather than a list
|
|
|
|
- changed `Constraint` to now use a `render` property
|
|
|
|
- changed `Metrics` to only track FPS by default, use the `extended` flag for full metrics
|
|
|
|
|
|
|
|
#### Removed
|
|
|
|
|
|
|
|
- removed the default in `MouseConstraint`, you must now instantiate one manually
|
|
|
|
|
|
|
|
#### Fixed
|
|
|
|
|
|
|
|
- fixed a memory leak in `Grid`
|
|
|
|
- fixed a memory leak in `Manager`
|
|
|
|
- fixed debug text now uses `Metrics` correctly
|
|
|
|
- fixed issues regarding passing custom `Render` modules ([Issue #7](https://github.com/liabru/matter-js/issues/7))
|
|
|
|
- fixed issue in `Common.extend` with `null` properties
|
|
|
|
- fixed issue with sleeping, now ignores inactive pairs
|
|
|
|
- fixed issues with `Body.applyForce` ([Issue #7](https://github.com/liabru/matter-js/issues/7))
|
|
|
|
|
|
|
|
## 0.5.0-alpha - 2014-02-28
|
|
|
|
|
|
|
|
- initial release
|