From 7e334532a691d54983b7fdedfc729f7c8f9b1801 Mon Sep 17 00:00:00 2001 From: Matt Keeter Date: Thu, 6 Jun 2024 17:55:17 -0400 Subject: [PATCH] Reorganize demos into subfolder (#135) --- .github/workflows/constraints-demo.yml | 2 +- .github/workflows/wasm-demo.yml | 5 +- Cargo.lock | 62 +++++++++--------- Cargo.toml | 8 +-- README.md | 29 ++------ demos/.gitignore | 1 + demos/README.md | 41 ++++++++++++ {demo => demos/cli}/Cargo.toml | 6 +- {demo => demos/cli}/src/main.rs | 0 {constraints => demos/constraints}/.gitignore | 0 {constraints => demos/constraints}/Cargo.toml | 4 +- {constraints => demos/constraints}/README.md | 3 +- {constraints => demos/constraints}/index.html | 0 demos/constraints/screenshot.png | Bin 0 -> 42027 bytes .../constraints}/src/main.rs | 0 {viewer => demos/viewer}/Cargo.toml | 6 +- demos/viewer/screenshot.png | Bin 0 -> 58466 bytes {viewer => demos/viewer}/src/main.rs | 0 {wasm-demo => demos/web-editor}/.gitignore | 0 {wasm-demo => demos/web-editor}/Cargo.lock | 0 {wasm-demo => demos/web-editor}/Cargo.toml | 2 +- demos/web-editor/README.md | 17 +++++ {wasm-demo => demos/web-editor}/constants.ts | 0 {wasm-demo => demos/web-editor}/index.html | 0 {wasm-demo => demos/web-editor}/index.ts | 0 {wasm-demo => demos/web-editor}/message.ts | 0 .../web-editor}/package-lock.json | 0 {wasm-demo => demos/web-editor}/package.json | 0 demos/web-editor/screenshot.png | Bin 0 -> 80055 bytes {wasm-demo => demos/web-editor}/src/lib.rs | 0 {wasm-demo => demos/web-editor}/tsconfig.json | 0 .../web-editor}/webpack.config.js | 0 {wasm-demo => demos/web-editor}/worker.ts | 0 fidget/src/rhai/core.rhai | 2 +- 34 files changed, 114 insertions(+), 74 deletions(-) create mode 100644 demos/.gitignore create mode 100644 demos/README.md rename {demo => demos/cli}/Cargo.toml (62%) rename {demo => demos/cli}/src/main.rs (100%) rename {constraints => demos/constraints}/.gitignore (100%) rename {constraints => demos/constraints}/Cargo.toml (75%) rename {constraints => demos/constraints}/README.md (85%) rename {constraints => demos/constraints}/index.html (100%) create mode 100644 demos/constraints/screenshot.png rename {constraints => demos/constraints}/src/main.rs (100%) rename {viewer => demos/viewer}/Cargo.toml (76%) create mode 100644 demos/viewer/screenshot.png rename {viewer => demos/viewer}/src/main.rs (100%) rename {wasm-demo => demos/web-editor}/.gitignore (100%) rename {wasm-demo => demos/web-editor}/Cargo.lock (100%) rename {wasm-demo => demos/web-editor}/Cargo.toml (75%) create mode 100644 demos/web-editor/README.md rename {wasm-demo => demos/web-editor}/constants.ts (100%) rename {wasm-demo => demos/web-editor}/index.html (100%) rename {wasm-demo => demos/web-editor}/index.ts (100%) rename {wasm-demo => demos/web-editor}/message.ts (100%) rename {wasm-demo => demos/web-editor}/package-lock.json (100%) rename {wasm-demo => demos/web-editor}/package.json (100%) create mode 100644 demos/web-editor/screenshot.png rename {wasm-demo => demos/web-editor}/src/lib.rs (100%) rename {wasm-demo => demos/web-editor}/tsconfig.json (100%) rename {wasm-demo => demos/web-editor}/webpack.config.js (100%) rename {wasm-demo => demos/web-editor}/worker.ts (100%) diff --git a/.github/workflows/constraints-demo.yml b/.github/workflows/constraints-demo.yml index 1efbd88c..e2f7cf02 100644 --- a/.github/workflows/constraints-demo.yml +++ b/.github/workflows/constraints-demo.yml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-latest defaults: run: - working-directory: ./constraints + working-directory: ./demos/constraints steps: - uses: actions/checkout@v4 - uses: Swatinem/rust-cache@v2 diff --git a/.github/workflows/wasm-demo.yml b/.github/workflows/wasm-demo.yml index b2f02306..2364d79b 100644 --- a/.github/workflows/wasm-demo.yml +++ b/.github/workflows/wasm-demo.yml @@ -14,14 +14,15 @@ jobs: runs-on: ubuntu-latest defaults: run: - working-directory: ./wasm-demo + working-directory: ./demos/web-editor steps: - uses: actions/checkout@v4 - uses: Swatinem/rust-cache@v2 - name: Install wasm target run: rustup target add wasm32-unknown-unknown - name: Install wasm-pack - run: curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh + run: | + curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh - name: Install npm dependencies run: npm install - name: Check Prettier diff --git a/Cargo.lock b/Cargo.lock index 4eb8c2f3..10a844ab 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -634,20 +634,6 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "96a6ac251f4a2aca6b3f91340350eab87ae57c3f127ffeb585e92bd336717991" -[[package]] -name = "demo" -version = "0.1.0" -dependencies = [ - "anyhow", - "clap", - "env_logger 0.11.2", - "fidget", - "image", - "log", - "nalgebra", - "workspace-hack", -] - [[package]] name = "dispatch" version = "0.2.0" @@ -915,6 +901,37 @@ dependencies = [ "workspace-hack", ] +[[package]] +name = "fidget-cli" +version = "0.1.0" +dependencies = [ + "anyhow", + "clap", + "env_logger 0.11.2", + "fidget", + "image", + "log", + "nalgebra", + "workspace-hack", +] + +[[package]] +name = "fidget-viewer" +version = "0.1.0" +dependencies = [ + "anyhow", + "clap", + "crossbeam-channel", + "eframe", + "env_logger 0.10.2", + "fidget", + "log", + "nalgebra", + "notify", + "rhai", + "workspace-hack", +] + [[package]] name = "filetime" version = "0.2.23" @@ -2379,23 +2396,6 @@ version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" -[[package]] -name = "viewer" -version = "0.1.0" -dependencies = [ - "anyhow", - "clap", - "crossbeam-channel", - "eframe", - "env_logger 0.10.2", - "fidget", - "log", - "nalgebra", - "notify", - "rhai", - "workspace-hack", -] - [[package]] name = "walkdir" version = "2.4.0" diff --git a/Cargo.toml b/Cargo.toml index 044fd375..8d3ef956 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -2,12 +2,12 @@ resolver = "2" members = [ "fidget", - "constraints", - "demo", - "viewer", + "demos/constraints", + "demos/cli", + "demos/viewer", "workspace-hack", ] -exclude = ["wasm-demo"] +exclude = ["demos/web-editor"] [profile.release] debug = true diff --git a/README.md b/README.md index 5f98aa5e..26bf4c42 100644 --- a/README.md +++ b/README.md @@ -51,31 +51,10 @@ Issues and PRs are welcome, although I'm unlikely to merge anything which adds substantial maintenance burden. This is a personal-scale experimental project, so adjust your expectations accordingly. -## Demo applications -In the [repository on Github](https://github.com/mkeeter/fidget), there are -two demo applications: - -- `demo` does bitmap rendering and meshing from the command line -- `viewer` is a minimal GUI for interactive exploration - -These are deliberately not published to [https://crates.io](crates.io), because -they're demo applications and not complete end-user tools. - -## WebAssembly demo -The `wasm-demo` subfolder embeds Fidget into a web application. Building this -demo requires [`wasm-pack`](https://rustwasm.github.io/wasm-pack/) -to be installed on the host system. - -In that folder, run it with -``` -npm install -npm run serve -``` - -Or bundle files for distribution with -``` -npm run build -``` +## Demos +The [`demos` folder](demos/README.md) contains several demo tools and +applications built using the Fidget crate, +ranging from CLI to GUI to web app. ## Support matrix At the moment, Fidget supports a limited number of platforms: diff --git a/demos/.gitignore b/demos/.gitignore new file mode 100644 index 00000000..557a5559 --- /dev/null +++ b/demos/.gitignore @@ -0,0 +1 @@ +!*/screenshot.png diff --git a/demos/README.md b/demos/README.md new file mode 100644 index 00000000..4d9928b9 --- /dev/null +++ b/demos/README.md @@ -0,0 +1,41 @@ +# Fidget demos +## Command-line demo ([`cli`](cli/)) + +Bitmap rendering and meshing from the command line +```shell +$ cargo run -pfidget-cli --release -- -i models/prospero.vm render2d -s512 --eval=vm -oout.png + Finished release [optimized + debuginfo] target(s) in 0.07s + Running `target/release/fidget-cli -i models/prospero.vm render2d -s512 --eval=vm -oout.png` +[2024-06-06T16:08:12Z INFO fidget_cli] Loaded file in 4.528208ms +[2024-06-06T16:08:12Z INFO fidget_cli] Built shape in 2.375208ms +[2024-06-06T16:08:12Z INFO fidget_cli] Rendered 1x at 14.489 ms/frame +``` + +## Script viewer ([`viewer`](viewer/)) +Minimal desktop GUI for interactive exploration, +using [`egui`](https://github.com/emilk/egui) + +```shell +cargo run --release -pfidget-viewer +``` + +![screenshot of script viewer](viewer/screenshot.png) + +## Constraint solving ([`constraints`](constraints/)) +Example of using Fidget for constraint solving. +Uses [`egui`](https://github.com/emilk/egui) +and runs either on the desktop or as a web app. +```shell +cargo run --release -pconstraints +``` + +![screenshot of contraint editor](constraints/screenshot.png) + +See the [subfolder](constraints/) for details on bundling for the web. + +## Web-based editor ([`web-editor`](web-editor/)) +Integrates Fidget into a TypeScript project (web only) + +![screenshot of web editor](web-editor/screenshot.png) + +See the [subfolder](web-editor/) for details on bundling for the web. diff --git a/demo/Cargo.toml b/demos/cli/Cargo.toml similarity index 62% rename from demo/Cargo.toml rename to demos/cli/Cargo.toml index ea76b6bb..03713cf2 100644 --- a/demo/Cargo.toml +++ b/demos/cli/Cargo.toml @@ -1,10 +1,10 @@ [package] -name = "demo" +name = "fidget-cli" version = "0.1.0" edition = "2021" [dependencies] -fidget = { path = "../fidget", default-features = false, features = ["render", "mesh"] } +fidget = { path = "../../fidget", default-features = false, features = ["render", "mesh"] } anyhow = "1" clap = { version = "4", features = ["derive"] } @@ -12,7 +12,7 @@ env_logger = "0.11.2" image = { version = "0.24", default-features = false, features = ["png"] } log = "0.4" nalgebra = "0.31" -workspace-hack = { version = "0.1", path = "../workspace-hack" } +workspace-hack = { version = "0.1", path = "../../workspace-hack" } [features] jit = ["fidget/jit"] diff --git a/demo/src/main.rs b/demos/cli/src/main.rs similarity index 100% rename from demo/src/main.rs rename to demos/cli/src/main.rs diff --git a/constraints/.gitignore b/demos/constraints/.gitignore similarity index 100% rename from constraints/.gitignore rename to demos/constraints/.gitignore diff --git a/constraints/Cargo.toml b/demos/constraints/Cargo.toml similarity index 75% rename from constraints/Cargo.toml rename to demos/constraints/Cargo.toml index 05559a60..9b437f7b 100644 --- a/constraints/Cargo.toml +++ b/demos/constraints/Cargo.toml @@ -10,9 +10,9 @@ eframe = { version = "0.27", default-features = false, features = [ "glow", # Use the glow rendering backend. Alternative: "wgpu". ] } -fidget = { path = "../fidget", default-features = false, features = ["solver"] } +fidget = { path = "../../fidget", default-features = false, features = ["solver"] } log = "0.4" -workspace-hack = { version = "0.1", path = "../workspace-hack" } +workspace-hack = { version = "0.1", path = "../../workspace-hack" } [target.'cfg(not(target_arch = "wasm32"))'.dependencies] env_logger = "0.10.0" diff --git a/constraints/README.md b/demos/constraints/README.md similarity index 85% rename from constraints/README.md rename to demos/constraints/README.md index 84d0ebf0..259e2d4c 100644 --- a/constraints/README.md +++ b/demos/constraints/README.md @@ -1,8 +1,9 @@ # Demo of constraint solving ## WebAssembly ### Setup +Install the [`trunk`](https://trunkrs.dev/) bundler with ``` -cargon install +locked trunk # installs the `trunk` bundler +cargo install +locked trunk ``` ### Developing In this folder, run diff --git a/constraints/index.html b/demos/constraints/index.html similarity index 100% rename from constraints/index.html rename to demos/constraints/index.html diff --git a/demos/constraints/screenshot.png b/demos/constraints/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..3e75aa9ba737319d7d441b0681ea5f85c681539c GIT binary patch literal 42027 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 literal 0 HcmV?d00001 diff --git a/constraints/src/main.rs b/demos/constraints/src/main.rs similarity index 100% rename from constraints/src/main.rs rename to demos/constraints/src/main.rs diff --git a/viewer/Cargo.toml b/demos/viewer/Cargo.toml similarity index 76% rename from viewer/Cargo.toml rename to demos/viewer/Cargo.toml index 083b5b9f..7cc00a71 100644 --- a/viewer/Cargo.toml +++ b/demos/viewer/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "viewer" +name = "fidget-viewer" version = "0.1.0" edition = "2021" @@ -15,12 +15,12 @@ eframe = { version = "0.27", default-features = false, features = [ ] } env_logger = "0.10.0" -fidget = { path = "../fidget", default-features = false, features = ["render", "rhai"] } +fidget = { path = "../../fidget", default-features = false, features = ["render", "rhai"] } log = "0.4" nalgebra = "0.31" notify = "5.0" rhai = "1.10" -workspace-hack = { version = "0.1", path = "../workspace-hack" } +workspace-hack = { version = "0.1", path = "../../workspace-hack" } [features] default = ["jit"] diff --git a/demos/viewer/screenshot.png b/demos/viewer/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..6abef16c4f4bd9c89dd4f50b89c393cbf2161c39 GIT binary patch literal 58466 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 bVvS1dx04&p6#O9Y@6hiyzZF=Vx%vM9S2c8) literal 0 HcmV?d00001 diff --git a/viewer/src/main.rs b/demos/viewer/src/main.rs similarity index 100% rename from viewer/src/main.rs rename to demos/viewer/src/main.rs diff --git a/wasm-demo/.gitignore b/demos/web-editor/.gitignore similarity index 100% rename from wasm-demo/.gitignore rename to demos/web-editor/.gitignore diff --git a/wasm-demo/Cargo.lock b/demos/web-editor/Cargo.lock similarity index 100% rename from wasm-demo/Cargo.lock rename to demos/web-editor/Cargo.lock diff --git a/wasm-demo/Cargo.toml b/demos/web-editor/Cargo.toml similarity index 75% rename from wasm-demo/Cargo.toml rename to demos/web-editor/Cargo.toml index fa231c85..fca51b5e 100644 --- a/wasm-demo/Cargo.toml +++ b/demos/web-editor/Cargo.toml @@ -8,7 +8,7 @@ crate-type = ["cdylib"] [dependencies] bincode = "1.3.3" -fidget = {path = "../fidget", default-features = false, features = ["rhai", "mesh", "render"]} +fidget = {path = "../../fidget", default-features = false, features = ["rhai", "mesh", "render"]} wasm-bindgen = "0.2.92" nalgebra = "0.31" diff --git a/demos/web-editor/README.md b/demos/web-editor/README.md new file mode 100644 index 00000000..a705d40d --- /dev/null +++ b/demos/web-editor/README.md @@ -0,0 +1,17 @@ +The `web-editor` subfolder embeds Fidget into a web application. + +Building this demo requires [`wasm-pack`](https://rustwasm.github.io/wasm-pack/) +to be installed on the host system. + +Run the editor demo with + +``` +npm install +npm run serve +``` + +Or bundle files for distribution with + +``` +npm run build +``` diff --git a/wasm-demo/constants.ts b/demos/web-editor/constants.ts similarity index 100% rename from wasm-demo/constants.ts rename to demos/web-editor/constants.ts diff --git a/wasm-demo/index.html b/demos/web-editor/index.html similarity index 100% rename from wasm-demo/index.html rename to demos/web-editor/index.html diff --git a/wasm-demo/index.ts b/demos/web-editor/index.ts similarity index 100% rename from wasm-demo/index.ts rename to demos/web-editor/index.ts diff --git a/wasm-demo/message.ts b/demos/web-editor/message.ts similarity index 100% rename from wasm-demo/message.ts rename to demos/web-editor/message.ts diff --git a/wasm-demo/package-lock.json b/demos/web-editor/package-lock.json similarity index 100% rename from wasm-demo/package-lock.json rename to demos/web-editor/package-lock.json diff --git a/wasm-demo/package.json b/demos/web-editor/package.json similarity index 100% rename from wasm-demo/package.json rename to demos/web-editor/package.json diff --git a/demos/web-editor/screenshot.png b/demos/web-editor/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..dc70932462d0042fdecb323811e50a3b224eb364 GIT binary patch literal 80055 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 z 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 L{bL13Y(xJWE>=N} literal 0 HcmV?d00001 diff --git a/wasm-demo/src/lib.rs b/demos/web-editor/src/lib.rs similarity index 100% rename from wasm-demo/src/lib.rs rename to demos/web-editor/src/lib.rs diff --git a/wasm-demo/tsconfig.json b/demos/web-editor/tsconfig.json similarity index 100% rename from wasm-demo/tsconfig.json rename to demos/web-editor/tsconfig.json diff --git a/wasm-demo/webpack.config.js b/demos/web-editor/webpack.config.js similarity index 100% rename from wasm-demo/webpack.config.js rename to demos/web-editor/webpack.config.js diff --git a/wasm-demo/worker.ts b/demos/web-editor/worker.ts similarity index 100% rename from wasm-demo/worker.ts rename to demos/web-editor/worker.ts diff --git a/fidget/src/rhai/core.rhai b/fidget/src/rhai/core.rhai index 44dd8f2a..cb9615f5 100644 --- a/fidget/src/rhai/core.rhai +++ b/fidget/src/rhai/core.rhai @@ -25,7 +25,7 @@ fn intersection(a, b) { } fn inverse(a) { - a.neg() + -a } fn difference(a, b) {