Skip to content

Refactor our viewport logic into a new RenderObject subclass hierarchy #4430

Description

@Hixie

Rather than use RenderBox for viewports, we should invent a new render object protocol that is used for lazy viewporting and scrolling.

This protocol would have:

  • Inputs: main axis, main axis start offset, main axis end offset, cross-axis dimension
  • Outputs: main axis layout size, main axis offset consumed, paint phase (top, header, content)
  • Intrinsics: In some cases, we will need a way to enable intrinsic dimensions to propagate through (e.g. popup menus), but this is super expensive, so we should have a way to turn it on or off.

Activity

  1. added
    frameworkflutter/packages/flutter repository. See also f: labels.
    c: performanceRelates to speed or footprint issues (see "perf:" labels)
    customer: galleryRelating to flutter/gallery repository. Please transfer non-framework issues there.
    on Jun 7, 2016
  2. added this to the milestone on Jun 7, 2016
  3. self-assigned this
    on Jul 7, 2016
  4. abarth commented on Jul 7, 2016

    @abarth
    Contributor
  5. abarth commented on Jul 11, 2016

    @abarth
    Contributor

    inputs: min/max of start/end offset, main axis, cross axis extent, anchor
    outputs: main axis extent, start/end offset

  6. modified the milestones: August, on Jul 21, 2016
  7. assigned and unassigned on Sep 13, 2016
  8. removed their assignment
    on Sep 16, 2016
  9. 6 remaining items

  10. modified the milestone: on Sep 16, 2016
  11. assigned and unassigned on Sep 23, 2016
  12. abarth commented on Feb 10, 2017

    @abarth
    Contributor

    This is now RenderViewport2.

  13. github-actions commented on Sep 5, 2021

    @github-actions

    This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of flutter doctor -v and a minimal reproduction of the issue.

  14. locked as resolved and limited conversation to collaborators on Sep 5, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

c: API breakBackwards-incompatible API changesc: performanceRelates to speed or footprint issues (see "perf:" labels)customer: galleryRelating to flutter/gallery repository. Please transfer non-framework issues there.f: scrollingViewports, list views, slivers, etc.frameworkflutter/packages/flutter repository. See also f: labels.

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions