Go implementation of flexbox CSS layout algorithm. A pure Go port of Facebook's Yoga.
For usage examples look at _test.go files.
You can read a detailed story
In short:
- manually ported C code to Go, line-by-line
- manually ported tests to Go
- tweak the API from C style to be more Go like. The structure and logic still is very close to C code (this makes porting future C changes easy)
The port is finished. The code works and passess all Yoga tests.
The API is awkward by Go standards but it's the best I could do given that I want to stay close to C version.
Logic is currently synced up to https://github.com/facebook/yoga/commit/c9384762ee367f890a3de57ff3270d8f9c445866