material-motion-js
material-motion-js copied to clipboard
Reusable gestural interactions in JavaScript. In development.
Dragging the pink box triggers drag-to-reload. Fix it. cc @skevy
We changed from `atRest$` to `state$` because some members of the core team had strong feelings about it being enumerated (I think they found `atRest:true` to be strange to reason...
A frequent question is how Motion works if you only want a gesture at a certain breakpoint. We should put together a demo of an app that doesn't import Motion...
The root namespace of `material-motion` is littered with `Motion____able`. Perhaps we should organize the exports: ```typescript import { operatorInterfaces, } from 'material-motion'; const { MotionPluckable, } = operatorInterfaces; ``` The...
The most useful abstraction missing from MM right now is something that synthesizes velocity and threshold. Our inputs look something like this: - An axis - A series of stops,...
The Marking Menu demo will be a great showcase of an advanced interaction powered by Material Motion. It will need these operators: - `toPolar(): Observable` - `toCartesian(): Observable` - `inIncrementsOf({...
The named arguments pattern is great for functions that take multiple arguments. We moved all operators to it in #193. However, there are some operators that usually take a single...
- Consistency with other platforms that implement Material Motion - Full control of the stack: - Can ignore concepts we don't need, like `error` and `complete` - Fewer concepts ->...
This could be a bit complex. We should test: - the final value is correct - intermediary values are correct - all the possible GestureRecognitionStates are correct - recognitionThreshold works...
At some point, we had a convention that interfaces should end with `able`; hence, all the operator interfaces, e.g. `MotionMemorable`. That convention hasn't really held true - both `MotionObservable` and...