Commit 1af67d5
committed
fix: capture update starts without context
setAttributesAndPreventAnimate may run before consumers attach context.diffAttrs.
It still overwrites transient attributes with final update values.
Capture the pre-handoff frame from submitted attrs when no context diff exists.
Update can later consume the same key/value target instead of reading final attribute.
Constraint: VChart update can call prevent-animate before attaching diffAttrs
Rejected: Require consumers to attach diffAttrs first | leaks VRender ordering
Rejected: Read starts from baseAttributes | breaks interrupted transient handoff
Confidence: high
Scope-risk: narrow
Directive: Keep update start snapshots Graphic-owned and transient-only
Tested: vrender-animate targeted regression red then green
Tested: vrender-animate rushx test
Tested: vrender-core state animation and transition targeted tests
Tested: rush compile for vrender-core and vrender-animate
Tested: vrender-core eslint; animation perf smoke; git diff --check
Not-tested: VChart browser consumer smoke1 parent c6ffbe8 commit 1af67d5
2 files changed
Lines changed: 57 additions & 3 deletions
File tree
- packages
- vrender-animate/__tests__/unit
- vrender-core/src/graphic
Lines changed: 56 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
2 | 9 | | |
3 | 10 | | |
4 | 11 | | |
5 | 12 | | |
| 13 | + | |
6 | 14 | | |
7 | 15 | | |
8 | 16 | | |
| |||
1070 | 1078 | | |
1071 | 1079 | | |
1072 | 1080 | | |
| 1081 | + | |
| 1082 | + | |
| 1083 | + | |
| 1084 | + | |
| 1085 | + | |
| 1086 | + | |
| 1087 | + | |
| 1088 | + | |
| 1089 | + | |
| 1090 | + | |
| 1091 | + | |
| 1092 | + | |
| 1093 | + | |
| 1094 | + | |
| 1095 | + | |
| 1096 | + | |
| 1097 | + | |
| 1098 | + | |
| 1099 | + | |
| 1100 | + | |
| 1101 | + | |
| 1102 | + | |
| 1103 | + | |
| 1104 | + | |
| 1105 | + | |
| 1106 | + | |
| 1107 | + | |
| 1108 | + | |
| 1109 | + | |
| 1110 | + | |
| 1111 | + | |
| 1112 | + | |
| 1113 | + | |
| 1114 | + | |
| 1115 | + | |
| 1116 | + | |
| 1117 | + | |
| 1118 | + | |
| 1119 | + | |
| 1120 | + | |
| 1121 | + | |
| 1122 | + | |
| 1123 | + | |
| 1124 | + | |
| 1125 | + | |
| 1126 | + | |
| 1127 | + | |
1073 | 1128 | | |
1074 | 1129 | | |
1075 | 1130 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1329 | 1329 | | |
1330 | 1330 | | |
1331 | 1331 | | |
1332 | | - | |
| 1332 | + | |
1333 | 1333 | | |
1334 | 1334 | | |
1335 | 1335 | | |
1336 | | - | |
1337 | 1336 | | |
1338 | 1337 | | |
1339 | 1338 | | |
| |||
0 commit comments