Skip to content

Support multiple layout algorithms #28

@alice-i-cecile

Description

@alice-i-cecile

Tracking Issues:

This library will be dramatically more useful if it can be used to support multiple layout strategies. This is useful because:

  • it centralizes community effort
  • it enables fair benchmarks
  • it lets users easily swap out approaches
  • it creates the potential for blended layouts in the same app

Must have:

  • each layout algorithm lives behind its own feature flag
  • this crate provides a relatively unified interface to them
    • a trait seems like the natural fit here

Nice to have:

  • low or zero abstraction overhead
  • the ability to nest multiple distinct layout strategies, ala flutter
  • competitive benchmarks between the different strategies
  • rosetta-stone comparisons of practical examples, demonstrating how to create the same / comparable layouts in different paradigms
  • users can create their own layout algorithms using our primitives in an interoperable way

Possible layout algorithms we may want to support:

  • hstack / vstack
  • Swift-UI style
  • Flutter style
  • CSS grid
  • Morphorm
  • Cassowary

Metadata

Metadata

Assignees

No one assigned

    Labels

    controversialThis work requires a heightened standard of review due to implementation or design complexityenhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions