Add project licensing and a full README, plus a minimal WebAssembly ping-pong example that exercises the actor runtime. - `LICENSE`: add the full GNU AGPL-3.0 text and set `license = "AGPL-3.0-only"` on every package (`swactor`, each crate, `apps/myelin`, `tools/vastai`, `xtask`) - `README.md`: rewrite from a stub into a full project overview, covering features (actor_id routing, WASM, iroh QUIC/SWIM, OTP-style std, process manager, zero-copy objects, datastream metrics, dashboard), architecture, examples, developing, status, and license - `examples/ping-pong`: new standalone workspace (`pingpong` cdylib) where two actors volley on a single-threaded `wasm` runtime driven by a Node host via `tick()`, demonstrating spawning, message passing, and death monitoring (`watching`) - `examples/ping-pong`: add a host/run harness -- `run.sh` (wasm-pack build + `run.mjs`), `serve.sh` (dashboard + static demo), `index.html`, and a pinned `Cargo.lock` - `.gitignore`: stop ignoring `.loop/`, `.deployment-notes/`, and `.omp/` Signed-off-by: Zachery Aaron Shores-Chmielewski <zacheryasc@gmail.com>
11 lines
333 B
Bash
Executable file
11 lines
333 B
Bash
Executable file
#!/usr/bin/env bash
|
|
# swactor ping-pong -- compile the demo to WebAssembly and run it.
|
|
#
|
|
# One-liner from this directory: ./run.sh [volleys]
|
|
#
|
|
# Compiles the Rust cdylib to ./pkg/ via wasm-pack, then drives it with Node.
|
|
set -euo pipefail
|
|
cd "$(dirname "$0")"
|
|
|
|
wasm-pack build --target nodejs --out-name pingpong
|
|
node run.mjs "$@"
|