This repository has been archived by the owner on Nov 20, 2024. It is now read-only.
fix: clipping termination on same slot, always set dirty when vertex … #34
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 fixes two issues with clipping.
The first is reported here: #33 (comment)
Clipping is not correctly terminated when the clipper is clipping. The logic is now changed so that clip termination is always attempted unless the attachment is a
ClippingAttachment
.The second fix changes the condition on which
updateClippingData
set the Spine object as dirty. Currently, it sets is as dirty ifsizeChange && !cacheData.skipRender
, that means if vertices/indexes changed size andverticesCount > 0
.However, when transitioning from a positive number of vertices to 0 vertices, if we don't set the Spine object as dirty,
updateRenderable
is called and the respectiveBatchableSpineSlot
data is not updated. This means that the latest vertices are rendered for a slot that should have 0 vertices.For both cases, we can find a repro here: export.zip
For the second issue, the white square should completely disappear at the end of the jump. Currently, it remains stuck in the middle of the jump.