Repository navigation
Commit cbcde05
authored
fix(timing): a composited view keeps the transitions that do not overlap (#389)
Two ways a declared transition disappeared with nothing said about it.
**One overlapping pair disabled every transition in the view.** This is a
regression from #350: a single overlap routes the whole view through
`v2_build_composited`, which walks output frames and never builds transition
frames. The warning there only fired for a scene that itself overlaps, so a
later scene sitting clear of everything lost its fade in silence.
The composited path now emits `SlideTransition` for any pair whose only overlap
is its own declared transition. The condition took a second attempt: the first
version checked that both scenes were live at that frame, which never fires —
the whole point of a v2 transition is that the outgoing scene is rendered
*past* its own end, so it is not live there. The window is tested on its own.
Measured on the issue's reproduction, three scenes where the first two overlap
and the third declares a 1.0 s fade, sampling the centre pixel:
before after
3.2s (0,0,255) (0,246,9)
3.5s (0,0,255) (0,115,140)
3.8s (0,0,255) (0,5,250)
`(0,115,140)` at 3.5 s is exactly what the issue reports for the same two
scenes without the overlapping one in front — so the fade is not merely present,
it matches the uncomposited reference.
The existing warning is now correctly scoped: it fires only when the overlap is
*larger* than the declared transition, which is the case where the two really
cannot both describe the same frames.
**A transition on a view's first scene did nothing, silently.** A transition
belongs to the scene being entered and the first has nothing to come from. It
now warns at validate time and says where to move it — the failure mode is an
author writing the fade on the wrong scene and counting frames to find out.
Two tests. The first fails against the regression with the 30 missing
transition frames; the second pins that a scene overlapping *beyond* its own
transition still loses it, which is deliberate and stays loud.
Closes #3711 parent 97a5c95 commit cbcde05
2 files changed
Lines changed: 146 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
142 | 142 | | |
143 | 143 | | |
144 | 144 | | |
| 145 | + | |
145 | 146 | | |
146 | 147 | | |
147 | 148 | | |
| |||
254 | 255 | | |
255 | 256 | | |
256 | 257 | | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
257 | 275 | | |
258 | 276 | | |
259 | 277 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
747 | 747 | | |
748 | 748 | | |
749 | 749 | | |
750 | | - | |
| 750 | + | |
| 751 | + | |
| 752 | + | |
| 753 | + | |
| 754 | + | |
| 755 | + | |
| 756 | + | |
| 757 | + | |
| 758 | + | |
751 | 759 | | |
752 | 760 | | |
753 | 761 | | |
| |||
894 | 902 | | |
895 | 903 | | |
896 | 904 | | |
| 905 | + | |
| 906 | + | |
| 907 | + | |
| 908 | + | |
| 909 | + | |
| 910 | + | |
| 911 | + | |
| 912 | + | |
| 913 | + | |
| 914 | + | |
| 915 | + | |
| 916 | + | |
| 917 | + | |
| 918 | + | |
| 919 | + | |
| 920 | + | |
| 921 | + | |
897 | 922 | | |
898 | 923 | | |
899 | 924 | | |
900 | 925 | | |
901 | 926 | | |
| 927 | + | |
902 | 928 | | |
| 929 | + | |
903 | 930 | | |
904 | 931 | | |
905 | 932 | | |
906 | 933 | | |
907 | | - | |
| 934 | + | |
908 | 935 | | |
909 | 936 | | |
910 | 937 | | |
| |||
937 | 964 | | |
938 | 965 | | |
939 | 966 | | |
| 967 | + | |
| 968 | + | |
| 969 | + | |
| 970 | + | |
| 971 | + | |
| 972 | + | |
| 973 | + | |
| 974 | + | |
| 975 | + | |
| 976 | + | |
| 977 | + | |
| 978 | + | |
| 979 | + | |
| 980 | + | |
| 981 | + | |
| 982 | + | |
| 983 | + | |
| 984 | + | |
| 985 | + | |
| 986 | + | |
| 987 | + | |
| 988 | + | |
| 989 | + | |
| 990 | + | |
| 991 | + | |
| 992 | + | |
| 993 | + | |
| 994 | + | |
| 995 | + | |
| 996 | + | |
| 997 | + | |
| 998 | + | |
| 999 | + | |
| 1000 | + | |
| 1001 | + | |
| 1002 | + | |
| 1003 | + | |
| 1004 | + | |
| 1005 | + | |
940 | 1006 | | |
941 | 1007 | | |
942 | 1008 | | |
| |||
1702 | 1768 | | |
1703 | 1769 | | |
1704 | 1770 | | |
| 1771 | + | |
| 1772 | + | |
| 1773 | + | |
| 1774 | + | |
| 1775 | + | |
| 1776 | + | |
| 1777 | + | |
| 1778 | + | |
| 1779 | + | |
| 1780 | + | |
| 1781 | + | |
| 1782 | + | |
| 1783 | + | |
| 1784 | + | |
| 1785 | + | |
| 1786 | + | |
| 1787 | + | |
| 1788 | + | |
| 1789 | + | |
| 1790 | + | |
| 1791 | + | |
| 1792 | + | |
| 1793 | + | |
| 1794 | + | |
| 1795 | + | |
| 1796 | + | |
| 1797 | + | |
| 1798 | + | |
| 1799 | + | |
| 1800 | + | |
| 1801 | + | |
| 1802 | + | |
| 1803 | + | |
| 1804 | + | |
| 1805 | + | |
| 1806 | + | |
| 1807 | + | |
| 1808 | + | |
| 1809 | + | |
| 1810 | + | |
| 1811 | + | |
| 1812 | + | |
| 1813 | + | |
| 1814 | + | |
| 1815 | + | |
| 1816 | + | |
| 1817 | + | |
| 1818 | + | |
| 1819 | + | |
| 1820 | + | |
| 1821 | + | |
| 1822 | + | |
| 1823 | + | |
| 1824 | + | |
| 1825 | + | |
| 1826 | + | |
| 1827 | + | |
| 1828 | + | |
| 1829 | + | |
| 1830 | + | |
1705 | 1831 | | |
1706 | 1832 | | |
1707 | 1833 | | |
| |||
0 commit comments