Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(653)

Issue 1155773002: Devtools Animations: Add cubic bezier easing editor for animations (Closed)

Created:
5 years, 7 months ago by samli
Modified:
5 years, 4 months ago
Reviewers:
dgozman, pfeldman
CC:
darktears, apavlov+blink_chromium.org, blink-reviews, blink-reviews-animation_chromium.org, blink-reviews-style_chromium.org, caseq+blink_chromium.org, devtools-reviews_chromium.org, Eric Willigers, kozyatinskiy+blink_chromium.org, lushnikov+blink_chromium.org, pfeldman+blink_chromium.org, rjwright, sergeyv+blink_chromium.org, shans, yurys+blink_chromium.org
Target Ref:
refs/heads/master
Project:
blink
Visibility:
Public.

Description

Devtools Animations: Add cubic bezier easing editor for animations This change adds an extra icon which is visible on hover of an animation. This icon allows you to edit the cubic bezier editor and edit the easing of the animation in real time. BUG=447083

Patch Set 1 #

Patch Set 2 : #

Total comments: 4

Patch Set 3 : Refactor #

Patch Set 4 : Remove empty line #

Total comments: 18

Patch Set 5 : #

Patch Set 6 : Missing files #

Total comments: 11

Patch Set 7 : Review changes #

Patch Set 8 : Rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+576 lines, -360 lines) Patch
M Source/core/animation/AnimationEffect.cpp View 1 2 3 4 5 6 7 1 chunk +0 lines, -2 lines 0 comments Download
M Source/core/inspector/InspectorAnimationAgent.h View 1 2 3 4 5 6 7 1 chunk +1 line, -0 lines 0 comments Download
M Source/core/inspector/InspectorAnimationAgent.cpp View 1 2 3 4 5 6 7 4 chunks +43 lines, -7 lines 0 comments Download
M Source/devtools/devtools.gypi View 1 2 3 4 5 6 7 2 chunks +2 lines, -1 line 0 comments Download
M Source/devtools/front_end/elements/AnimationTimeline.js View 1 2 3 4 5 6 7 10 chunks +93 lines, -14 lines 0 comments Download
M Source/devtools/front_end/elements/BezierUI.js View 1 2 1 chunk +3 lines, -0 lines 0 comments Download
M Source/devtools/front_end/elements/StylesPopoverHelper.js View 1 2 3 4 1 chunk +0 lines, -325 lines 0 comments Download
A Source/devtools/front_end/elements/StylesPopoverIcon.js View 1 2 3 4 5 6 1 chunk +203 lines, -0 lines 0 comments Download
M Source/devtools/front_end/elements/StylesSidebarPane.js View 1 2 3 4 5 6 7 5 chunks +7 lines, -7 lines 0 comments Download
M Source/devtools/front_end/elements/animationTimeline.css View 1 2 3 4 4 chunks +43 lines, -2 lines 0 comments Download
M Source/devtools/front_end/elements/module.json View 1 2 3 4 5 6 7 1 chunk +1 line, -1 line 0 comments Download
M Source/devtools/front_end/sdk/AnimationModel.js View 1 2 3 4 5 6 7 1 chunk +25 lines, -0 lines 0 comments Download
A Source/devtools/front_end/ui/EditorPopoverHelper.js View 1 2 3 4 5 6 1 chunk +144 lines, -0 lines 0 comments Download
M Source/devtools/front_end/ui/module.json View 1 2 3 4 5 6 1 chunk +1 line, -0 lines 0 comments Download
M Source/devtools/protocol.json View 1 2 3 4 5 6 7 1 chunk +8 lines, -0 lines 0 comments Download
M Source/platform/animation/TimingFunction.cpp View 1 2 3 4 5 6 7 1 chunk +2 lines, -1 line 0 comments Download

Messages

