pmndrs / react-three-flex

💪📦 Flexbox for react-three-fiber
MIT License
1.65k stars 42 forks source link

Decouple from yoga-layout-prebuilt #30

Open giulioz opened 4 years ago

giulioz commented 4 years ago

We should build our version of yoga to reduce bundle size

drcmda commented 4 years ago

does yoga have stuff that we dont need?

giulioz commented 4 years ago

We have to investigate that, surely yes, also the current build includes a lot of useless C++ glue code that is really useless and it compiles to asm.js. Wasm binary would be way more efficient, even though it would need a binary to be served like draco.

drcmda commented 4 years ago

that sounds amazing!

talentlessguy commented 4 years ago

We have to investigate that, surely yes, also the current build includes a lot of useless C++ glue code that is really useless and it compiles to asm.js. Wasm binary would be way more efficient, even though it would need a binary to be served like draco.

WASM binary takes time to load tho

but I doubt that yoga binary will be big

so I think it's ok to ship as wasm

drcmda commented 4 years ago

if it suspends it would be ok if it takes a little to load, similar to gltf assets, textures and so on.

gut4 commented 2 years ago

Look at https://github.com/dead/typeflex It's typescript port of Facebook's Yoga

It's only 23kb(gzip) https://bundlephobia.com/package/typeflex@0.1.0

While yoga-layout-prebuilt 78kb(gzip) https://bundlephobia.com/package/yoga-layout-prebuilt@1.10.0

saitonakamura commented 2 years ago

@gut4 as i understand it has the same api? Looking pretty good, did you have any experience using it?

saitonakamura commented 2 years ago

Ok, it's not the same api, but potentially it can be migrated to without too much hassle (methink). However, I'd be happy to see some benchmarks I started the barebone here https://github.com/saitonakamura/yoga-js-benchmarks, but if some will point me to already calculated results, i'd be grateful