material-motion-archive / coreanimation-swift Goto Github PK
View Code? Open in Web Editor NEWArchived February 16, 2017 :: Core animation plan types for Apple devices
License: Apache License 2.0
Archived February 16, 2017 :: Core animation plan types for Apple devices
License: Apache License 2.0
jazzy
cd docs
git init
git add .
git commit -am "Initial commit of documentation"
git branch -m gh-pages
git remote add [email protected]:material-motion/material-motion-family-pop-swift.git
git push origin gh-pages
Before we pursue this we need to figure out if this is a platform-specific thing or whether it's buildable on other platforms as well.
Either way, we need to add "Feature: additive" to the Tween starmap spec.
This is due to not setting the model layer value to the destination of the animation. To keep state persisted after the animation completes we need to also update the model value of the layer.
Should include the following:
Assume that this repo is the entry-point for an application developer who has never used Material Motion before. We'll likely want to link to some form of "getting started with material motion" document. Life of a plan might be a good start, but we should have a swift version as well.
CATransaction.begin()
guard let token = tokenGenerator.generate() else { return }
If we fail to generate a token then we're left with an open CATransaction. We should attempt to acquire the token before initiating the transaction.
Must be ran by a member of the @material-motion/core-team
mdm release publish 1.0.0
Many people are used to UIView's implicit animation APIs.
Material Motion, on the other hand, is much closer to Core Animation's API patterns.
This task tracks explorations for supporting UIView implicit APIs, or something similar in Material Motion.
This is a research task and may not lead to any spec'able outcome.
TweenPerformer allows Tweens to be registered to UIView and CALayer. In actuality, Tweens can only be added to CALayer.
This flexibility can cause problems due to how performers are instantiated. Consider the following example:
let tween = Tween(...)
runtime.addPlan(tween, view)
runtime.addPlan(tween, view.layer)
The tween will get added to view.layer
twice, but through two different performers.
Our performers need to be more strict about what sorts of targets they accept. In this case our performers should only accept CALayer targets.
Use CASpringAnimation to drive the springs.
Create a new plan type named SpringTo
. The signature should match the one described in the spec: https://material-motion.github.io/material-motion/starmap/specifications/plans/SpringTo
Which performer implements this plan is an implementation detail open for evaluation by the owner of this task.
Does it call a didComplete?
Shouldn't it be material-motion-core-animation-family-swift
? That's the name you've used in the podspec and the one that's easiest to read.
(Unless you are trying to lexographically group them, e.g. material-motion/family/core-animation
).
This must be run by a @material-motion/core-team member.
mdm release cut
animation.beginTime = target.convertTime(CACurrentMediaTime(), to: nil) + tween.delay
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.