Total messages: 21 (6 generated)
samli
ptal Screencast: http://youtu.be/jqe5Q5ScYec
5 years, 7 months ago (2015-05-22 07:49:14 UTC) #2
dgozman
https://codereview.chromium.org/1155773002/diff/20001/Source/core/inspector/InspectorAnimationAgent.cpp File Source/core/inspector/InspectorAnimationAgent.cpp (right): https://codereview.chromium.org/1155773002/diff/20001/Source/core/inspector/InspectorAnimationAgent.cpp#newcode281 Source/core/inspector/InspectorAnimationAgent.cpp:281: if (RefPtr<TimingFunction> timingFunction = AnimationInputHelpers::parseTimingFunction(easing)) Code up to this ...
5 years, 7 months ago (2015-05-23 00:53:26 UTC) #4
samli
ptal https://codereview.chromium.org/1155773002/diff/20001/Source/core/inspector/InspectorAnimationAgent.cpp File Source/core/inspector/InspectorAnimationAgent.cpp (right): https://codereview.chromium.org/1155773002/diff/20001/Source/core/inspector/InspectorAnimationAgent.cpp#newcode281 Source/core/inspector/InspectorAnimationAgent.cpp:281: if (RefPtr<TimingFunction> timingFunction = AnimationInputHelpers::parseTimingFunction(easing)) On 2015/05/23 00:53:26, ...
5 years, 7 months ago (2015-05-25 01:55:38 UTC) #5
dgozman
https://codereview.chromium.org/1155773002/diff/60001/Source/core/inspector/InspectorAnimationAgent.cpp File Source/core/inspector/InspectorAnimationAgent.cpp (right): https://codereview.chromium.org/1155773002/diff/60001/Source/core/inspector/InspectorAnimationAgent.cpp#newcode156 Source/core/inspector/InspectorAnimationAgent.cpp:156: animationType = cssAnimations.isAnimationForInspector(player) ? AnimationType::CSSAnimation : AnimationType::WebAnimation; This looks ...
5 years, 7 months ago (2015-05-26 12:02:24 UTC) #6
samli
PTAL https://codereview.chromium.org/1155773002/diff/60001/Source/core/inspector/InspectorAnimationAgent.cpp File Source/core/inspector/InspectorAnimationAgent.cpp (right): https://codereview.chromium.org/1155773002/diff/60001/Source/core/inspector/InspectorAnimationAgent.cpp#newcode156 Source/core/inspector/InspectorAnimationAgent.cpp:156: animationType = cssAnimations.isAnimationForInspector(player) ? AnimationType::CSSAnimation : AnimationType::WebAnimation; On ...
5 years, 7 months ago (2015-05-27 05:21:59 UTC) #7
samli
ping
5 years, 7 months ago (2015-05-28 07:28:48 UTC) #8
dgozman
https://codereview.chromium.org/1155773002/diff/100001/Source/core/inspector/InspectorAnimationAgent.cpp File Source/core/inspector/InspectorAnimationAgent.cpp (right): https://codereview.chromium.org/1155773002/diff/100001/Source/core/inspector/InspectorAnimationAgent.cpp#newcode156 Source/core/inspector/InspectorAnimationAgent.cpp:156: animationType = cssAnimations.isAnimationForInspector(player) ? AnimationType::CSSAnimation : AnimationType::WebAnimation; What I ...
5 years, 6 months ago (2015-05-28 11:04:04 UTC) #9
samli
https://codereview.chromium.org/1155773002/diff/100001/Source/devtools/front_end/sdk/AnimationModel.js File Source/devtools/front_end/sdk/AnimationModel.js (right): https://codereview.chromium.org/1155773002/diff/100001/Source/devtools/front_end/sdk/AnimationModel.js#newcode367 Source/devtools/front_end/sdk/AnimationModel.js:367: if (callProtocol) On 2015/05/28 11:04:03, dgozman wrote: > What's ...
5 years, 6 months ago (2015-05-28 11:48:14 UTC) #10
samli
https://codereview.chromium.org/1155773002/diff/100001/Source/core/inspector/InspectorAnimationAgent.cpp File Source/core/inspector/InspectorAnimationAgent.cpp (right): https://codereview.chromium.org/1155773002/diff/100001/Source/core/inspector/InspectorAnimationAgent.cpp#newcode292 Source/core/inspector/InspectorAnimationAgent.cpp:292: *errorString = "Given animation is not a transition or ...
5 years, 6 months ago (2015-05-29 04:32:12 UTC) #11
samli
Rebased over http://crrev.com/1154083005 TODO: Add a test for setTiming/setEasing, but I ran out of time ...
5 years, 6 months ago (2015-06-04 08:08:04 UTC) #12
samli
Ping. Likewise, a large portion of this is still relevant.
5 years, 5 months ago (2015-07-06 08:16:39 UTC) #16
dgozman
On 2015/07/06 08:16:39, samli wrote: > Ping. Likewise, a large portion of this is still ...
5 years, 5 months ago (2015-07-08 14:09:21 UTC) #17
samli
On 2015/07/08 at 14:09:21, dgozman wrote: > On 2015/07/06 08:16:39, samli wrote: > > Ping. ...
5 years, 5 months ago (2015-07-09 05:49:29 UTC) #18
pfeldman
Sam, given that we are re-implementing this feature, I don't want to do any reviews ...
5 years, 5 months ago (2015-07-09 05:59:24 UTC) #20
samli
5 years, 5 months ago (2015-07-09 07:18:03 UTC) #21
On 2015/07/09 at 05:59:24, pfeldman wrote:
> Sam, given that we are re-implementing this feature, I don't want to do any
reviews until we have a clear plan for action that we agree upon. I thought it
was clear. The effort should start with the product story that we can agree
upon, followed by a brief design doc. What I don't want to see is another
iteration of the implementation that goes nowhere.

