material-motion-archive / pop-swift Goto Github PK
View Code? Open in Web Editor NEWArchived February 16, 2017 :: POP plan types for Apple devices
License: Apache License 2.0
Archived February 16, 2017 :: POP plan types for Apple devices
License: Apache License 2.0
runtime.addPlan(SpringTo(property, foo_destination));
// Spring now active.
runtime.addPlan(PausesSpring(property, gesture));
gesture.setState(BEGAN);
// Spring now paused.
runtime.addPlan(SpringTo(property, bar_destination));
// Spring now active - oops too early!
gesture.setState(RECOGNIZED);
// Spring should now be active.
We currently silently ignore animations that complete without a corresponding token. This situation should not happen, so we should use a stronger assertion of the token's existence.
This will also improve our testing coverage.
Right now, there's a springTo
and configureSpring
. The need to configure a spring mid-flight feels hypothetical.
Can we reduce it to one plan: springTo(destination, config?)
?
This must be run by a @material-motion/core-team member.
mdm release cut
Should include the following:
Assume that this repo is the entry-point for an application developer who has never used Material Motion before.
Source code should include dense documentation explaining the material motion aspects of the code.
This feature request is resulting from explorations found in https://github.com/material-motion/material-motion-catalog-swift/issues/1.
The creator of a POPAnimation object is unable to change the toValue
on the object after committing it to a scheduler. This is because we copy the animation objects and pop does not appear, and rightfully so, to maintain a connection between these two instances.
One approach that will appear within the broader context of Material Motion is to configure existing pop animation objects when a new one with the same name is added to a target. This may be how pop already works if we use the key
argument.
If this is not how POP works then we may need to implement the mapping of state ourselves. Specifically, we'll need to extract the various properties that may be set on the animation when a new one with the same name is committed.
Note: This functionality may be somewhat easier to build once performers support named plans.
This demo should be a simplification of the tap-to-toggle demo in which we register a circular dimension plan that composes out to the necessary POP animations.
Must be ran by a member of the @material-motion/core-team
mdm release publish 1.0.0
This maintains consistency with our other motion family pod names which follow a MateraiLmotion<name>Family
pattern.
This should model POPSpringAnimation, but only exposing the properties that we support.
pop_animationDidStart
is invoked the moment a POP animation begins. This method can be called multiple times if the animation isn't removed on completion.
Should also implement a unit test for animations that aren't removed on completion.
As per discussion here: https://groups.google.com/forum/#!topic/material-motion/UTnXKlEYOOQ
We presently only support the properties explicitly listed in POPProperty. Ideally we'd support any key path.
Should show how to add a pop animation to a scheduler. Should also show how to emit pop animation objects from other performers (composition).
This will make it easier to navigate the repo once we start adding more plan types.
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
We currently expose a POPProperty
type that clearly shows which properties we support for pop's SpringTo implementation. This API is inflexible and makes it difficult to commit SpringTo values to the target directly using traditional setValueForKeyPath APIs.
Goal of this task is to explore a string-based property API that is a traditional key path. We'll need to map these key paths to internal POPProperties.
This can create non-rounded artifacts while animating the circle between its two sizes. One solution here would be to associate the cornerRadius and bounds with a single property to which we add a SpringTo animation. This will require resolution of #19 first.
We currently silently fail; this will likely hide underlying problems. Instead, we should use !
so that non-POPAnimation plans cause an assertion.
This will also improve our test coverage.
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.