Commit c6ffbe8
committed
fix: support split update animation starts
VChart bar update can split one diffAttrs handoff into channel subset animations.
The first fix matched the snapshot by object identity, so split planner subsets missed it.
Consume the Graphic-owned start snapshot by key while preserving stale-snapshot guards.
Constraint: Split planners replace context.diffAttrs before running each update step
Rejected: Match only original diffAttrs identity | misses valid channel subset planners
Rejected: Store VRender snapshot on consumer context | leaks internals to VChart/VGrammar
Confidence: high
Scope-risk: moderate
Directive: Keep update start snapshots on Graphic and consume them only by matching keys
Tested: vrender-animate animation-runtime-attribute targeted test
Tested: vrender-animate rushx test
Tested: vrender-core state animation and transition targeted tests
Tested: rush compile for vrender-core and vrender-animate
Tested: targeted eslint; perf smoke; git diff --check
Not-tested: VChart browser consumer smoke1 parent 53e7418 commit c6ffbe8
3 files changed
Lines changed: 99 additions & 13 deletions
File tree
- packages
- vrender-animate
- __tests__/unit
- src/custom
- vrender-core/src/graphic
Lines changed: 79 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
991 | 991 | | |
992 | 992 | | |
993 | 993 | | |
| 994 | + | |
| 995 | + | |
| 996 | + | |
| 997 | + | |
| 998 | + | |
| 999 | + | |
| 1000 | + | |
| 1001 | + | |
| 1002 | + | |
| 1003 | + | |
| 1004 | + | |
| 1005 | + | |
| 1006 | + | |
| 1007 | + | |
| 1008 | + | |
| 1009 | + | |
| 1010 | + | |
| 1011 | + | |
| 1012 | + | |
| 1013 | + | |
| 1014 | + | |
| 1015 | + | |
| 1016 | + | |
| 1017 | + | |
| 1018 | + | |
| 1019 | + | |
| 1020 | + | |
| 1021 | + | |
| 1022 | + | |
| 1023 | + | |
| 1024 | + | |
| 1025 | + | |
| 1026 | + | |
| 1027 | + | |
| 1028 | + | |
| 1029 | + | |
| 1030 | + | |
| 1031 | + | |
| 1032 | + | |
| 1033 | + | |
| 1034 | + | |
| 1035 | + | |
| 1036 | + | |
| 1037 | + | |
| 1038 | + | |
| 1039 | + | |
| 1040 | + | |
| 1041 | + | |
| 1042 | + | |
| 1043 | + | |
| 1044 | + | |
| 1045 | + | |
| 1046 | + | |
| 1047 | + | |
| 1048 | + | |
| 1049 | + | |
| 1050 | + | |
| 1051 | + | |
| 1052 | + | |
| 1053 | + | |
| 1054 | + | |
| 1055 | + | |
| 1056 | + | |
| 1057 | + | |
| 1058 | + | |
| 1059 | + | |
| 1060 | + | |
| 1061 | + | |
| 1062 | + | |
| 1063 | + | |
| 1064 | + | |
| 1065 | + | |
| 1066 | + | |
| 1067 | + | |
| 1068 | + | |
| 1069 | + | |
| 1070 | + | |
| 1071 | + | |
| 1072 | + | |
994 | 1073 | | |
995 | 1074 | | |
996 | 1075 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
66 | 66 | | |
67 | 67 | | |
68 | 68 | | |
69 | | - | |
70 | 69 | | |
71 | 70 | | |
72 | 71 | | |
73 | 72 | | |
74 | 73 | | |
75 | 74 | | |
76 | | - | |
77 | | - | |
78 | | - | |
| 75 | + | |
79 | 76 | | |
80 | 77 | | |
81 | 78 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1343 | 1343 | | |
1344 | 1344 | | |
1345 | 1345 | | |
1346 | | - | |
1347 | | - | |
1348 | | - | |
1349 | | - | |
| 1346 | + | |
| 1347 | + | |
| 1348 | + | |
| 1349 | + | |
| 1350 | + | |
| 1351 | + | |
| 1352 | + | |
| 1353 | + | |
1350 | 1354 | | |
1351 | 1355 | | |
1352 | 1356 | | |
| |||
1371 | 1375 | | |
1372 | 1376 | | |
1373 | 1377 | | |
1374 | | - | |
1375 | | - | |
1376 | | - | |
1377 | | - | |
| 1378 | + | |
1378 | 1379 | | |
1379 | | - | |
| 1380 | + | |
| 1381 | + | |
1380 | 1382 | | |
1381 | 1383 | | |
| 1384 | + | |
| 1385 | + | |
| 1386 | + | |
| 1387 | + | |
| 1388 | + | |
| 1389 | + | |
| 1390 | + | |
| 1391 | + | |
1382 | 1392 | | |
1383 | 1393 | | |
1384 | 1394 | | |
| |||
0 commit comments