Conversation
The ensureRectMarkFinalAttributes method was only patching rect/rect3d graphics. Line, area, and polygon graphics also need the getFinalAttribute fallback when using growPoints animations (growPointsXIn/growPointsYIn), which access graphic.getFinalAttribute().points. Renamed to ensureMarkFinalAttributes and removed the type restriction so the patch applies to all graphic types universally. Added a test for the line graphic case. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
0ace313 to
92a2bcf
Compare
Contributor
There was a problem hiding this comment.
Pull request overview
Generalizes the getFinalAttribute() fallback patching so non-rect marks (e.g., line) don’t crash when running growPoints* appear animations.
Changes:
- Apply
getFinalAttribute()fallback patching to all mark graphic types (not justrect/rect3d) - Rename
ensureRectMarkFinalAttributes→ensureMarkFinalAttributesand update call sites - Add a unit test covering the line-mark /
growPointsYInscenario
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| packages/vstory-player/src/processor/chart/visibility.ts | Generalizes the recursive getFinalAttribute() fallback patch to all mark products/children before executing appear animations. |
| packages/vstory-player/tests/unit/index.test.ts | Adds a regression test ensuring line graphics get patched so getFinalAttribute() returns an object with points. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
xuefei1313
approved these changes
Apr 13, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Problem
Line charts using the
growPointsanimation effect crash with:This happens because
getFinalAttribute()returnsundefinedfor line graphics, and the VRender animation code (growPointsYIn/growPointsXIn) accesses.pointson the result without null-checking.Root Cause
The
ensureRectMarkFinalAttributesmethod (introduced in PR #300) only patchedrectandrect3dgraphics with agetFinalAttribute()fallback. Line, area, and polygon graphics were not covered, causinggrowPointsanimations to crash.Fix
ensureRectMarkFinalAttributes→ensureMarkFinalAttributesgetFinalAttribute()fallback patch applies to all graphic typesgraphic.attributewhengetFinalAttribute()returns null/undefinedChanges
packages/vstory-player/src/processor/chart/visibility.ts: Generalized patching to all mark typespackages/vstory-player/__tests__/unit/index.test.ts: Added test for line graphic case