David Khourshid
David Khourshid
Also consider static functions (a la Elm): ```js const { deg, rad, grad } = Rematrix; // deg(180) would return {value: 180, unit: 'deg'} Rematrix.rotate(deg(180)) Rematrix.rotate(turn(.5)) Rematrix.rotate(grad(200)) ```
Another option: (not a breaking change, just add static methods to the `rotate()` function) ```js Rematrix.rotate.deg(180) Rematrix.rotate.turn(.5) Rematrix.rotate.grad(200) ```
Sure, and for reference the W3C has a [decomposing algorithm](https://www.w3.org/TR/css-transforms-1/#decomposing-a-3d-matrix). Potential APIs: **Calling decompose** ```js // From an array (2d or 3d) Rematrix.decompose([0.5, -1, 1, 0.5, 10, -20]); Rematrix.decompose([1.4, 0,...
I think verbose is fine, you make a good point of it mapping directly to CSS property names and Rematrix methods.
I have to look deeper into MST. Any state management solution is fully compatible with XState and `assign()` as long as an immutable object is returned. At a cursory glance,...
Here is how nicely Immer (1.x) plays with XState. It's beautiful: 
I'd be glad to create a small `@xstate/mobx-state-tree` library.
@loganpowell I haven't started on this quite yet (ironically I've been working on other stuff like `@xstate/immer`) but if you want to collaborate, I can get it set up in...
XState doesn't check for immutability, but it's just a best practice. Mutating context can break in unpredictable ways though (as with any mutation); e.g.... ```js const machine = Machine({ context:...
@bolatovumar I can help review, if you'd like! If I were to write it, it would basically be a distillation of this: https://dev.to/davidkpiano/redux-is-half-of-a-pattern-1-2-1hd7 (ignore the article title)