Phase 0+1 of the browser viz effort: - core: drop unused `rand` dep (removes getrandom/libc → clean wasm32 build); derive serde on DungeonConfig + 5 sub-configs so the bridge can (de)serialize - reikhelm-wasm: thin wasm-bindgen cdylib exposing generate(seed, config_json) -> JSON envelope (tiles as int codes, regions, edges, per-pass snapshots) and default_config_json(); holds no generation logic - workspace: add reikhelm-wasm member; default-members keeps host cargo test/clippy on core+viz only - reikhelm-web: vanilla-JS + Canvas 2D renderer running the real core live in the browser. Atmospheric look — lit stone floor, raised stone walls with rim-lit carved edges + top bevel, room light-pooling, amber door thresholds, vignette. Controls: seed/reroll, 9 config sliders, stage scrubber, semantic overlays (region outlines / graph / grid). window.reikhelm hooks for Playwright-driven iteration. Core stays 115 tests green. Driven + screenshotted via Playwright MCP. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
8 lines
443 B
TOML
8 lines
443 B
TOML
[workspace]
|
|
resolver = "2"
|
|
members = ["reikhelm-core", "reikhelm-viz", "reikhelm-wasm"]
|
|
# A bare `cargo build`/`test`/`clippy` at the root operates only on the
|
|
# host-native crates; `reikhelm-wasm` is built deliberately for wasm32 via
|
|
# wasm-pack, so it stays out of the default host set (but remains a member so it
|
|
# shares the workspace lockfile and `cargo build -p reikhelm-wasm` works).
|
|
default-members = ["reikhelm-core", "reikhelm-viz"]
|