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

feat(): async rendering #252

Merged
merged 10 commits into from
Mar 10, 2022
Merged

feat(): async rendering #252

merged 10 commits into from
Mar 10, 2022

Conversation

manucorporat
Copy link
Contributor

@manucorporat manucorporat commented Mar 4, 2022

  • Implement slot projection
  • Implement SVG rendering
  • Implement scoped styles (use ctx.component)
  • Add new tests and fix existing ones
  • Clean up
  • notifyRender(el) promise resolves when the el is next rendered.
  • Review logic of RenderingState
  • Make vnode.children to be always defined
  • Move rendering queue from platfrom to simplier primitives, nextTick and nextFrame

Next:

  • Host should not conflict with parent styles
  • Host should not treat elm as component, ie, no qwikProps
  • Store old Vnodes in host element ctx
  • Reimplement class rendering with classList
  • Events should be hold and queued up
  • Add perf metrics
  • Allow concurrent rendering by finding disconnected roots (
  • Allow objets in q:key (make key part of element ctx)
  • Replace all functions with const arrows
  • Count number of microtasks (RenderContext)
  • flush render API() force the start of a new render task
  • Async rendering diff, break long diff, rendering into several macrotasks
  • Async rendering dom, break long rendering into several requests animation frames

Open questions:

  • Should we queue up element creation tasks? or execute right away, notice we will not insert into the Dom until later.

@cloudflare-workers-and-pages
Copy link

cloudflare-workers-and-pages bot commented Mar 6, 2022

Deploying with  Cloudflare Pages  Cloudflare Pages

Latest commit: ac8ed2c
Status: ✅  Deploy successful!
Preview URL: https://3b7263f3.qwik-docs.pages.dev

View logs

@manucorporat manucorporat marked this pull request as ready for review March 10, 2022 01:41
@manucorporat manucorporat enabled auto-merge (squash) March 10, 2022 02:14
@manucorporat manucorporat requested a review from mhevery March 10, 2022 02:18
@manucorporat manucorporat merged commit 7fadd18 into main Mar 10, 2022
@manucorporat manucorporat deleted the async-rendering-v2 branch March 10, 2022 02:51
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.

1 participant