Open
Description
I thought it might be useful to track possible future feature work in a more structured way (grouped into categories).
See also: the Taffy Project Board
Future
CSS / Web layout features
- Support
box-sizing: content-box
#289 - Implement the "safe" alignment variants #550
- Negative margins in flexbox result in incorrect layout #706
- Support
align-content
in Block layout #709 - Support
position: static
(absolute position relative a non-parent ancestor) #212 - Support
Overflow::Auto
#560 - Support
direction
property (right-to-left layout) #213 - Support
writing-mode
property (vertical inline axis) #752 - Support
Calc
val #225 - Intrinsic sizing keywords (min/max/fit-content) for width/height #751
- Grid features:
- Better baseline alignment support (particularly measure function support for baseline alignment)
- Additional CSS layout algorithms:
API Enhancements
- Add examples of text layouting #216
- "Traitify" the
Style
struct #568 - Expose computed grid-template and grid-placement values #714
- Provide a builder pattern interface to the construction layout tree #275
Non-CSS layout features
- Support for
stretch
forwidth
/height
and possiblymargin
/inset
- Support Morphorm/Subform layout #308
- Sciter's "flex flow" layout (https://sciter.com/docs/flex-flow/flex-layout.htm)
- AutoLayout / Cassowary
- Hstack/Vstack/Zstack
FFI / Bindings for other languages
- C bindings #399 (widely useful)
- Wasm bindings #241 (Web/Node.js/Deno) Useful for examples/playground. Also enables Node.js where Taffy may be useful for TUIs. Deno even has GUI bindings)
- Swift/Objective-C (for iOS/macOS)
- Kotlin/Java (for Android)
- C++ (widely useful, and we could expose our full LayoutTree API to C++ if we wanted to. Could enable cool use cases like close integration with layout code written in C++)
- C# (Unity uses Yoga for layout. Could also be used in Xamarin)
Activity