Merge pull request #15693 from sabrina-shanman/bug_avatar_res-state

(BUGZ-559) Improve transition debugging and transition clean-up
This commit is contained in:
Sam Gateau 2019-06-06 16:35:04 -07:00 committed by GitHub
commit 4c18ce7ae6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
11 changed files with 276 additions and 115 deletions

View file

@ -1,52 +1,171 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 1600 100" style="enable-background:new 0 0 1600 100;" xml:space="preserve">
<style type="text/css">
.st0{fill:#FFFFFF;}
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Generator: Adobe Illustrator 23.0.4, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
id="Layer_1"
x="0px"
y="0px"
viewBox="0 0 1600 100"
style="enable-background:new 0 0 1600 100;"
xml:space="preserve"
sodipodi:docname="statusIconAtlas.svg"
inkscape:version="0.92.3 (2405546, 2018-03-11)"><metadata
id="metadata35"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
id="defs33" />
<style
type="text/css"
id="style2">
.st0{fill:#050505;}
</style>
<path class="st0" d="M92.8,69.3c-0.8-1.5-1.9-2.7-3.1-3.8c4.4-11.4,3.7-24.6-2.6-35.8c-9.2-16.3-28.3-24.4-46.3-20l-3.1,0.7l4.9,8.7
l1.7-0.3c13.7-2.7,27.6,3.6,34.5,15.7c4.9,8.7,5.5,18.9,1.9,27.9c-2.1,0.1-4.3,0.6-6.2,1.8c-6.5,3.7-8.8,12-5.1,18.5
c3.7,6.5,12,8.8,18.5,5.1C94.2,84.1,96.5,75.8,92.8,69.3z"/>
<path class="st0" d="M54.2,82.6l-1.5,0.1c-12.3,0.8-24.2-5.6-30.2-16.3c-3.8-6.6-4.9-14.2-3.7-21.3c2.8,0.4,5.9-0.1,8.6-1.6
c6.5-3.7,8.8-12,5.1-18.5s-12-8.8-18.5-5.1C7.7,23.7,5.4,32,9,38.5c0.3,0.6,0.7,1.2,1.2,1.7c-2.6,10.3-1.4,21.5,4.1,31.1
c7.5,13.2,21.5,21.2,36.5,21.2c1.8,0,3.5-0.1,5.2-0.3l3.6-0.4L54.2,82.6z"/>
<path class="st0" d="M67.2,63.4H33.8c-1,0-2.1-0.5-2.6-1.5c-0.5-0.9-0.5-2.1,0-3L47.8,30c0.5-0.9,1.6-1.5,2.6-1.5S52.5,29,53,30
l16.7,28.9c0.5,0.9,0.5,2.1,0,3C69.3,62.9,68.3,63.4,67.2,63.4z M39,57.4h23L50.4,37.5L39,57.4z"/>
<polygon class="st0" points="175.4,30.6 149.9,8 123.9,30.7 139,30.7 139.2,59.6 161,59.3 160.8,30.7 "/>
<polygon class="st0" points="225.6,39.8 251.1,62.5 277.1,39.8 261.9,39.8 261.7,8.9 240,9.2 240.2,39.8 "/>
<path class="st0" d="M174.3,42.8c1.8,3.7,2.8,7.8,2.8,12.1c0,15.2-12.3,27.5-27.5,27.5s-27.5-12.3-27.5-27.5c0-4.4,1-8.5,2.9-12.1
h-7.9c-1.4,3.8-2.2,7.8-2.2,12.1c0,19.2,15.6,34.7,34.7,34.7c19.2,0,34.7-15.6,34.7-34.7c0-4.3-0.8-8.3-2.2-12.1
C182.1,42.8,174.3,42.8,174.3,42.8z"/>
<path class="st0" d="M278.8,53c0.1,0.7,0.1,1.5,0.1,2.2c0,15.2-12.4,27.6-27.6,27.6c-15.2,0-27.6-12.4-27.6-27.6
c0-1.1,0.1-2.1,0.2-3.1c-2.1-2.1-4.1-4.1-6.2-6.2c-0.8,3-1.3,6.1-1.3,9.3c0,19.2,15.6,34.9,34.9,34.9s34.9-15.6,34.9-34.9
c0-2.9-0.4-5.8-1.1-8.5L278.8,53z"/>
<path class="st0" d="M353.3,91.2c-0.3,0-0.7,0-1,0c-1.8-0.2-3.5-0.4-5.3-0.7c-21.3-3.6-35.2-22.8-32-44.2
c2.7-18.2,17.7-31.4,36.8-32.5c17.2-0.9,33.8,11.4,38.2,28.5c0.8,3.1,1.1,6.3,1.6,9.5c0,0.3,0,0.7,0,1c-0.2,0.9-0.4,1.8-0.5,2.7
c-1.3,16.3-12.9,30.1-28.8,34C359.3,90.4,356.3,90.7,353.3,91.2z M353.7,83.9c8.3,0,16.1-3.4,22.6-9.9c2.2-2.2,2-3.1-0.7-4.5
c-3.9-1.9-7.8-3.7-11.7-5.6c-4-2-4.6-8.1-1.1-10.8c2-1.5,2.4-3.7,2.1-5.9c-0.2-1.8-1-3.5-1.2-5.3c-0.6-6-5.2-10.2-11.1-10.1
s-10.4,4.8-10.6,10.9c-0.1,1.4-0.4,2.8-0.9,4.1c-0.6,1.9,0.1,4.9,1.7,6.3c3.8,3.1,3.1,9-1.4,11.2c-3.6,1.7-7.2,3.4-10.8,5.2
c-3.4,1.6-3.6,2.5-0.8,5.1C336.2,80.6,343.8,83.9,353.7,83.9z"/>
<polygon class="st0" points="445.3,14.1 484.6,14.1 461.5,38.2 485.6,41.4 422.2,86.9 441.2,53.4 425.6,49.3 "/>
<path class="st0" d="M564.7,53.2l0.1-8.7l-22.9-0.2c0.1-0.5,0.2-1.1,0.2-1.6c0.2-6.1,4.7-10.8,10.6-10.9c5.9-0.1,10.5,4.1,11.1,10.1
c0.1,0.9,0.3,1.7,0.6,2.6l26.7,0.2c-3.3-17.9-19-31.4-37.9-31.4c-18.6,0-34.2,13.2-37.8,30.8l26.4,0.2l0,0l-0.9,0l-0.1,8.7
l-26.2-0.2c0.5,20.8,17.5,37.6,38.5,37.6c20.7,0,37.6-16.4,38.5-36.9L564.7,53.2z M576.3,74c-6.5,6.5-14.3,9.9-22.6,9.9
c-9.9,0-17.5-3.3-23.9-9.3c-2.8-2.6-2.6-3.5,0.8-5.1c3.6-1.8,7.2-3.5,10.8-5.2c4.5-2.2,5.2-8.1,1.4-11.2c0,0-0.1-0.1-0.1-0.1l20,0.2
c-3.4,2.7-2.8,8.7,1.2,10.7c3.9,1.9,7.8,3.7,11.7,5.6C578.3,70.9,578.5,71.8,576.3,74z"/>
<g>
<path class="st0" d="M638.5,48.2c-1.2-1-2.3-2.2-3.2-3.5h-16.7v9.2h29.1c-1.4-0.6-2.6-1.3-4-2.2C641.6,50.4,640.3,49.7,638.5,48.2z
"/>
<path class="st0" d="M684.9,44.7h-31.3c1,0.5,2.1,1,3.2,1.5c2.2,1,3.5,1.8,5.6,3.1c2.1,1.3,4.2,2.3,6,3.8c0.4,0.3,0.7,0.6,1,0.9
h15.5V44.7z"/>
<path class="st0" d="M651.5,44.2c-1.4-0.7-2.6-1.4-3.6-2.2c-1.1-0.8-1.9-1.7-2.5-2.8c-0.6-1-0.9-2.2-0.9-3.7c0-2.1,0.7-3.8,2-5.1
c1.3-1.3,3.2-2,5.7-2c1.1,0,2.2,0.1,3.2,0.4c1,0.3,1.9,0.8,2.7,1.4c0.8,0.7,1.5,1.6,2,2.7c0.5,1.1,0.9,2.5,1.1,4.2h7.4
c0.2,0,0.5,0,0.9,0c0.4,0,0.9,0,1.3,0c0.5,0,0.9,0,1.3,0c0.4,0,0.7,0,0.9,0c-0.1-3.3-0.7-6.1-1.8-8.5s-2.5-4.4-4.4-5.9
c-1.9-1.5-4-2.7-6.5-3.4c-2.5-0.7-5.1-1.1-8-1.1c-2.6,0-5,0.4-7.4,1.1c-2.4,0.7-4.4,1.8-6.3,3.2c-1.8,1.4-3.3,3.2-4.3,5.3
c-1.1,2.1-1.6,4.6-1.6,7.6c0,3,0.6,5.5,1.7,7.5c0.3,0.6,0.7,1.2,1.1,1.8h17.3C652.2,44.5,651.9,44.3,651.5,44.2z"/>
<path class="st0" d="M651.1,55c1.5,0.7,2.9,1.3,4.2,1.9s2.6,1.3,3.6,2.1c1,0.8,1.9,1.7,2.5,2.8s0.9,2.4,0.9,4c0,1.7-0.3,3.2-1,4.3
c-0.7,1.1-1.5,2-2.5,2.7c-1,0.7-2.1,1.1-3.3,1.4c-1.2,0.3-2.4,0.4-3.5,0.4c-1.3,0-2.5-0.2-3.7-0.7c-1.1-0.4-2.1-1.2-2.9-2.1
c-0.8-1-1.5-2.3-2-3.8c-0.5-1.6-0.8-3.5-0.8-5.7h-12.1c0.1,3.7,0.8,7,1.9,9.8c1.2,2.8,2.7,5.2,4.7,7c1.9,1.9,4.2,3.3,6.7,4.2
s5.3,1.4,8.1,1.4c2.9,0,5.8-0.4,8.4-1.1c2.7-0.7,5-1.9,7.1-3.5c2-1.6,3.7-3.6,4.9-6.1s1.8-5.5,1.8-9.1c0-2.6-0.5-4.9-1.6-6.8
c-0.9-1.5-2-2.9-3.3-4.1h-20.7C649.5,54.3,650.3,54.6,651.1,55z"/>
<sodipodi:namedview
bordercolor="#666666"
borderopacity="1"
gridtolerance="10"
guidetolerance="10"
id="namedview82"
inkscape:current-layer="Layer_1"
inkscape:cx="618.02971"
inkscape:cy="163.62366"
inkscape:pagecheckerboard="true"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-height="1017"
inkscape:window-maximized="1"
inkscape:window-width="1920"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:zoom="1.003678"
objecttolerance="10"
pagecolor="#000000"
showgrid="true">
<inkscape:grid
color="#3fffff"
empcolor="#3fffff"
empopacity="0.51764706"
empspacing="100"
id="grid3791"
opacity="0.62745098"
type="xygrid"
visible="true">
</inkscape:grid>
<inkscape:grid
enabled="false"
id="grid3793"
type="xygrid" />
</sodipodi:namedview>
<path
id="path51"
class="st0"
d="M92.8,69.3c-0.8-1.5-1.9-2.7-3.1-3.8c4.4-11.4,3.7-24.6-2.6-35.8c-9.2-16.3-28.3-24.4-46.3-20 l-3.1,0.7l4.9,8.7l1.7-0.3c13.7-2.7,27.6,3.6,34.5,15.7c4.9,8.7,5.5,18.9,1.9,27.9c-2.1,0.1-4.3,0.6-6.2,1.8 c-6.5,3.7-8.8,12-5.1,18.5c3.7,6.5,12,8.8,18.5,5.1C94.2,84.1,96.5,75.8,92.8,69.3z"
style="fill:#ffffff" />
<path
id="path53"
class="st0"
d="M54.2,82.6l-1.5,0.1c-12.3,0.8-24.2-5.6-30.2-16.3c-3.8-6.6-4.9-14.2-3.7-21.3 c2.8,0.4,5.9-0.1,8.6-1.6c6.5-3.7,8.8-12,5.1-18.5s-12-8.8-18.5-5.1C7.7,23.7,5.4,32,9,38.5c0.3,0.6,0.7,1.2,1.2,1.7 c-2.6,10.3-1.4,21.5,4.1,31.1c7.5,13.2,21.5,21.2,36.5,21.2c1.8,0,3.5-0.1,5.2-0.3l3.6-0.4L54.2,82.6z"
style="fill:#ffffff" />
<path
id="path55"
class="st0"
d="M67.2,63.4H33.8c-1,0-2.1-0.5-2.6-1.5c-0.5-0.9-0.5-2.1,0-3L47.8,30c0.5-0.9,1.6-1.5,2.6-1.5 S52.5,29,53,30l16.7,28.9c0.5,0.9,0.5,2.1,0,3C69.3,62.9,68.3,63.4,67.2,63.4z M39,57.4h23L50.4,37.5L39,57.4z"
style="fill:#ffffff" />
<polygon
id="polygon57"
class="st0"
points="175.4,30.6 149.9,8 123.9,30.7 139,30.7 139.2,59.6 161,59.3 160.8,30.7 "
style="fill:#ffffff" />
<polygon
id="polygon59"
class="st0"
points="225.6,39.8 251.1,62.5 277.1,39.8 261.9,39.8 261.7,8.9 240,9.2 240.2,39.8 "
style="fill:#ffffff" />
<path
id="path61"
class="st0"
d="M174.3,42.8c1.8,3.7,2.8,7.8,2.8,12.1c0,15.2-12.3,27.5-27.5,27.5s-27.5-12.3-27.5-27.5 c0-4.4,1-8.5,2.9-12.1h-7.9c-1.4,3.8-2.2,7.8-2.2,12.1c0,19.2,15.6,34.7,34.7,34.7c19.2,0,34.7-15.6,34.7-34.7 c0-4.3-0.8-8.3-2.2-12.1C182.1,42.8,174.3,42.8,174.3,42.8z"
style="fill:#ffffff" />
<path
id="path63"
class="st0"
d="M278.8,53c0.1,0.7,0.1,1.5,0.1,2.2c0,15.2-12.4,27.6-27.6,27.6c-15.2,0-27.6-12.4-27.6-27.6 c0-1.1,0.1-2.1,0.2-3.1c-2.1-2.1-4.1-4.1-6.2-6.2c-0.8,3-1.3,6.1-1.3,9.3c0,19.2,15.6,34.9,34.9,34.9s34.9-15.6,34.9-34.9 c0-2.9-0.4-5.8-1.1-8.5L278.8,53z"
style="fill:#ffffff" />
<path
id="path65"
class="st0"
d="M353.3,91.2c-0.3,0-0.7,0-1,0c-1.8-0.2-3.5-0.4-5.3-0.7c-21.3-3.6-35.2-22.8-32-44.2 c2.7-18.2,17.7-31.4,36.8-32.5c17.2-0.9,33.8,11.4,38.2,28.5c0.8,3.1,1.1,6.3,1.6,9.5c0,0.3,0,0.7,0,1c-0.2,0.9-0.4,1.8-0.5,2.7 c-1.3,16.3-12.9,30.1-28.8,34C359.3,90.4,356.3,90.7,353.3,91.2z M353.7,83.9c8.3,0,16.1-3.4,22.6-9.9c2.2-2.2,2-3.1-0.7-4.5 c-3.9-1.9-7.8-3.7-11.7-5.6c-4-2-4.6-8.1-1.1-10.8c2-1.5,2.4-3.7,2.1-5.9c-0.2-1.8-1-3.5-1.2-5.3c-0.6-6-5.2-10.2-11.1-10.1 s-10.4,4.8-10.6,10.9c-0.1,1.4-0.4,2.8-0.9,4.1c-0.6,1.9,0.1,4.9,1.7,6.3c3.8,3.1,3.1,9-1.4,11.2c-3.6,1.7-7.2,3.4-10.8,5.2 c-3.4,1.6-3.6,2.5-0.8,5.1C336.2,80.6,343.8,83.9,353.7,83.9z"
style="fill:#ffffff" />
<polygon
id="polygon67"
class="st0"
points="445.3,14.1 484.6,14.1 461.5,38.2 485.6,41.4 422.2,86.9 441.2,53.4 425.6,49.3 "
style="fill:#ffffff" />
<path
id="path69"
class="st0"
d="M564.7,53.2l0.1-8.7l-22.9-0.2c0.1-0.5,0.2-1.1,0.2-1.6c0.2-6.1,4.7-10.8,10.6-10.9 c5.9-0.1,10.5,4.1,11.1,10.1c0.1,0.9,0.3,1.7,0.6,2.6l26.7,0.2c-3.3-17.9-19-31.4-37.9-31.4c-18.6,0-34.2,13.2-37.8,30.8l26.4,0.2 l0,0h-0.9l-0.1,8.7l-26.2-0.2c0.5,20.8,17.5,37.6,38.5,37.6c20.7,0,37.6-16.4,38.5-36.9L564.7,53.2z M576.3,74 c-6.5,6.5-14.3,9.9-22.6,9.9c-9.9,0-17.5-3.3-23.9-9.3c-2.8-2.6-2.6-3.5,0.8-5.1c3.6-1.8,7.2-3.5,10.8-5.2c4.5-2.2,5.2-8.1,1.4-11.2 l-0.1-0.1l20,0.2c-3.4,2.7-2.8,8.7,1.2,10.7c3.9,1.9,7.8,3.7,11.7,5.6C578.3,70.9,578.5,71.8,576.3,74z"
style="fill:#ffffff" />
<g
id="g79"
style="fill:#ffffff">
<path
id="path71"
class="st0"
d="M638.5,48.2c-1.2-1-2.3-2.2-3.2-3.5h-16.7v9.2h29.1c-1.4-0.6-2.6-1.3-4-2.2 C641.6,50.4,640.3,49.7,638.5,48.2z"
style="fill:#ffffff" />
<path
id="path73"
class="st0"
d="M684.9,44.7h-31.3c1,0.5,2.1,1,3.2,1.5c2.2,1,3.5,1.8,5.6,3.1s4.2,2.3,6,3.8 c0.4,0.3,0.7,0.6,1,0.9h15.5V44.7z"
style="fill:#ffffff" />
<path
id="path75"
class="st0"
d="M651.5,44.2c-1.4-0.7-2.6-1.4-3.6-2.2c-1.1-0.8-1.9-1.7-2.5-2.8c-0.6-1-0.9-2.2-0.9-3.7 c0-2.1,0.7-3.8,2-5.1c1.3-1.3,3.2-2,5.7-2c1.1,0,2.2,0.1,3.2,0.4s1.9,0.8,2.7,1.4c0.8,0.7,1.5,1.6,2,2.7s0.9,2.5,1.1,4.2h7.4 c0.2,0,0.5,0,0.9,0s0.9,0,1.3,0c0.5,0,0.9,0,1.3,0c0.4,0,0.7,0,0.9,0c-0.1-3.3-0.7-6.1-1.8-8.5s-2.5-4.4-4.4-5.9s-4-2.7-6.5-3.4 c-2.5-0.7-5.1-1.1-8-1.1c-2.6,0-5,0.4-7.4,1.1s-4.4,1.8-6.3,3.2c-1.8,1.4-3.3,3.2-4.3,5.3c-1.1,2.1-1.6,4.6-1.6,7.6 s0.6,5.5,1.7,7.5c0.3,0.6,0.7,1.2,1.1,1.8h17.3C652.2,44.5,651.9,44.3,651.5,44.2z"
style="fill:#ffffff" />
<path
id="path77"
class="st0"
d="M651.1,55c1.5,0.7,2.9,1.3,4.2,1.9s2.6,1.3,3.6,2.1s1.9,1.7,2.5,2.8s0.9,2.4,0.9,4 c0,1.7-0.3,3.2-1,4.3c-0.7,1.1-1.5,2-2.5,2.7s-2.1,1.1-3.3,1.4s-2.4,0.4-3.5,0.4c-1.3,0-2.5-0.2-3.7-0.7c-1.1-0.4-2.1-1.2-2.9-2.1 c-0.8-1-1.5-2.3-2-3.8c-0.5-1.6-0.8-3.5-0.8-5.7h-12.1c0.1,3.7,0.8,7,1.9,9.8c1.2,2.8,2.7,5.2,4.7,7c1.9,1.9,4.2,3.3,6.7,4.2 s5.3,1.4,8.1,1.4c2.9,0,5.8-0.4,8.4-1.1c2.7-0.7,5-1.9,7.1-3.5c2-1.6,3.7-3.6,4.9-6.1s1.8-5.5,1.8-9.1c0-2.6-0.5-4.9-1.6-6.8 c-0.9-1.5-2-2.9-3.3-4.1h-20.7C649.5,54.3,650.3,54.6,651.1,55z"
style="fill:#ffffff" />
</g>
</svg>
<path
class="st0"
d="m 728.1,80.1 c -1.9,0 -3.6,0.9 -4.7,2.4 -5.3,-2 -9.1,-7.1 -9.1,-13.1 0,-7.8 6.3,-14.1 14.1,-14.1 1.3,0 2.4,-1.1 2.4,-2.4 0,-1.3 -1.1,-2.4 -2.4,-2.4 -10.4,0 -18.9,8.5 -18.9,18.9 0,8.4 5.5,15.5 13,17.9 0.6,2.5 2.9,4.3 5.6,4.3 3.2,0 5.8,-2.6 5.8,-5.8 0,-3.1 -2.6,-5.7 -5.8,-5.7 z m 50.1,-66.4 c -0.6,-2.5 -2.9,-4.3 -5.6,-4.3 -3.2,0 -5.8,2.6 -5.8,5.8 0,3.2 2.6,5.8 5.8,5.8 1.9,0 3.6,-0.9 4.7,-2.4 5.3,2 9.1,7.1 9.1,13.1 0,7.8 -6.3,14.1 -14.1,14.1 -1.3,0 -2.4,1.1 -2.4,2.4 0,1.3 1.1,2.4 2.4,2.4 10.4,0 18.9,-8.5 18.9,-18.9 0,-8.5 -5.5,-15.5 -13,-18 z M 750.4,34 c -9.1,0 -16.5,7.4 -16.5,16.5 0,9.1 7.4,16.5 16.5,16.5 9.1,0 16.5,-7.4 16.5,-16.5 0,-9.1 -7.4,-16.5 -16.5,-16.5 z"
id="path22"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
class="st0"
d="m 820.6,37.6 c 0,3.2 2.7,5.9 5.9,5.9 3.2,0 5.9,-2.7 5.9,-5.9 V 25.4 h 10.1 l -16,-16 -16,16 h 10.1 z m 8.4,42.5 c -1.9,0 -3.6,0.9 -4.7,2.4 -5.3,-2 -9.1,-7.1 -9.1,-13.1 0,-7.8 6.3,-14.1 14.1,-14.1 1.3,0 2.4,-1.1 2.4,-2.4 0,-1.3 -1.1,-2.4 -2.4,-2.4 -10.4,0 -18.9,8.5 -18.9,18.9 0,8.4 5.5,15.5 13,17.9 0.6,2.5 2.9,4.3 5.6,4.3 3.2,0 5.8,-2.6 5.8,-5.8 0,-3.2 -2.6,-5.7 -5.8,-5.7 z M 851.2,34 c -9.1,0 -16.5,7.4 -16.5,16.5 0,9.1 7.4,16.5 16.5,16.5 9.1,0 16.5,-7.4 16.5,-16.5 0,-9.1 -7.4,-16.5 -16.5,-16.5 z M 879,13.7 c -0.6,-2.5 -2.9,-4.3 -5.6,-4.3 -3.2,0 -5.8,2.6 -5.8,5.8 0,3.2 2.6,5.8 5.8,5.8 1.9,0 3.6,-0.9 4.7,-2.4 5.3,2 9.1,7.1 9.1,13.1 0,7.8 -6.3,14.1 -14.1,14.1 -1.3,0 -2.4,1.1 -2.4,2.4 0,1.3 1.1,2.4 2.4,2.4 10.4,0 18.9,-8.5 18.9,-18.9 0,-8.5 -5.4,-15.5 -13,-18 z"
id="path24"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
class="st0"
d="m 970.5,20.9 c 1.9,0 3.6,-0.9 4.7,-2.4 5.3,2 9.1,7.1 9.1,13.1 0,7.8 -6.3,14.1 -14.1,14.1 -1.3,0 -2.4,1.1 -2.4,2.4 0,1.3 1.1,2.4 2.4,2.4 10.4,0 18.9,-8.5 18.9,-18.9 0,-8.4 -5.5,-15.5 -13,-17.9 -0.6,-2.5 -2.9,-4.3 -5.6,-4.3 -3.2,0 -5.8,2.6 -5.8,5.8 0,3.2 2.6,5.7 5.8,5.7 z m -44.4,59.2 c -1.9,0 -3.6,0.9 -4.7,2.4 -5.3,-2 -9.1,-7.1 -9.1,-13.1 0,-7.8 6.3,-14.1 14.1,-14.1 1.3,0 2.4,-1.1 2.4,-2.4 0,-1.3 -1.1,-2.4 -2.4,-2.4 -10.4,0 -18.9,8.5 -18.9,18.9 0,8.4 5.5,15.5 13,17.9 0.6,2.5 2.9,4.3 5.6,4.3 3.2,0 5.8,-2.6 5.8,-5.8 -0.1,-3.1 -2.7,-5.7 -5.8,-5.7 z m 38.7,-29.6 c 0,-9.1 -7.4,-16.5 -16.5,-16.5 -9.1,0 -16.5,7.4 -16.5,16.5 0,9.1 7.4,16.5 16.5,16.5 9.1,0 16.5,-7.4 16.5,-16.5 z m 14.1,12.9 c 0,-3.2 -2.7,-5.9 -5.9,-5.9 -3.2,0 -5.9,2.7 -5.9,5.9 V 75.6 H 957 l 16,16 16,-16 h -10.1 z"
id="path26"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
class="st0"
d="m 1020.2,37.6 c 0,3.2 2.7,5.9 5.9,5.9 3.2,0 5.9,-2.7 5.9,-5.9 V 25.4 h 10.1 l -16,-16 -16,16 h 10.1 z m 47.1,12.9 c 0,-9.1 -7.4,-16.5 -16.5,-16.5 -9.1,0 -16.5,7.4 -16.5,16.5 0,6.3 3.5,11.8 8.7,14.5 -4,3.7 -6.6,10 -6.6,17.3 0,0 0.6,-6 14.3,-6 13.7,0 14.3,6 14.3,6 0,-7.3 -2.6,-13.6 -6.6,-17.3 5.4,-2.7 8.9,-8.2 8.9,-14.5 z m 11.3,-36.8 c -0.6,-2.5 -2.9,-4.3 -5.6,-4.3 -3.2,0 -5.8,2.6 -5.8,5.8 0,3.2 2.6,5.8 5.8,5.8 1.9,0 3.6,-0.9 4.7,-2.4 5.3,2 9.1,7.1 9.1,13.1 0,7.8 -6.3,14.1 -14.1,14.1 -1.3,0 -2.4,1.1 -2.4,2.4 0,1.3 1.1,2.4 2.4,2.4 10.4,0 18.9,-8.5 18.9,-18.9 0,-8.5 -5.4,-15.5 -13,-18 z m -50,66.4 c -1.9,0 -3.6,0.9 -4.7,2.4 -5.3,-2 -9.1,-7.1 -9.1,-13.1 0,-7.8 6.3,-14.1 14.1,-14.1 1.3,0 2.4,-1.1 2.4,-2.4 0,-1.3 -1.1,-2.4 -2.4,-2.4 -10.4,0 -18.9,8.5 -18.9,18.9 0,8.4 5.5,15.5 13,17.9 0.6,2.5 2.9,4.3 5.6,4.3 3.2,0 5.8,-2.6 5.8,-5.8 0,-3.2 -2.6,-5.7 -5.8,-5.7 z"
id="path28"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
class="st0"
d="m 1180.3,63.4 c 0,-3.2 -2.7,-5.9 -5.9,-5.9 -3.2,0 -5.9,2.7 -5.9,5.9 v 12.2 h -5.3 c -1.1,-4.4 -3.1,-8.1 -5.8,-10.5 5.2,-2.8 8.7,-8.2 8.7,-14.5 0,-9.1 -7.4,-16.5 -16.5,-16.5 -9.1,0 -16.5,7.4 -16.5,16.5 0,6.3 3.5,11.8 8.7,14.5 -4,3.7 -6.6,10 -6.6,17.3 0,0 0.6,-6 14.3,-6 13.7,0 14.3,6 14.3,6 0,-0.4 0,-0.8 0,-1.2 l 10.5,10.5 16,-16 h -10.1 V 63.4 Z m -8.4,-42.5 c 1.9,0 3.6,-0.9 4.7,-2.4 5.3,2 9.1,7.1 9.1,13.1 0,7.8 -6.3,14.1 -14.1,14.1 -1.3,0 -2.4,1.1 -2.4,2.4 0,1.3 1.1,2.4 2.4,2.4 10.4,0 18.9,-8.5 18.9,-18.9 0,-8.4 -5.5,-15.5 -13,-17.9 -0.6,-2.5 -2.9,-4.3 -5.6,-4.3 -3.2,0 -5.8,2.6 -5.8,5.8 0,3.2 2.7,5.7 5.8,5.7 z m -44.4,59.2 c -1.9,0 -3.6,0.9 -4.7,2.4 -5.3,-2 -9.1,-7.1 -9.1,-13.1 0,-7.8 6.3,-14.1 14.1,-14.1 1.3,0 2.4,-1.1 2.4,-2.4 0,-1.3 -1.1,-2.4 -2.4,-2.4 -10.4,0 -18.9,8.5 -18.9,18.9 0,8.4 5.5,15.5 13,17.9 0.6,2.5 2.9,4.3 5.6,4.3 3.2,0 5.8,-2.6 5.8,-5.8 -0.1,-3.1 -2.7,-5.7 -5.8,-5.7 z"
id="path30"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
</svg>

Before

Width:  |  Height:  |  Size: 4.7 KiB

After

Width:  |  Height:  |  Size: 11 KiB

View file

@ -597,7 +597,7 @@ void AvatarManager::handleRemovedAvatar(const AvatarSharedPointer& removedAvatar
avatar->fadeOut(transaction, removalReason);
workload::SpacePointer space = _space;
transaction.transitionFinishedOperator(avatar->getRenderItemID(), [space, avatar]() {
transaction.setTransitionFinishedOperator(avatar->getRenderItemID(), [space, avatar]() {
if (avatar->getLastFadeRequested() != render::Transition::Type::USER_LEAVE_DOMAIN) {
// The avatar is using another transition besides the fade-out transition, which means it is still in use.
// Deleting the avatar now could cause state issues, so abort deletion and show message.

View file

@ -684,10 +684,10 @@ void Avatar::fadeOut(render::Transaction& transaction, KillAvatarReason reason)
}
void Avatar::fade(render::Transaction& transaction, render::Transition::Type type) {
transaction.addTransitionToItem(_renderItemID, type);
transaction.resetTransitionOnItem(_renderItemID, type);
for (auto& attachmentModel : _attachmentModels) {
for (auto itemId : attachmentModel->fetchRenderItemIDs()) {
transaction.addTransitionToItem(itemId, type, _renderItemID);
transaction.resetTransitionOnItem(itemId, type, _renderItemID);
}
}
_lastFadeRequested = type;

View file

@ -1056,7 +1056,7 @@ void EntityTreeRenderer::fadeOutRenderable(const EntityRendererPointer& renderab
render::Transaction transaction;
auto scene = _viewState->getMain3DScene();
transaction.transitionFinishedOperator(renderable->getRenderItemID(), [scene, renderable]() {
transaction.setTransitionFinishedOperator(renderable->getRenderItemID(), [scene, renderable]() {
render::Transaction transaction;
renderable->removeFromScene(scene, transaction);
scene->enqueueTransaction(transaction);

View file

@ -1653,7 +1653,7 @@ void PolyVoxEntityRenderer::doRenderUpdateSynchronousTyped(const ScenePointer& s
#ifdef POLYVOX_ENTITY_USE_FADE_EFFECT
if (!_hasTransitioned) {
transaction.addTransitionToItem(_renderItemID, render::Transition::ELEMENT_ENTER_DOMAIN);
transaction.resetTransitionOnItem(_renderItemID, render::Transition::ELEMENT_ENTER_DOMAIN);
_hasTransitioned = true;
}
#endif

View file

@ -69,7 +69,7 @@ void FadeEditJob::run(const render::RenderContextPointer& renderContext, const F
if (transition == nullptr || transition->isFinished || transition->eventType != transitionType) {
// Relaunch transition
render::Transaction transaction;
transaction.addTransitionToItem(id, transitionType);
transaction.resetTransitionOnItem(id, transitionType);
scene->enqueueTransaction(transaction);
}
});

View file

@ -17,6 +17,8 @@
#include <PerfStat.h>
#include <ViewFrustum.h>
#include "TransitionStage.h"
#include <gpu/Context.h>
#include <shaders/Shaders.h>
@ -142,11 +144,43 @@ void DrawStatus::run(const RenderContextPointer& renderContext, const Input& inp
auto& value = (vec4Num == 0 ? itemStatus[nbItems].first : itemStatus[nbItems].second);
Item::Status::Value status;
status.setColor(Item::Status::Value::CYAN);
status.setIcon((unsigned char)Item::Status::Icon::SIMULATION_OWNER);
if (itemScene.getTransitionId() != INVALID_INDEX) {
auto transitionID = itemScene.getTransitionId();
if (transitionID != INVALID_INDEX) {
// We have a transition. Show this icon.
status.setScale(1.0f);
// Is this a valid transition ID according to FadeJob?
auto transitionStage = scene->getStage<TransitionStage>(TransitionStage::getName());
if (transitionStage) {
if (transitionStage->isTransitionUsed(transitionID)) {
// Valid, active transition
status.setColor(Item::Status::Value::CYAN);
} else {
// Render item has a defined transition ID, but it's unallocated and isn't being processed
status.setColor(Item::Status::Value::RED);
}
// Set icon based on transition type
auto& transition = transitionStage->getTransition(transitionID);
switch (transition.eventType) {
case Transition::Type::USER_ENTER_DOMAIN:
status.setIcon((unsigned char)Item::Status::Icon::USER_TRANSITION_IN);
break;
case Transition::Type::USER_LEAVE_DOMAIN:
status.setIcon((unsigned char)Item::Status::Icon::USER_TRANSITION_OUT);
break;
case Transition::ELEMENT_ENTER_DOMAIN:
status.setIcon((unsigned char)Item::Status::Icon::GENERIC_TRANSITION_IN);
break;
case Transition::ELEMENT_LEAVE_DOMAIN:
status.setIcon((unsigned char)Item::Status::Icon::GENERIC_TRANSITION_OUT);
break;
default:
status.setIcon((unsigned char)Item::Status::Icon::GENERIC_TRANSITION);
break;
}
} else {
// No way to determine transition
status.setScale(0.0f);
}
} else {
status.setScale(0.0f);
}

View file

@ -363,6 +363,11 @@ public:
HAS_ACTIONS = 4,
OTHER_SIMULATION_OWNER = 5,
ENTITY_HOST_TYPE = 6,
GENERIC_TRANSITION = 7,
GENERIC_TRANSITION_OUT = 8,
GENERIC_TRANSITION_IN = 9,
USER_TRANSITION_OUT = 10,
USER_TRANSITION_IN = 11,
NONE = 255
};

View file

@ -31,23 +31,19 @@ void Transaction::removeItem(ItemID id) {
_removedItems.emplace_back(id);
}
void Transaction::addTransitionToItem(ItemID id, Transition::Type transition, ItemID boundId) {
_addedTransitions.emplace_back(id, transition, boundId);
void Transaction::resetTransitionOnItem(ItemID id, Transition::Type transition, ItemID boundId) {
_resetTransitions.emplace_back(id, transition, boundId);
}
void Transaction::removeTransitionFromItem(ItemID id) {
_addedTransitions.emplace_back(id, Transition::NONE, render::Item::INVALID_ITEM_ID);
}
void Transaction::reApplyTransitionToItem(ItemID id) {
_reAppliedTransitions.emplace_back(id);
_removeTransitions.emplace_back(id);
}
void Transaction::queryTransitionOnItem(ItemID id, TransitionQueryFunc func) {
_queriedTransitions.emplace_back(id, func);
}
void Transaction::transitionFinishedOperator(ItemID id, TransitionFinishedFunc func) {
void Transaction::setTransitionFinishedOperator(ItemID id, TransitionFinishedFunc func) {
_transitionFinishedOperators.emplace_back(id, func);
}
@ -76,9 +72,9 @@ void Transaction::reserve(const std::vector<Transaction>& transactionContainer)
size_t removedItemsCount = 0;
size_t updatedItemsCount = 0;
size_t resetSelectionsCount = 0;
size_t addedTransitionsCount = 0;
size_t resetTransitionsCount = 0;
size_t removeTransitionsCount = 0;
size_t queriedTransitionsCount = 0;
size_t reAppliedTransitionsCount = 0;
size_t transitionFinishedOperatorsCount = 0;
size_t highlightResetsCount = 0;
size_t highlightRemovesCount = 0;
@ -89,10 +85,10 @@ void Transaction::reserve(const std::vector<Transaction>& transactionContainer)
removedItemsCount += transaction._removedItems.size();
updatedItemsCount += transaction._updatedItems.size();
resetSelectionsCount += transaction._resetSelections.size();
addedTransitionsCount += transaction._addedTransitions.size();
transitionFinishedOperatorsCount += transaction._transitionFinishedOperators.size();
resetTransitionsCount += transaction._resetTransitions.size();
removeTransitionsCount += transaction._removeTransitions.size();
queriedTransitionsCount += transaction._queriedTransitions.size();
reAppliedTransitionsCount += transaction._reAppliedTransitions.size();
transitionFinishedOperatorsCount += transaction._transitionFinishedOperators.size();
highlightResetsCount += transaction._highlightResets.size();
highlightRemovesCount += transaction._highlightRemoves.size();
highlightQueriesCount += transaction._highlightQueries.size();
@ -102,9 +98,9 @@ void Transaction::reserve(const std::vector<Transaction>& transactionContainer)
_removedItems.reserve(removedItemsCount);
_updatedItems.reserve(updatedItemsCount);
_resetSelections.reserve(resetSelectionsCount);
_addedTransitions.reserve(addedTransitionsCount);
_resetTransitions.reserve(resetTransitionsCount);
_removeTransitions.reserve(removeTransitionsCount);
_queriedTransitions.reserve(queriedTransitionsCount);
_reAppliedTransitions.reserve(reAppliedTransitionsCount);
_transitionFinishedOperators.reserve(transitionFinishedOperatorsCount);
_highlightResets.reserve(highlightResetsCount);
_highlightRemoves.reserve(highlightRemovesCount);
@ -147,10 +143,10 @@ void Transaction::merge(Transaction&& transaction) {
moveElements(_removedItems, transaction._removedItems);
moveElements(_updatedItems, transaction._updatedItems);
moveElements(_resetSelections, transaction._resetSelections);
moveElements(_addedTransitions, transaction._addedTransitions);
moveElements(_resetTransitions, transaction._resetTransitions);
moveElements(_removeTransitions, transaction._removeTransitions);
moveElements(_queriedTransitions, transaction._queriedTransitions);
moveElements(_transitionFinishedOperators, transaction._transitionFinishedOperators);
moveElements(_reAppliedTransitions, transaction._reAppliedTransitions);
moveElements(_highlightResets, transaction._highlightResets);
moveElements(_highlightRemoves, transaction._highlightRemoves);
moveElements(_highlightQueries, transaction._highlightQueries);
@ -161,9 +157,9 @@ void Transaction::merge(const Transaction& transaction) {
copyElements(_removedItems, transaction._removedItems);
copyElements(_updatedItems, transaction._updatedItems);
copyElements(_resetSelections, transaction._resetSelections);
copyElements(_addedTransitions, transaction._addedTransitions);
copyElements(_resetTransitions, transaction._resetTransitions);
copyElements(_removeTransitions, transaction._removeTransitions);
copyElements(_queriedTransitions, transaction._queriedTransitions);
copyElements(_reAppliedTransitions, transaction._reAppliedTransitions);
copyElements(_transitionFinishedOperators, transaction._transitionFinishedOperators);
copyElements(_highlightResets, transaction._highlightResets);
copyElements(_highlightRemoves, transaction._highlightRemoves);
@ -175,10 +171,10 @@ void Transaction::clear() {
_removedItems.clear();
_updatedItems.clear();
_resetSelections.clear();
_addedTransitions.clear();
_resetTransitions.clear();
_removeTransitions.clear();
_queriedTransitions.clear();
_transitionFinishedOperators.clear();
_reAppliedTransitions.clear();
_highlightResets.clear();
_highlightRemoves.clear();
_highlightQueries.clear();
@ -278,8 +274,8 @@ void Scene::processTransactionFrame(const Transaction& transaction) {
removeItems(transaction._removedItems);
// add transitions
transitionItems(transaction._addedTransitions);
reApplyTransitions(transaction._reAppliedTransitions);
resetTransitionItems(transaction._resetTransitions);
removeTransitionItems(transaction._removeTransitions);
queryTransitionItems(transaction._queriedTransitions);
resetTransitionFinishedOperator(transaction._transitionFinishedOperators);
@ -332,7 +328,7 @@ void Scene::removeItems(const Transaction::Removes& transactions) {
}
// Remove the transition to prevent updating it for nothing
resetItemTransition(removedID);
removeItemTransition(removedID);
// Kill it
item.kill();
@ -384,7 +380,7 @@ void Scene::updateItems(const Transaction::Updates& transactions) {
}
}
void Scene::transitionItems(const Transaction::TransitionAdds& transactions) {
void Scene::resetTransitionItems(const Transaction::TransitionResets& transactions) {
auto transitionStage = getStage<TransitionStage>(TransitionStage::getName());
if (!transitionStage) {
@ -401,12 +397,7 @@ void Scene::transitionItems(const Transaction::TransitionAdds& transactions) {
// Remove pre-existing transition, if need be
if (!TransitionStage::isIndexInvalid(transitionId)) {
// Only remove if:
// transitioning to something other than none or we're transitioning to none from ELEMENT_LEAVE_DOMAIN or USER_LEAVE_DOMAIN
const auto& oldTransitionType = transitionStage->getTransition(transitionId).eventType;
if (transitionType != oldTransitionType) {
resetItemTransition(itemId);
}
removeItemTransition(itemId);
}
// Add a new one.
@ -420,12 +411,15 @@ void Scene::transitionItems(const Transaction::TransitionAdds& transactions) {
}
}
void Scene::reApplyTransitions(const Transaction::TransitionReApplies& transactions) {
for (auto itemId : transactions) {
void Scene::removeTransitionItems(const Transaction::TransitionRemoves& transactions) {
for (auto& itemId : transactions) {
// Access the true item
const auto& item = _items[itemId];
auto transitionId = item.getTransitionId();
setItemTransition(itemId, transitionId);
if (!TransitionStage::isIndexInvalid(transitionId)) {
removeItemTransition(itemId);
}
}
}
@ -555,7 +549,7 @@ void Scene::setItemTransition(ItemID itemId, Index transitionId) {
}
}
void Scene::resetItemTransition(ItemID itemId) {
void Scene::removeItemTransition(ItemID itemId) {
auto transitionStage = getStage<TransitionStage>(TransitionStage::getName());
if (!transitionStage) {
return;

View file

@ -50,20 +50,18 @@ public:
void resetItem(ItemID id, const PayloadPointer& payload);
void removeItem(ItemID id);
bool hasRemovedItems() const { return !_removedItems.empty(); }
void addTransitionToItem(ItemID id, Transition::Type transition, ItemID boundId = render::Item::INVALID_ITEM_ID);
void removeTransitionFromItem(ItemID id);
void reApplyTransitionToItem(ItemID id);
void queryTransitionOnItem(ItemID id, TransitionQueryFunc func);
void transitionFinishedOperator(ItemID id, TransitionFinishedFunc func);
template <class T> void updateItem(ItemID id, std::function<void(T&)> func) {
updateItem(id, std::make_shared<UpdateFunctor<T>>(func));
}
void updateItem(ItemID id, const UpdateFunctorPointer& functor);
void updateItem(ItemID id) { updateItem(id, nullptr); }
// Transition (applied to an item) transactions
void resetTransitionOnItem(ItemID id, Transition::Type transition, ItemID boundId = render::Item::INVALID_ITEM_ID);
void removeTransitionFromItem(ItemID id);
void setTransitionFinishedOperator(ItemID id, TransitionFinishedFunc func);
void queryTransitionOnItem(ItemID id, TransitionQueryFunc func);
// Selection transactions
void resetSelection(const Selection& selection);
@ -83,11 +81,14 @@ protected:
using Reset = std::tuple<ItemID, PayloadPointer>;
using Remove = ItemID;
using Update = std::tuple<ItemID, UpdateFunctorPointer>;
using TransitionAdd = std::tuple<ItemID, Transition::Type, ItemID>;
using TransitionQuery = std::tuple<ItemID, TransitionQueryFunc>;
using TransitionReset = std::tuple<ItemID, Transition::Type, ItemID>;
using TransitionRemove = ItemID;
using TransitionFinishedOperator = std::tuple<ItemID, TransitionFinishedFunc>;
using TransitionReApply = ItemID;
using TransitionQuery = std::tuple<ItemID, TransitionQueryFunc>;
using SelectionReset = Selection;
using HighlightReset = std::tuple<std::string, HighlightStyle>;
using HighlightRemove = std::string;
using HighlightQuery = std::tuple<std::string, SelectionHighlightQueryFunc>;
@ -95,11 +96,14 @@ protected:
using Resets = std::vector<Reset>;
using Removes = std::vector<Remove>;
using Updates = std::vector<Update>;
using TransitionAdds = std::vector<TransitionAdd>;
using TransitionQueries = std::vector<TransitionQuery>;
using TransitionResets = std::vector<TransitionReset>;
using TransitionRemoves = std::vector<TransitionRemove>;
using TransitionFinishedOperators = std::vector<TransitionFinishedOperator>;
using TransitionReApplies = std::vector<TransitionReApply>;
using TransitionQueries = std::vector<TransitionQuery>;
using SelectionResets = std::vector<SelectionReset>;
using HighlightResets = std::vector<HighlightReset>;
using HighlightRemoves = std::vector<HighlightRemove>;
using HighlightQueries = std::vector<HighlightQuery>;
@ -107,11 +111,14 @@ protected:
Resets _resetItems;
Removes _removedItems;
Updates _updatedItems;
TransitionAdds _addedTransitions;
TransitionQueries _queriedTransitions;
TransitionReApplies _reAppliedTransitions;
TransitionResets _resetTransitions;
TransitionRemoves _removeTransitions;
TransitionFinishedOperators _transitionFinishedOperators;
TransitionQueries _queriedTransitions;
SelectionResets _resetSelections;
HighlightResets _highlightResets;
HighlightRemoves _highlightRemoves;
HighlightQueries _highlightQueries;
@ -185,7 +192,7 @@ public:
void resetStage(const Stage::Name& name, const StagePointer& stage);
void setItemTransition(ItemID id, Index transitionId);
void resetItemTransition(ItemID id);
void removeItemTransition(ItemID id);
protected:
@ -215,9 +222,11 @@ protected:
void resetTransitionFinishedOperator(const Transaction::TransitionFinishedOperators& transactions);
void removeItems(const Transaction::Removes& transactions);
void updateItems(const Transaction::Updates& transactions);
void transitionItems(const Transaction::TransitionAdds& transactions);
void reApplyTransitions(const Transaction::TransitionReApplies& transactions);
void resetTransitionItems(const Transaction::TransitionResets& transactions);
void removeTransitionItems(const Transaction::TransitionRemoves& transactions);
void queryTransitionItems(const Transaction::TransitionQueries& transactions);
void resetHighlights(const Transaction::HighlightResets& transactions);
void removeHighlights(const Transaction::HighlightRemoves& transactions);
void queryHighlights(const Transaction::HighlightQueries& transactions);

View file

@ -30,7 +30,7 @@ namespace render {
static bool isIndexInvalid(Index index) { return index == INVALID_INDEX; }
bool checkTransitionId(Index index) const { return _transitions.checkIndex(index); }
bool isTransitionUsed(Index index) const { return _transitions.checkIndex(index) && !_transitions.isElementFreed(index); }
const Transition& getTransition(Index TransitionId) const { return _transitions.get(TransitionId); }