Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

frameloop never missing tail callback #2351

Closed
wants to merge 1 commit into from

Conversation

RenaudRohlinger
Copy link
Member

In a frameloop='never' configuration the tail callback is missing post-render.
Since the render is getting stopped after calling advance() I believe this callback should be called in order to be consistent with the two other modes always and demand.

@codesandbox-ci
Copy link

codesandbox-ci bot commented Jul 3, 2022

This pull request is automatically built and testable in CodeSandbox.

To see build info of the built libraries, click here or the icon next to each commit SHA.

Latest deployment of this branch, based on commit fa0ee91:

Sandbox Source
example Configuration

@drcmda
Copy link
Member

drcmda commented Jul 3, 2022

im not sure, tail usually indicates end of a series of frames. if im not mistaken it isn't called in frameloop=always because there's no "end". imo if frames are called manually via advance, tail should probably also be called manually?

@CodyJasonBennett
Copy link
Member

CodyJasonBennett commented Jul 14, 2022

We should expose a way to flush effects here, but advance is only concerned with a single frame.

invalidate should otherwise handle this if I'm not mistaken. Are you calling this in a loop?

@drcmda
Copy link
Member

drcmda commented Jul 23, 2022

IMO invalidate is also no indication for tail. Tail is when rendering is demand and you rotate controls, once it stops calling invalidate tail is called. Invalidate basically just counts a ticker up, even if the ticker was 0 it’s no Guarantee that another invalidate will count it up in the same frame. that ticker is decreased in the render function, which is called after all invalidates, if it reaches 0: tail. Tail can’t be reached when rendering is always. Again, I think tail must just be callable manually, that should do.

@CodyJasonBennett
Copy link
Member

Continuing in #2481.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants