Go to file
Piotr Siuszko 0d85d6a2e1 File picker on saving on desktop 2023-12-08 08:53:08 +01:00
.cargo Reinit 2023-12-07 18:24:34 +01:00
.github/workflows Reinit 2023-12-07 18:24:34 +01:00
assets Reinit 2023-12-07 18:24:34 +01:00
src File picker on saving on desktop 2023-12-08 08:53:08 +01:00
static Reinit 2023-12-07 18:24:34 +01:00
.gitignore Reinit 2023-12-07 18:24:34 +01:00
Cargo.lock Saving work on WASM 2023-12-08 08:42:52 +01:00
Cargo.toml Saving work on WASM 2023-12-08 08:42:52 +01:00
README.md Reinit 2023-12-07 18:24:34 +01:00
Trunk.toml Reinit 2023-12-07 18:24:34 +01:00
build.rs Reinit 2023-12-07 18:24:34 +01:00
check.sh Reinit 2023-12-07 18:24:34 +01:00
index.html Reinit 2023-12-07 18:24:34 +01:00
rust-toolchain Reinit 2023-12-07 18:24:34 +01:00

README.md

rpack

Build Status

Attempt to build texture atlas packer GUI.

Testing locally

Make sure you are using the latest version of stable rust by running rustup update.

cargo run --release

On Linux you need to first run:

sudo apt-get install libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev libxkbcommon-dev libssl-dev

On Fedora Rawhide you need to run:

dnf install clang clang-devel clang-tools-extra libxkbcommon-devel pkg-config openssl-devel libxcb-devel gtk3-devel atk fontconfig-devel

Web Locally

You can compile your app to WASM and publish it as a web page.

We use Trunk to build for web target.

  1. Install the required target with rustup target add wasm32-unknown-unknown.
  2. Install Trunk with cargo install --locked trunk.
  3. Run trunk serve to build and serve on http://127.0.0.1:8080. Trunk will rebuild automatically if you edit the project.
  4. Open http://127.0.0.1:8080/index.html#dev in a browser. See the warning below.

assets/sw.js script will try to cache our app, and loads the cached version when it cannot connect to server allowing your app to work offline (like PWA). appending #dev to index.html will skip this caching, allowing us to load the latest builds during development.

Web Deploy

  1. Just run trunk build --release.
  2. It will generate a dist directory as a "static html" website
  3. Upload the dist directory to any of the numerous free hosting websites including GitHub Pages.
  4. we already provide a workflow that auto-deploys our app to GitHub pages if you enable it.

To enable Github Pages, you need to go to Repository -> Settings -> Pages -> Source -> set to gh-pages branch and / (root).

If gh-pages is not available in Source, just create and push a branch called gh-pages and it should be available.

You can test the template app at https://emilk.github.io/eframe_template/.