chore: Update dependency excalibur to v0.30.1 #151
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
0.29.3
->0.30.1
Release Notes
excaliburjs/Excalibur (excalibur)
v0.30.1
Compare Source
v0.30.0
Compare Source
Breaking Changes
ex.Engine.goto(...)
removed, useex.Engine.goToScene(...)
ex.GraphicsComponent.show(...)
removed, useex.GraphicsComponent.use(...)
ex.EventDispatcher
removed, useex.EventEmitter
instead.ex.Engine.getAntialiasing()
andex.Engine.setAntialiasing(bool)
have been removed, use the engine constructor parameter to configurenew ex.Engine({antialiasing: true})
or set on the screenengine.screen.antialiasing = true
ex.Physics.*
configuration statics removed, use the engine constructor parameter to configurenew ex.Engine({physics: ...})
ex.Input.*
namespace removed and types promoted toex.*
ex.Configurable
function type used for doing dark magic to allow types to be configured by instances of that same type 💥ex.Collider
types, this previously would sometimes emit anex.Entity
if you attached to theex.ColliderComponent
ex.PreCollisionEvent
ex.PostCollisionEvent
ex.ContactStartEvent
ex.ContactEndEvent
ex.CollisionPreSolveEvent
ex.CollisionPostSolveEvent
ex.CollisionStartEvent
ex.CollisionEndEvent
System.priority
is refactored to be static.ex.Timer
now only takes the option bag constructorPreDrawEvent
,PostDrawEvent
,PreTransformDrawEvent
,PostTransformDrawEvent
,PreUpdateEvent
,PostUpdateEvent
now useelapsedMs
instead ofdelta
for the elapsed milliseconds between the last frame.460696Trigger
API has been slightly changed:action
now returns the triggering entity:(entity: Entity) => void
target
now works in conjunction withfilter
instead of overwriting it.EnterTriggerEvent
andExitTriggerEvent
now contain aentity: Entity
property instead ofactor: Actor
ex.Vector.normalize()
return zero-vector ((0,0)
) instead of(0,1)
when normalizing a vector with a magnitude of 0ex.Gif
transparent color constructor arg is removed in favor of the built in Gif file mechanismex.Particle
andex.ParticleEmitter
now have an API that looks like modern Excalibur APIsparticleSprite
is renamed tographic
particleRotationalVelocity
is renamed toangularVelocity
fadeFlag
is renamed tofade
acceleration
is renamed toacc
particleLife
is renamed tolife
minVel
is renamed tominSpeed
maxVel
is renamed tomaxSpeed
ParticleEmitter
now takes a separateparticle: ParticleConfig
parameter to disambiguate between particles parameters and emitter onesDeprecated
easeTo(...)
andeaseBy(...)
actions marked deprecated, usemoveTo({easing: ...})
insteadVector.size
is deprecated, useVector.magnitude
insteadScreenShader
v_texcoord is deprecated, use v_uv. This is changed to match the materials shader APIactor.getGlobalPos()
- useactor.globalPos
insteadactor.getGlobalRotation()
- useactor.globalRotation
insteadactor.getGlobalScale()
- useactor.globalScale
insteadAdded
ex.SpriteSheet.getTiledSprite(...)
to help pulling tiling sprites out of a sprite sheetengine.screen.drawWidth/drawHeight
withengine.screen.width/height
;ex.TiledSprite
andex.TiledAnimation
for Tiling Sprites and Animationsex.ImageSource.fromHtmlCanvasElement(image: HTMLCanvasElement, options?: ImageSourceOptions)
maxParticles
is new for GPU particles.ex.assert()
that can be used to throw in development buildseasing
option tomoveTo(...)
ex.lerpAngle(startAngleRadians: number, endAngleRadians: number, rotationType: RotationType, time: number): number
in order to lerp angles between each otherpointerenter
andpointerleave
events toex.TileMap
tiles!pointerenter
andpointerleave
events toex.IsometricMap
tiles!ex.BezierCurve
type for drawing cubic bezier curvesactor.actions.curveTo(...)
andactor.actions.curveBy(...)
ex.lerp(...)
,ex.inverseLerp(...)
, andex.remap(...)
for numbersex.lerpVector(...)
,ex.inverseLerpVector(...)
, andex.remapVector(...)
forex.Vector
actor.actions.flash(...)
Action
to flash a color for a period of timeex.NineSlice
Graphic
for creating arbitrarily resizable rectangular regions, useful for creating UI, backgrounds, and other resizable elements.ex.GraphicsComponent.forceOnScreen
ex.Slide
scene transition, which can slide a screen shot of the current screen:up
,down
,left
, orright
. Optionally you can add anex.EasingFunction
, by defaultex.EasingFunctions.Linear
ex.ImageSource.fromSvgString('<svg>...</svg>')
, note images produced this way still must be loaded..toSprite(options:? SpriteOptions)
ex.Engine
constructor had a newenableCanvasContextMenu
arg that can be used to enable the right click context menu, by default the context menu is disabled which is what most games seem to want.ex.Actor
inherits opacity of parentsex.Engine.timeScale
values of 0 are now supportedex.Trigger
now supports all valid actor constructor parameters fromex.ActorArgs
in addition toex.TriggerOptions
ex.Gif
can now handle default embedded GIF frame timingsex.Screen.worldToPagePixelRatio
API that will return the ratio between excalibur pixels and the HTML pixels.--ex-pixel-ratio
ex.coroutine(...)
ex.CoroutineInstance
is returned (still awaitable)ex.coroutine(function*(){...}, {autostart: false})
.start()
and.cancel()
coroutinesactor.oldGlobalPos
returns the globalPosition from the previous frameRentalPool
type for sparse object poolingex.SparseHashGridCollisionProcessor
which is a simpler (and faster) implementation for broadphase pair generation. This works by bucketing colliders into uniform sized square buckets and using that to generate pairs.contact.bias(collider)
. This adjusts the contact so that the given collider is colliderA, and is helpful if youare doing mtv adjustments during precollision.
angleBetween
medhod added to Vector class, to find the angle for which a vector needs to be rotated to match some given angle:Fixed
ex.ParticleEmitter.clearParticles()
did not worklastWorldPos
was not updated when the currentCamera
movedcancel()
'd events still bubbled to the top level input handlersex.Engine.screenshot()
images may not yet be loaded in time for use inex.Transition
sblockInput: true
on scene transition only blocked input events, not accessors likewasHeld(...)
etc.RendererPlugin
because the type was not exposedex.Fade
sometimes would not complete depending on the elapsed timeex.PolygonColliders
would get trapped in infinite loop for degenerate polygons (< 3 vertices)ex.Label
where setting the opacity of caused a multiplicative opacity effect when actor opacity setex.Loader
would have a low res logo on small configured resolution sizesex.Gif
was not parsing certain binary formats correctlyex.Loader
was removing pixelRatio overrideex.RasterOptions
, it now extendsex.GraphicsOptions
which is the underlying truthfilter
would not be called in hit orderex.SparseHashGridCollisionProcessor
strategyex.Engine.start('scene', { loader })
ex.Scene.onPreLoad(loader: ex.DefaultLoader)
would lock up the engine if there was an empty loaderex.Scene
scoped input events would preserve state and get stuck causing issues when switching back to the original scene.ex.Keys
including the reportedex.Keys.Tab
ex.Graphic.tint
ex.SpriteFont
did not respect scale when measuring textex.GraphicsSystem
would crash if a parent entity did not have aex.TransformComponent
canonicalizeAngle
, don't allow the result to be 2PI, now it will be in semi-open range [0..2PI)Actions
andMath
packages by movingRotationType
intoMath
package.Updates
Remove units by default from parameters
Perf improve PolygonCollider.contains(...) perf by keeping geometry tests in local space.
Perf improvement to image rendering! with ImageRendererV2! Roughly doubles the performance of image rendering
Perf improvement to retrieving components with
ex.Entity.get()
which widely improves engine performanceNon-breaking parameters that reference
delta
toelapsedMs
to better communicate intent and unitsPerf improvements to
ex.ParticleEmitter
Perf improvements to collision narrowphase and solver steps
SparseHashGridCollisionProcessor
which reduces pairs passed to narrowphasePerf Side.fromDirection(direction: Vector): Side - thanks @ikudrickiy!
Perf improvements to PointerSystem by using new spatial hash grid data structure
Perf improvements: Hot path allocations
Perf improvements to
CircleCollider
bounds calculationsSwitch from iterators to c-style loops which bring more speed
Entity
component iterationEntityManager
iterationEventEmitter
sGraphicsSystem
entity iterationPointerSystem
entity iterationPerf improvements to
GraphicsGroup
by reducing per draw allocations in bounds calculationsChanged
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.