Expand Navigation API and Animation API to include explicit panel-to-panel navigation, and OnShow, OnHide transition animations #154
Replies: 1 comment 2 replies
-
I've been reflecting on this for a few weeks now... The killer I feature I see for Nova is animation out of the box. And what I mean is what I referenced in a previous post regarding what Apple did in the 2000s for AppKit on iOS under the hood... The trick is there are two states of a UIBlock layout: the "target state" (which is where Nova is now), where a UIBlock layout change propagates until a new steady target state is reached. And then there's the "visual state" which is basically an interpolation of the previous state transitioning to the target state (i.e. the last-most "keyframe" change causes the visual state to continuously recompute until it catches up to the target state). This means Nova internally maintains multiple states, providing "free" animation out of the box. So when a change comes in that alters the target state, the visual state is used as the start state, not target state. There would be semantics to access the visual state, but it would be rare since transitions tend to be less than a second. Otherwise, everyone will run up against the problem I'm currently dealing w/ now integrating Nova into our prototype: all animations have to be done by hand which turns the code for any UI change into a mess. So much, so I ended up making my own animation runtime helper rather than use Nova's animation since there has to be handling when where a transition is interrupted because of another change (e.g. an item is added to an auto layout, but then another while the previously added one is still transitioning in). Bizdev wise, Nova could really dominate if it can offer automatic animation without each developer to craft their own animation schema (which is what iOS nailed in the early days where devs saw all their UI changes magically animated by the OS runtime with no extra work on their part). Nova has so much potential but if I have to roll as much animation code by hand as if I'm using Anyway, love y'alls work, but please hear what is being said here. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Adding the ability to navigate from panel-to-panel (UIBlock to UIBlock) for the more complex cases commonly found among modern 2D apps along with triggers that execute transition animations i.e. OnShow, OnHide
Beta Was this translation helpful? Give feedback.
All reactions