<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>255368</bug_id>
          
          <creation_ts>2023-04-12 15:14:18 -0700</creation_ts>
          <short_desc>Bring slerp interpolation in line with spec</short_desc>
          <delta_ts>2023-10-12 18:36:47 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Animations</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>CONFIGURATION CHANGED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>250970</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Ahmad Saleem">ahmad.saleem792</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>dino</cc>
    
    <cc>graouts</cc>
    
    <cc>graouts</cc>
    
    <cc>mattwoodrow</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1948345</commentid>
    <comment_count>0</comment_count>
    <who name="Ahmad Saleem">ahmad.saleem792</who>
    <bug_when>2023-04-12 15:14:18 -0700</bug_when>
    <thetext>Hi Team,

Based on discussion with @graouts on Slack 1-1, I am creating this bug report about potential Blink commit merge:

Commit - https://chromium.googlesource.com/chromium/blink/+/f550639338aaaa3abf07b88997609a396fb5cfad

Spec Discussion Link - http://lists.w3.org/Archives/Public/www-style/2013May/0131.html

``` Commit Message ```

The slerp function to interpolate between two quaternions (when blending two
decomposed matrices) does not match the spec. Although it may be desirable for
the interpolation to occur along the shortest path (as discussed in issue
14983004 and http://lists.w3.org/Archives/Public/www-style/2013May/0131.html),
the spec has not been changed as requested there. So this updates the WebKit
implementation to be in line with the spec.

______________________

Just wanted to raise for any input and also it is possible to do 1-1 merge, I did it in local testing branch few weeks back.

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1948348</commentid>
    <comment_count>1</comment_count>
    <who name="Ahmad Saleem">ahmad.saleem792</who>
    <bug_when>2023-04-12 15:21:46 -0700</bug_when>
    <thetext>Blink regressed this: Safari was doing correctly due to relying on system for doing animations (but if we are planning to change, we might have same bug):

After this change, will Blink match Safari?
If not, Safari can&apos;t change its behavior since it relies on the operation
system to do animations...

___________________

Test Case mentioned in the Spec Discussion - https://jsfiddle.net/bpLx7gtq/show

_____________________

Blink regressed it here (as per documentation):

I think so, yes.  We got the &quot;bad&quot; behavior when we switched from
WebCore::TransformationMatrix to gfx::Transform, according to
&lt;https://code.google.com/p/chromium/issues/detail?id=236018&gt;.  A quick
test in Safari with the example code in my first post has it doing the
short-path animation.

_________

Another test case - https://jsfiddle.net/f2hxo9k6/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1949870</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2023-04-19 15:15:20 -0700</bug_when>
    <thetext>&lt;rdar://problem/108283899&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1982526</commentid>
    <comment_count>3</comment_count>
    <who name="Ahmad Saleem">ahmad.saleem792</who>
    <bug_when>2023-10-04 12:23:21 -0700</bug_when>
    <thetext>This might be Not Applicable after Matt&apos;s changes and moving this function (slerp) to &apos;Quaternion.cpp&apos; here:

https://github.com/WebKit/WebKit/blob/53dd791f052cd7ee77e99c492a0b480166fb12b0/Source/WebCore/platform/graphics/transforms/Quaternion.cpp#L36

@Matt - can we close this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1984790</commentid>
    <comment_count>4</comment_count>
    <who name="Matt Woodrow">mattwoodrow</who>
    <bug_when>2023-10-12 18:36:47 -0700</bug_when>
    <thetext>I think we can close this, we should indeed have the changes already.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>