awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
DioxusLabs avatar

DioxusLabs/taffy

0
View on GitHub↗
2,972 stars·167 forks·Rust·other·14 viewsdocs.rs/taffy↗

Taffy

Taffy is a layout engine that calculates the size and position of user interface components. It is a language-agnostic tool that computes element geometry using Flexbox and Grid algorithms.

The engine operates on custom tree structures and node storage through a trait-based interface. This design allows it to be integrated into various programming languages and custom memory management systems.

The system handles UI layout computation, including leaf node measurement and floating point pixel snapping to prevent blurring on displays. It utilizes layout result caching to avoid redundant calculations for unchanged elements.

Features

  • Flexbox and Grid Layouts - Provides a full implementation of Flexbox and Grid layout models for computing element geometry.
  • Cross Platform Layout Libraries - Provides flexbox layout capabilities to non-web environments as a language-agnostic library.
  • Recursive Layout Measurement - Traverses the view hierarchy to calculate the dimensions of leaf nodes based on external content.
  • Node Storage Abstractions - Provides a trait-based interface that abstracts node storage, allowing for custom tree implementations.
  • Agnostic Layout Trees - Implements a layout engine that operates on any custom tree structure via a trait-based interface.
  • Element Positioning - Computes the spatial arrangement and coordinate locations of nested UI components.
  • Tree-Based Layout Logic - Allows the use of custom tree implementations to manage node storage and caching during layout.
  • Pixel Snapping - Converts calculated floating point coordinates to integer pixel values to prevent sub-pixel blurring.
  • UI Geometry Calculation Tools - Calculates the size and position of UI components with built-in support for pixel snapping and caching.
  • Layout Tree Storage Interfaces - Taffy enables connecting layout algorithms to custom data structures and memory management systems through a low-level interface.
  • Computational Result Caching - Caches computed layout geometry to skip redundant calculations for unchanged elements.
  • Arena-Based Memory Management - Implements arena-based memory management to organize layout nodes in contiguous blocks for improved cache locality.
  • Caching and Memoization - Utilizes memoization to cache previously computed layout geometry and avoid redundant calculations.
  • Cross-Platform Rendering Frameworks - Functions as a cross-platform rendering framework by providing consistent geometry calculations across different environments.
  • Custom UI Frameworks - Serves as a foundational component for building custom UI frameworks by providing the core layout logic.

Star history

Star history chart for dioxuslabs/taffyStar history chart for dioxuslabs/taffy

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does dioxuslabs/taffy do?

Taffy is a layout engine that calculates the size and position of user interface components. It is a language-agnostic tool that computes element geometry using Flexbox and Grid algorithms.

What are the main features of dioxuslabs/taffy?

The main features of dioxuslabs/taffy are: Flexbox and Grid Layouts, Cross Platform Layout Libraries, Recursive Layout Measurement, Node Storage Abstractions, Agnostic Layout Trees, Element Positioning, Tree-Based Layout Logic, Pixel Snapping.

What are some open-source alternatives to dioxuslabs/taffy?

Open-source alternatives to dioxuslabs/taffy include: react/yoga — Yoga is a cross-platform layout engine and embeddable core that determines the dimensions and offsets of hierarchical… facebookarchive/asyncdisplaykit — AsyncDisplayKit is an asynchronous UI framework and performance library for iOS. It provides a collection of… gosub-io/gosub-engine — Gosub-engine is an HTML5 browser engine and web rendering pipeline that parses HTML5 and CSS3 to compute layout and… google/flexbox-layout — This is a layout library for Android applications that implements the CSS Flexible Box layout model. It provides a… nicbarker/clay — Clay is a header-only layout engine designed for C and C++ applications that computes element positions and dimensions… greatfrontend/top-javascript-interview-questions — This project is a technical interview preparation resource focused on JavaScript. It provides a collection of common…

Open-source alternatives to Taffy

Similar open-source projects, ranked by how many features they share with Taffy.
  • react/yogareact avatar

    react/yoga

    18,790View on GitHub↗

    Yoga is a cross-platform layout engine and embeddable core that determines the dimensions and offsets of hierarchical element trees. It provides a C++ implementation of the Flexbox layout model to calculate element positions and sizes based on web standards, ensuring a uniform appearance across diverse devices and operating systems. The engine is designed for portability via a C API, allowing the layout logic to be integrated into various host languages and platforms. It utilizes an incremental layout system that identifies modified subtrees and recalculates positions only for changed nodes a

    C++
    View on GitHub↗18,790
  • facebookarchive/asyncdisplaykitfacebookarchive avatar

    facebookarchive/AsyncDisplayKit

    13,345View on GitHub↗

    AsyncDisplayKit is an asynchronous UI framework and performance library for iOS. It provides a collection of performant alternatives to standard views, allowing developers to build responsive interfaces by offloading layout and rendering tasks to background threads. The framework is centered around a declarative layout engine based on a flexbox model, which calculates element positions and sizes asynchronously. It utilizes a node-based abstraction to wrap native views, enabling the instantiation and configuration of UI hierarchies on background threads to prevent main thread blocking. The sy

    Objective-C++
    View on GitHub↗13,345
  • gosub-io/gosub-enginegosub-io avatar

    gosub-io/gosub-engine

    3,673View on GitHub↗

    Gosub-engine is an HTML5 browser engine and web rendering pipeline that parses HTML5 and CSS3 to compute layout and render web content to pixels. It functions as a JavaScript runtime environment with a virtual machine and event loop for handling dynamic logic and asynchronous tasks. The system also includes a web storage manager for persisting cookies, local storage, and session storage. The project features a headless browser renderer capable of generating page images or extracting plain text without a visible window. It supports cross-platform graphics rendering through pluggable CPU and GP

    Rustbrowserhtml5rust
    View on GitHub↗3,673
  • google/flexbox-layoutgoogle avatar

    google/flexbox-layout

    18,320View on GitHub↗

    This is a layout library for Android applications that implements the CSS Flexible Box layout model. It provides a view container and engine that arrange child views by distributing space and aligning content according to a flexible box model. The framework enables the creation of responsive user interfaces that automatically adjust element positioning, wrapping, and growth based on available screen dimensions and orientations. The system includes capabilities for adaptive layout workflows, dynamic element alignment, and a virtualized rendering system for recycling views to display large dat

    Kotlin
    View on GitHub↗18,320
See all 30 alternatives to Taffy→