In working on animations I am finding that we frequently need to log animation state on a per-frame basis to explore why a particular animation is or isn't composited, whether it's been started yet, whether it's been finished yet, etc.
And compare that data to things like Blink PaintArtifactCompositor layerization and display item lists.
Today there is no equivalent of things like ToString(), debugName(), showLayoutTreeForThis() for working with animations.
There is some devtools support, but much of Blink work is done with content shell and console level logging can be useful in any case.
This is made challenging in particular due to the complex control flow surrounding animation analysis w.r.t. how and when an animation is suitable for compositing. See this diagram illustrating for example:
https://docs.google.com/a/chromium.org/drawings/d/18UmVJSTzE7UDIXkuaVK6HaaRAUph4yy07UnFP34cnIM/edit?usp=sharing
Filing this work item to explore whether there are some handy utility routines we could add to make folks' lives simpler when working with animations.
If there is an existing bug, approach or other thoughts please let me know.
I am aware of issue 230229 and issue 351446 but those are higher level and more external developer facing. Here we don't need a pretty UI, we just need a quick and easy way to dump data and review. I feel that both have their place. In absence of this, I find I have to re-add the same debug logging every time, and new engineers suffer from the same inefficiency.
Comment 1 by wkorman@chromium.org
, May 11 2017Owner: ----
Status: Available (was: Assigned)