This was 100% not clear at all. Two weeks ago when we chatted over VC, you
mentioned that I should go away and start prototyping this to get a sense of how
this would actually feel as a user. From Paul's meeting notes: "Start with the
capture. Edit+rules as 2nd phase. Sam: prototype the experiment with identity
matching and effect buffer." The takeaway from this meeting was that there were
some ideas around the editing aspect of the implementation, but the proposal
regarding the viewing of the effects was given the green light to begin with an
implementation before a re-evaluation once we had something to tangibly play
with. My interpretation of resolution was that I would implement and check-in
this updated viewing model. Clearly this was not your interpretation of the
result of this meeting, what did you think was the result of the meeting and
what I should have been doing instead?

I don't think these are 'iterations which have gone nowhere'. There have been
continual discussions, design docs and action plans. What has been the clear
story here is that despite all reviewers being in agreement on a design, we were
not able to effectively evaluate what we had designed without something to play
with. I don't think this has all been in vain and that we could have arrived at
where we are today without ever having prototyped something first.

> 
> My goal here is to get the right thing shipped, but I haven't seen the right
thing defined yet. Your design doc has too many open questions. You call some
things minor, other things as discussed with Paul. But that all does not help
unless the reviewers are in agreement with that. So I would recommend that you
address open questions in the doc first, get back to reviewers with the mocks of
the intended functionality. Once we agree on that and discuss the design, we can
start landing patches.

I have only worked on implementing parts of this design which do not have any
open questions and given the dialogue has been historically slow, it seems
unproductive to block myself from doing any work waiting on the entire design to
be specified and reviewed.  If you have certain open questions/issues which you
deem as blocking, please don't think this is immediately obvious to me, because
I think there will always be a given number of open questions and this is okay -
some of these aspects require experimentation to be able to properly evaluate.

I'm happy to close this patch and defer this feature till later. I've addressed
the open questions in the doc and added more detailed implementation design at
the bottom. Could you detail exactly what aspects of the design you would like
to see resolved now and what is missing?

Powered by Google App Engine
This is Rietveld 408576698