Animate does not animate related <use> elements

NEW
Unassigned

Status

()

7 years ago
a year ago

People

(Reporter: david, Unassigned)

Tracking

11 Branch
x86
Linux
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(2 attachments)

(Reporter)

Description

7 years ago
Created attachment 608634 [details]
Test SVG with animateTransform on path which is then cloned with <use>

User Agent: Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:11.0) Gecko/20100101 Firefox/11.0
Build ID: 20120310010446

Steps to reproduce:

Created SVG with a path with a animateTransform child element linked to mouseover (black circle). Cloned that path several times (red, green and blue circles).

Tried mouse over each element in turn (original path and use elements)


Actual results:

mouseover on use elements animates individually, as expected.

However, mouseover on original path only animates that path and not use elements


Expected results:

Spec isn't clear on this but I anticipated that mouseover on original path would animate use elements since they mimic all properties of the original.

This came from testing a bug in Webkit (https://bugs.webkit.org/show_bug.cgi?id=81792). With webkit mouseover on <use> calls all sibling <use> elements to animate, which is definately incorrect.

I would like correct behaviour on triggering animation on a element which is cloned with <use> to be agreed and implemented the same across browsers. (please!)
Status: UNCONFIRMED → RESOLVED
Last Resolved: 7 years ago
Resolution: --- → DUPLICATE
Duplicate of bug: 619509
(Reporter)

Comment 2

7 years ago
Thank you, Robert. I did search but didn't come across this one.

Is the compliant behaviour then that animating an object should animate all related <use> clones?
Status: RESOLVED → UNCONFIRMED
Resolution: DUPLICATE → ---
It is and that's what that bug is about.
Status: UNCONFIRMED → RESOLVED
Last Resolved: 7 years ago7 years ago
Resolution: --- → DUPLICATE
Duplicate of bug: 619509
Status: RESOLVED → VERIFIED
Status: VERIFIED → REOPENED
Ever confirmed: true
Resolution: DUPLICATE → ---
Assignee: nobody → longsonr
Status: REOPENED → ASSIGNED
Assignee: longsonr → nobody
Summary: Animate on a path does not animate relate use elements → Animate does not animate related <use> elements
Status: ASSIGNED → NEW
Duplicate of this bug: 844634
Duplicate of this bug: 1194728

Comment 6

3 years ago
Hi all. Given that 1194728 is a duplicate, then it is highly likely, it would seem, that this is also:
http://cs.sru.edu/~ddailey/ello/BasicPuebloSpiral.svg
same symptoms -- reused stuff doesn't animate properly. See also instance at https://ello.co/ddailey/post/GwFlnDl399lyp_SVHhGM0A where embedded in social media.
Duplicate of this bug: 1339788

Comment 8

a year ago
Created attachment 8902741 [details]
Various animation elements and begin methods and their effect in <use>

Wait for 2 seconds for the fixed-time animations. Click on the red bars to trigger animations.

Groups are
  animate   animateTransform
  set       animateMotion

Each group has
  first line: animationElement.beginElement()
  second line: begin="trigger.click"
  third line: begin="2s"
  left column: animated element, right column: <use>

Whether the <use> element is animated differs between the animation elements, and it differs between the way the animation is started:

- <animate> and <set>: The <use> element is animated if the animation
  on its relative element is started at a fixed time or via a
  begin="otherElem.event" attribute, but not if it is started via the
  beginElement() method.
- <animateTransform> and <animateMotion>: The <use> element is never animated.

Comment 9

a year ago
I just found an even stranger behavior, see

https://gist.github.com/ccprog/ae3e2fa676cf902a1e33622e695acbb8

A path with an animateTransform is referenced in a <use> element twice: once, for direct rendering, and once as part of a mask. The animation is triggered with a begin="trigger.mouseover". The direct reference does not show the animation, but the masked element (which means, twice removed) has it working.
You need to log in before you can comment on or make changes to this bug.