Skip to content

Add Taffy layout algorithms#1793

Open
RagibHasin wants to merge 3 commits intolinebender:mainfrom
RagibHasin:taffy-layout
Open

Add Taffy layout algorithms#1793
RagibHasin wants to merge 3 commits intolinebender:mainfrom
RagibHasin:taffy-layout

Conversation

@RagibHasin
Copy link
Copy Markdown
Contributor

Based on prior works from #140 and #682.

RagibHasin and others added 3 commits May 7, 2026 00:16
…responding Xilem view

Co-authored-by: Jared O'Connell <jared.oc321@gmail.com>
Co-authored-by: Nico Burns <nico@nicoburns.com>
@xStrom
Copy link
Copy Markdown
Member

xStrom commented May 7, 2026

I don't think we should do this.

There are certainly some immediate benefits, because the Taffy flex/grid implementations are more feature complete than the Masonry ones. However, there are also significant long-term costs. Because then there will be two Flexbox and two Grid implementations that both will need maintenance and care. This also creates a confusing user story, like which Flex should be used? Why are there two?

The implementations won't ever be fully equivalent and will have subtle differences that aren't easy to quickly explain. The differences being mostly around web compat, because that is a Taffy goal, while the Masonry implementation doesn't care about web quirks.

We need to also think about future developent of the Masonry layout system. New features and/or changes to existing features. It will create a situation where either the Masonry layout system will be held back by the Taffy widget because we'll skip adding new layout system features or changing existing ones, or the Taffy widget will gradually become more broken as it won't behave like other Masonry widgets because it just doesn't support the latest Masonry layout features.

None of this is to say that Taffy itself is bad. It's a completely valid choice and many projects are happy with it. However, for Masonry we've kept a fully custom layout system that we have full control over. Sure, it still requires more work. What will help get that work done is more focus, not bolting on alternative layout systems that will demand attention every time we want to change our custom layout system.

I think it is for the good of the long-term health of Masonry to say no to Taffy and to prevent the addition of all the complexity and maintenance burden it would add.

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.

2 participants