powered by

FTD

How To

Internals

FTD Original Source Location

FTD so far is developed in FifthTry’s internal monorepo, and from time to time we copy the code over. We will stop doing this as soon as it gets some sort of stability as right now FTD is too much in flux, and it easiest for us to develop when its sitting along with our rest of the source that depends on FTD.

Crate Organization

We currently have two crates, ftd and ftd-rt. ftd depends on ftd-rt. The idea is FTD is going to be used from browser as a WASM package, so we want to keep as little code in here as possible.

While it is possible to use feature flags to still maintain all this in one repo, it is all too easy to accidentally bring in dependencies, and make the wasm size go up, so we have kept it as two. We may merge them back together someday.

Note: We have removed wasm a dependency since we have moved to Javascript based event handling runtime, which is much smaller than wasm, and also is much faster because we do dependency analysis based updates to DOM instead of the older nuke everything and recreated DOM wasm approach we had earlier.

FTD

Internals

FTD Original Source Location

FTD so far is developed in FifthTry’s internal monorepo, and from time to time we copy the code over. We will stop doing this as soon as it gets some sort of stability as right now FTD is too much in flux, and it easiest for us to develop when its sitting along with our rest of the source that depends on FTD.

Crate Organization

We currently have two crates, ftd and ftd-rt. ftd depends on ftd-rt. The idea is FTD is going to be used from browser as a WASM package, so we want to keep as little code in here as possible.

While it is possible to use feature flags to still maintain all this in one repo, it is all too easy to accidentally bring in dependencies, and make the wasm size go up, so we have kept it as two. We may merge them back together someday.

Note: We have removed wasm a dependency since we have moved to Javascript based event handling runtime, which is much smaller than wasm, and also is much faster because we do dependency analysis based updates to DOM instead of the older nuke everything and recreated DOM wasm approach we had earlier.