18 KiB
▲.● matter.js 0.20.0
Release notes for 0.20.0
. See the release readme for further information.
Highlights ✺
- added support for high refresh rate displays with fixed timestep in
Matter.Runner
- added support for sub-stepping for higher quality simulations in
Matter.Runner
- changed to a fixed timestep by default in
Matter.Runner
- improved frame pacing and average performance up to ~6% (see #1238)
- reduced average memory usage up to ~30% (see #1238)
- reduced memory garbage collection
- bug fixes and improvements see changelog
Changes ✲
See the release compare page and the changelog for a detailed list of changes.
Migration ⌲
Matter.Runner
related changes #1254:
Matter.Runner
now defaults to a fixed deterministic timestep and support for non-fixed timestep is removed- optionally set your performance budgets
runner.maxFrameTime
(see docs) - note that
Matter.Runner
can now call zero, one, or multiple engine updates and events per display frame (see docs) - if needed set up your polyfill for
window.requestAnimationFrame
- see
Matter.Runner
updated docs throughout
Performance related changes #1238:
Matter.Collision
usecollision.supportCount
instead ofcollision.supports.length
for active support countMatter.Pair
usepair.contacts
instead ofpair.activeContacts
Matter.Pair
usepair.contactCount
instead ofpair.contacts.length
for active contact countPair.id
format has changed
Comparison ⎄
For more information see comparison method.
Output sample comparison estimates of 44 examples against previous release matter-js@0.19.0:
Similarity 99.80% Overlap -1.92% Filesize +3.38% 81.58 KB
airFriction · · avalanche ● · ballPool ● · bridge ● · car ● · catapult ● ·
chains ● · circleStack · · cloth ● · collisionFiltering ● · compositeManipulation ● ·
compound · · compoundStack ● · concave ● · constraints ● · doublePendulum · ·
events ● · friction · · gravity ● · gyro ● · manipulation ● ◆
mixed ● · newtonsCradle · · pyramid ● · ragdoll ● · raycasting ● ·
remove ● ◆ restitution · · rounded ● · sensors · · sleeping ● ◆
slingshot ● · softBody ● · sprites ● · stack · · staticFriction ● ·
stats ● · stress ● · stress2 ● · stress3 ● · stress4 ● ·
timescale ● · views ● · wreckingBall ● ·
where for the sample · no change detected ● extrinsics changed ◆ intrinsics changed
Contributors ♥︎
Many thanks to the contributors of this release, past contributors as well those involved in the community for your input and support.
▲.● matter.js 0.19.0
Release notes for 0.19.0
. See the release readme for further information.
Highlights ✺
- Changed
Body.setAngularVelocity
andBody.setVelocity
to be timestep independent - Improved similarity of results between different timesteps based on
60hz
as a baseline - Added timestep independent
Body.setSpeed
,Body.setAngularSpeed
,Body.getSpeed
,Body.getVelocity
,Body.getAngularVelocity
- Added optional
updateVelocity
argument toBody.setPosition
,Body.setAngle
,Body.translate
,Body.rotate
- Added extended documentation for
Body.applyForce
- Moved time correction feature from
Engine.update
to be built-in toMatter.Body
- Improved documentation pages
Changes ✲
See the release compare page and the changelog for a more detailed list of changes.
Migration ⌲
See PR #777 for related changes and notes useful for migration.
Comparison ⎄
For more information see comparison method.
Output comparison of 43 examples at 60hz against previous release matter-js@0.18.0
Behaviour 100.00% Similarity 100.00% Overlap +0.00%
Performance -0.80% Memory +0.05% Filesize +1.67% 78.97 KB
airFriction · · avalanche · · ballPool · · bridge · · car · · catapult · ·
chains · · circleStack · · cloth · · collisionFiltering · · compositeManipulation · ·
compound · · compoundStack · · concave · · constraints · · doublePendulum · ·
events · · friction · · gravity · · gyro · · manipulation · ·
mixed · · newtonsCradle · · pyramid · · ragdoll · · raycasting · ·
remove · · restitution · · rounded · · sensors · · sleeping · ◆
slingshot · · softBody · · sprites · · stack · · staticFriction · ·
stats · · stress · · stress2 · · stress3 · · timescale · ·
views · · wreckingBall · ·
where · no change ● extrinsics changed ◆ intrinsics changed
▶ code -n -d test/__compare__/examples-build.json test/__compare__/examples-dev.json
Contributors ♥︎
Many thanks to the contributors of this release, past contributors as well those involved in the community for your input and support.
▲.● matter.js 0.18.0
Release notes for 0.18.0
. See the release readme for further information.
Highlights ✺
- Up to ~40% performance improvement (on average measured over all examples, in Node on a Mac Air M1)
- Replaces
Matter.Grid
with a faster and more efficient broadphase inMatter.Detector
- Reduced memory usage and garbage collection
- Resolves issues in
Matter.SAT
related to collision reuse - Removes performance issues from
Matter.Grid
- Improved collision accuracy
- Improved API and docs for collision modules
- Improved documentation pages
- Added note about avoiding Webpack performance problems
Changes ✲
See the release compare page and the changelog for a detailed list of changes.
Migration ⌲
- Behaviour and similarity is in practice the same (a fractional difference from improved accuracy)
- API is the same other than:
- Matter.Detector replaces Matter.Grid (which is now deprecated but will remain for a short term)
- render.options.showBroadphase is deprecated (no longer implemented)
- Matter.SAT is renamed Matter.Collision
- Matter.SAT.collides is now Matter.Collision.collides with a slightly different set of arguments
Comparison ⎄
Differences in behaviour, quality and performance against the previous release 0.17.1
. For more information see comparison method.
Output comparison of 43 examples against previous release matter-js@0.17.1
Behaviour 99.99% Similarity 99.98% Overlap -0.00%
Performance +40.62% Memory -6.18% Filesize -0.16% 77.73 KB
airFriction · · avalanche ● · ballPool · · bridge · · car · · catapult · ·
chains · · circleStack · · cloth · · collisionFiltering · · compositeManipulation ● ·
compound · · compoundStack · · concave · · constraints ● · doublePendulum · ·
events · · friction · · gravity · · gyro · · manipulation · ◆
mixed · · newtonsCradle · · pyramid · · ragdoll · · raycasting · ·
remove · · restitution · · rounded · · sensors · · sleeping · ◆
slingshot · · softBody · · sprites · · stack · · staticFriction · ·
stats · · stress · · stress2 · · stress3 · · timescale · ·
views · · wreckingBall · ·
where · no change ● extrinsics changed ◆ intrinsics changed
Contributors ♥︎
Many thanks to the contributors of this release, past contributors as well those involved in the community for your input and support.
▲.● matter.js 0.17.0
Release notes for 0.17.0
. See the release readme for further information.
Highlights ✺
- Added performance and stats monitoring overlays to
Matter.Render
- See the stats demo or enable render.options.showPerformance and render.options.showStats
- Stats shown include
- render frequency (e.g.
60 fps
) - engine delta time (e.g.
16.66ms
) - engine execution duration (e.g.
5.00ms
) - render execution duration (e.g.
0.40ms
) - effective play speed (e.g.
1.00x
is real-time) - various other engine internal stats for debugging
- render frequency (e.g.
- Improved documentation pages
- Added Common.setDecomp and Common.getDecomp to fix bundler issues
- Added docs for all Matter.Render options
- Migrated usage of
Matter.World
over toMatter.Composite
(more info in docs) - Migrated, deprecated and removed various old functionality (see the changelog for details)
Changes ✲
See the release compare page and the changelog for a detailed list of changes.
Comparison ⎄
Differences in behaviour, quality and performance against the previous release 0.16.1
. For more information see comparison method.
Output comparison of 37 examples against previous release matter-js@0.16.1
Similarity 100% Performance +0.00% Overlap +0.00%
airFriction · · avalanche · · ballPool · · bridge · · broadphase · · car · ·
catapult · · chains · · circleStack · · cloth · · collisionFiltering · ·
compound · · compoundStack · · constraints · · events · · friction · ·
gyro · · manipulation · · mixed · · newtonsCradle · · pyramid · ·
ragdoll · · restitution · · rounded · · sensors · · sleeping · ·
slingshot · · softBody · · sprites · · stack · · staticFriction · ·
stats · · stress · · stress2 · · timescale · · views · ·
wreckingBall · ·
where · no change ● extrinsics changed ◆ intrinsics changed
Contributors ♥︎
Many thanks to the contributors of this release, past contributors as well those involved in the community for your input and support.
▲.● matter.js 0.16.0
Release notes for 0.16.0
. See the release readme for further information.
Highlights ✺
- Changed external require method for
poly-decomp
(882e07c) - Improved
Bodies.fromVertices
decomposition quality usingremoveDuplicatePoints
(#639) - Added support for
>x.x.x
and>=x.x.x
semver ranges in plugins (0792716) - Changed demo example select background colour for Windows (matter-tools #5)
- Updated demo to use latest matter-tools (#33e8fe8)
- Updated SVG and terrain examples to use
fetch
(5551cd5)
Changes ✲
See the release compare page and the changelog for a detailed list of changes.
Comparison ⎄
Differences in behaviour, quality and performance against the previous release 0.15.0
. For more information see comparison method.
Output comparison of 41 examples against matter-js@0.15.0 build on last run
Similarity 100% Performance +0.00% Overlap +0.00%
airFriction · · avalanche · · ballPool · · bridge · · broadphase · · car · ·
catapult · · chains · · circleStack · · cloth · · collisionFiltering · ·
compositeManipulation · · compound · · compoundStack · · concave · · constraints · ·
doublePendulum · · events · · friction · · gravity · · gyro · ·
manipulation · · mixed · · newtonsCradle · · pyramid · · ragdoll · ·
raycasting · · restitution · · rounded · · sensors · · sleeping · ·
slingshot · · softBody · · sprites · · stack · · staticFriction · ·
stress · · stress2 · · timescale · · views · · wreckingBall · ·
where · no change ● extrinsics changed ◆ intrinsics changed
Contributors ♥︎
Many thanks to the contributors of this release, past contributors as well those involved in the community for your input and support.
▲.● matter.js 0.15.0
Release notes for 0.15.0
. See the release readme for further information.
Highlights ✺
- Optimised performance up to ~30% boost vs.
0.14.2
(#528) (#522) (#553) - Added
Body.setCentre
(2ec247b) - Added
Constraint.pointAWorld
andConstraint.pointBWorld
(3c32969) - Changed default colour scheme (d258411) (6dd5ec5)
- Fixed issues with decomp require (0af1645)
- Fixed issues with render pixel ratio (d577477)
Changes ✲
See the release compare page and the changelog for a detailed list of all changes.
Comparison ⎄
Differences in behaviour, quality and performance against the previous release 0.14.2
. For more information see comparison method.
Output comparison of 41 examples against matter-js@0.14.2 build on last run
Similarity 100% Performance +33.6% Overlap +0.00%
airFriction · · avalanche · · ballPool · · bridge · · broadphase · · car · ·
catapult · · chains · · circleStack · · cloth · · collisionFiltering · ·
compositeManipulation · · compound · · compoundStack · · concave · · constraints · ·
doublePendulum · · events · · friction · · gravity · · gyro · ·
manipulation · · mixed · · newtonsCradle · · pyramid · · ragdoll · ·
raycasting · · restitution · · rounded · · sensors · · sleeping · ·
slingshot · · softBody · · sprites · · stack · · staticFriction · ·
stress · · stress2 · · timescale · · views · · wreckingBall · ·
where · no change ● extrinsics changed ◆ intrinsics changed
Contributors ♥︎
Many thanks to the contributors of this release, past contributors as well those involved in the community for your input and support.