diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 06f2f48f..ea294c16 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -20,8 +20,8 @@ jobs: with: command: check - check_demo_web: - name: Check demo_web + check_egui_demo_web: + name: Check egui_demo (web) runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 @@ -34,7 +34,7 @@ jobs: - uses: actions-rs/cargo@v1 with: command: check - args: -p demo_web --target wasm32-unknown-unknown + args: -p egui_demo --lib --target wasm32-unknown-unknown test: name: Test Suite diff --git a/.gitignore b/.gitignore index cf5857b7..14ea8159 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ **/target /.*.json /.vscode +/media/* diff --git a/Cargo.lock b/Cargo.lock index 1d90113c..1353b7d8 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -521,27 +521,6 @@ dependencies = [ "byteorder", ] -[[package]] -name = "demo_glium" -version = "0.1.0" -dependencies = [ - "egui", - "egui_glium", - "serde", -] - -[[package]] -name = "demo_web" -version = "0.1.0" -dependencies = [ - "egui", - "egui_web", - "js-sys", - "serde", - "serde_json", - "wasm-bindgen", -] - [[package]] name = "derivative" version = "2.1.1" @@ -607,6 +586,18 @@ dependencies = [ "serde_json", ] +[[package]] +name = "egui_demo" +version = "0.1.0" +dependencies = [ + "egui", + "egui_glium", + "egui_web", + "js-sys", + "serde", + "wasm-bindgen", +] + [[package]] name = "egui_glium" version = "0.5.0" diff --git a/Cargo.toml b/Cargo.toml index 8c5c44d2..5ef77dda 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,14 +1,12 @@ [workspace] members = [ - "demo_glium", - "demo_web", + "egui_demo", "egui_glium", "egui_web", "egui", "example_web", ] - [patch.crates-io] egui = { path = 'egui' } egui_glium = { path = 'egui_glium' } diff --git a/build_demo_native.sh b/build_demo_native.sh new file mode 100755 index 00000000..6497d8a6 --- /dev/null +++ b/build_demo_native.sh @@ -0,0 +1,4 @@ +#!/bin/bash +set -eu + +cargo run --bin egui_demo --release diff --git a/build_demo_web.sh b/build_demo_web.sh index 881ef6e6..5a043251 100755 --- a/build_demo_web.sh +++ b/build_demo_web.sh @@ -1,30 +1,22 @@ #!/bin/bash set -eu -# Pre-requisites: -rustup target add wasm32-unknown-unknown -if ! wasm-bindgen --version; then - cargo clean - cargo install -f wasm-bindgen-cli - cargo update -fi - -# BUILD=debug -BUILD=release +CRATE_NAME="egui_demo" export RUSTFLAGS=--cfg=web_sys_unstable_apis # required for the clipboard API # Clear output from old stuff: -rm -rf docs/demo_web.wasm +rm -rf docs/$CRATE_NAME.wasm -echo "Build rust:" -# cargo build -p demo_web --target wasm32-unknown-unknown -cargo build --release -p demo_web --target wasm32-unknown-unknown +echo "Building rust…" +BUILD=release +cargo build --release -p $CRATE_NAME --lib --target wasm32-unknown-unknown -echo "Generate JS bindings for wasm:" -FOLDER_NAME=${PWD##*/} -TARGET_NAME="demo_web.wasm" +echo "Generating JS bindings for wasm…" +TARGET_NAME="$CRATE_NAME.wasm" wasm-bindgen "target/wasm32-unknown-unknown/$BUILD/$TARGET_NAME" \ --out-dir docs --no-modules --no-typescript +echo "Finished: docs/$CRATE_NAME.wasm" + open http://localhost:8888/index.html diff --git a/build_example_web.sh b/build_example_web.sh index ba5b1e5c..0959e8dc 100755 --- a/build_example_web.sh +++ b/build_example_web.sh @@ -1,30 +1,22 @@ #!/bin/bash set -eu -# Pre-requisites: -rustup target add wasm32-unknown-unknown -if ! wasm-bindgen --version; then - cargo clean - cargo install -f wasm-bindgen-cli - cargo update -fi - -# BUILD=debug -BUILD=release +CRATE_NAME="example_web" export RUSTFLAGS=--cfg=web_sys_unstable_apis # required for the clipboard API # Clear output from old stuff: -rm -rf docs/example_web.wasm +rm -rf docs/$CRATE_NAME.wasm -echo "Build rust:" -# cargo build -p example_web --target wasm32-unknown-unknown -cargo build --release -p example_web --target wasm32-unknown-unknown +echo "Building rust…" +BUILD=release +cargo build --release -p $CRATE_NAME --lib --target wasm32-unknown-unknown -echo "Generate JS bindings for wasm:" -FOLDER_NAME=${PWD##*/} -TARGET_NAME="example_web.wasm" +echo "Generating JS bindings for wasm…" +TARGET_NAME="$CRATE_NAME.wasm" wasm-bindgen "target/wasm32-unknown-unknown/$BUILD/$TARGET_NAME" \ --out-dir docs --no-modules --no-typescript +echo "Finished: docs/$CRATE_NAME.wasm" + open http://localhost:8888/example.html diff --git a/build_glium.sh b/build_glium.sh deleted file mode 100755 index 2734c767..00000000 --- a/build_glium.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash -set -eu - -cargo run --bin demo_glium --release diff --git a/check.sh b/check.sh index 8191ba2d..38c1f294 100755 --- a/check.sh +++ b/check.sh @@ -9,10 +9,10 @@ CARGO_INCREMENTAL=0 cargo clippy --workspace --all-targets --all-features -- -D cargo test --workspace --all-targets --all-features cargo test --workspace --doc -cargo check -p egui --target wasm32-unknown-unknown -cargo check -p egui_web --target wasm32-unknown-unknown -cargo check -p demo_web --target wasm32-unknown-unknown -cargo check -p example_web --target wasm32-unknown-unknown +cargo check -p egui --lib --target wasm32-unknown-unknown +cargo check -p egui_web --lib --target wasm32-unknown-unknown +cargo check -p egui_demo --lib --target wasm32-unknown-unknown +cargo check -p example_web --lib --target wasm32-unknown-unknown # For finding bloat: # cargo bloat --release --bin demo_glium -n 200 | rg egui diff --git a/demo_glium/Cargo.toml b/demo_glium/Cargo.toml deleted file mode 100644 index 8e9fd894..00000000 --- a/demo_glium/Cargo.toml +++ /dev/null @@ -1,11 +0,0 @@ -[package] -name = "demo_glium" -version = "0.1.0" -authors = ["Emil Ernerfeldt "] -license = "MIT OR Apache-2.0" -edition = "2018" - -[dependencies] -egui = { path = "../egui", features = ["serde", "serde_json"] } -egui_glium = { path = "../egui_glium" } -serde = { version = "1", features = ["derive"] } diff --git a/docs/demo_web.js b/docs/egui_demo.js similarity index 94% rename from docs/demo_web.js rename to docs/egui_demo.js index 9490f913..6436211b 100644 --- a/docs/demo_web.js +++ b/docs/egui_demo.js @@ -213,35 +213,35 @@ function makeMutClosure(arg0, arg1, dtor, f) { return real; } function __wbg_adapter_24(arg0, arg1) { - wasm._dyn_core__ops__function__FnMut_____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__hf85506f45f4e8b16(arg0, arg1); + wasm._dyn_core__ops__function__FnMut_____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h81f03ee2d784e177(arg0, arg1); } function __wbg_adapter_27(arg0, arg1, arg2) { - wasm._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h047d08be48ab6c09(arg0, arg1, addHeapObject(arg2)); + wasm._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h16ce614a5c125c56(arg0, arg1, addHeapObject(arg2)); } function __wbg_adapter_30(arg0, arg1, arg2) { - wasm._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h047d08be48ab6c09(arg0, arg1, addHeapObject(arg2)); + wasm._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h16ce614a5c125c56(arg0, arg1, addHeapObject(arg2)); } function __wbg_adapter_33(arg0, arg1, arg2) { - wasm._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h047d08be48ab6c09(arg0, arg1, addHeapObject(arg2)); + wasm._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h16ce614a5c125c56(arg0, arg1, addHeapObject(arg2)); } function __wbg_adapter_36(arg0, arg1) { - wasm._dyn_core__ops__function__FnMut_____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__hf802d845e8b4a07b(arg0, arg1); + wasm._dyn_core__ops__function__FnMut_____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__hcb627f1d4e0d7728(arg0, arg1); } function __wbg_adapter_39(arg0, arg1, arg2) { - wasm._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h047d08be48ab6c09(arg0, arg1, addHeapObject(arg2)); + wasm._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h16ce614a5c125c56(arg0, arg1, addHeapObject(arg2)); } function __wbg_adapter_42(arg0, arg1, arg2) { - wasm._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h047d08be48ab6c09(arg0, arg1, addHeapObject(arg2)); + wasm._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h16ce614a5c125c56(arg0, arg1, addHeapObject(arg2)); } function __wbg_adapter_45(arg0, arg1, arg2) { - wasm._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__hf01ebeadb2908509(arg0, arg1, addHeapObject(arg2)); + wasm._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h49f53e48165122c2(arg0, arg1, addHeapObject(arg2)); } /** @@ -604,8 +604,8 @@ async function init(input) { imports.wbg.__wbg_viewport_54305c74f5668b33 = function(arg0, arg1, arg2, arg3, arg4) { getObject(arg0).viewport(arg1, arg2, arg3, arg4); }; - imports.wbg.__wbg_log_f2e13ca55da8bad3 = function(arg0) { - console.log(getObject(arg0)); + imports.wbg.__wbg_error_e325755affc8634b = function(arg0) { + console.error(getObject(arg0)); }; imports.wbg.__wbg_warn_9e92ccdc67085e1b = function(arg0) { console.warn(getObject(arg0)); @@ -795,35 +795,35 @@ async function init(input) { var ret = wasm.memory; return addHeapObject(ret); }; - imports.wbg.__wbindgen_closure_wrapper434 = function(arg0, arg1, arg2) { - var ret = makeMutClosure(arg0, arg1, 93, __wbg_adapter_24); + imports.wbg.__wbindgen_closure_wrapper308 = function(arg0, arg1, arg2) { + var ret = makeMutClosure(arg0, arg1, 57, __wbg_adapter_24); return addHeapObject(ret); }; - imports.wbg.__wbindgen_closure_wrapper435 = function(arg0, arg1, arg2) { - var ret = makeMutClosure(arg0, arg1, 93, __wbg_adapter_27); + imports.wbg.__wbindgen_closure_wrapper309 = function(arg0, arg1, arg2) { + var ret = makeMutClosure(arg0, arg1, 57, __wbg_adapter_27); return addHeapObject(ret); }; - imports.wbg.__wbindgen_closure_wrapper438 = function(arg0, arg1, arg2) { - var ret = makeMutClosure(arg0, arg1, 93, __wbg_adapter_30); + imports.wbg.__wbindgen_closure_wrapper311 = function(arg0, arg1, arg2) { + var ret = makeMutClosure(arg0, arg1, 57, __wbg_adapter_30); return addHeapObject(ret); }; - imports.wbg.__wbindgen_closure_wrapper440 = function(arg0, arg1, arg2) { - var ret = makeMutClosure(arg0, arg1, 93, __wbg_adapter_33); + imports.wbg.__wbindgen_closure_wrapper313 = function(arg0, arg1, arg2) { + var ret = makeMutClosure(arg0, arg1, 57, __wbg_adapter_33); return addHeapObject(ret); }; - imports.wbg.__wbindgen_closure_wrapper442 = function(arg0, arg1, arg2) { - var ret = makeMutClosure(arg0, arg1, 93, __wbg_adapter_36); + imports.wbg.__wbindgen_closure_wrapper315 = function(arg0, arg1, arg2) { + var ret = makeMutClosure(arg0, arg1, 57, __wbg_adapter_36); return addHeapObject(ret); }; - imports.wbg.__wbindgen_closure_wrapper444 = function(arg0, arg1, arg2) { - var ret = makeMutClosure(arg0, arg1, 93, __wbg_adapter_39); + imports.wbg.__wbindgen_closure_wrapper317 = function(arg0, arg1, arg2) { + var ret = makeMutClosure(arg0, arg1, 57, __wbg_adapter_39); return addHeapObject(ret); }; - imports.wbg.__wbindgen_closure_wrapper446 = function(arg0, arg1, arg2) { - var ret = makeMutClosure(arg0, arg1, 93, __wbg_adapter_42); + imports.wbg.__wbindgen_closure_wrapper320 = function(arg0, arg1, arg2) { + var ret = makeMutClosure(arg0, arg1, 57, __wbg_adapter_42); return addHeapObject(ret); }; - imports.wbg.__wbindgen_closure_wrapper521 = function(arg0, arg1, arg2) { + imports.wbg.__wbindgen_closure_wrapper499 = function(arg0, arg1, arg2) { var ret = makeMutClosure(arg0, arg1, 128, __wbg_adapter_45); return addHeapObject(ret); }; diff --git a/docs/demo_web_bg.wasm b/docs/egui_demo_bg.wasm similarity index 61% rename from docs/demo_web_bg.wasm rename to docs/egui_demo_bg.wasm index 5e6a96b2..fbc83efe 100644 Binary files a/docs/demo_web_bg.wasm and b/docs/egui_demo_bg.wasm differ diff --git a/docs/index.html b/docs/index.html index ce8f4856..2919d787 100644 --- a/docs/index.html +++ b/docs/index.html @@ -56,13 +56,13 @@ - +