composer scene:show "did" triggers too soon.

Hi davebollinger. If you have found a fix for this do you think it is worth pointing it out to the engineers? It’s disheartening to know the same problem exists in storyboard and has gone unfixed. We were considering ditching composer if it is so buggy for storyboard but perhaps not.

as a test, and with a nice long time that you can notice:

  1. use the “fade” effect (which is not concurrent), does problem go away?

  2. now try “crossFade” (which is concurrent), does problem return?

if so, then same problem as storyboard.  in storyboard, a function named “nextTransition” is called when the previous scene finishes its transition and starts the transition on the current scene, issuing didExit (aka hide-did) and willEnter (aka show-will) events in between.

that works fine for sequential effects.

but its also reused for concurrent effects to fire both transitions simultaneously at start.  the result is those events (specifically didExitScene aka hide-did) are issued too soon.

if not, then there’s perhaps some other problem w composer’s event flow.

Hi davebollinger, I did some tests with your suggestions:

1 - Indeed “fade” solves the problem, the show:did was invoked only with the second scene on the screen, but curiously “crossFade” does too. I’ve tested even with time = 1.

2 - I’ve tested in two situations, from scene to scene and from main to the first scene. From scene to scene with “fade” or “crossFade”, even with time = 1, works fine, however from the main to the first scene, the problem continues.

Hope it helps to solve the problem…

davebollinger - thank you very much! Your suggestion works perfectly!

The work around is to use “crossFade” with a time of only 1 (“fade” results in a quick blip of black).

Crisis averted… for now. We were depressed, now we’re back from the brink.

Thanks again.

well, cool if you found something that works for you, though i wasn’t really suggesting it as a workaround.

rather i was suggesting it as a way to test if the bug rob mentioned in composer was same/similar as storyboard’s.  that bug was for the did-hide event, and i know where the equivalent didExitScene bug occurs in storyboard.

what i don’t know, from having access to storyboard source only, is how did-show (aka willEnterScene) might also fire early (the topic of THIS thread).  they *might* be related in composer, given that portions may have been rewritten, but i don’t see any likely mechanism to get THAT specific bug with storyboard.  thus that test was to see if composer’s did-show bug might ALSO be related to the concurrent effects event flow (since it’s already suspect due to the did-hide problem)