open-standards/aac/aac-rs/crates/aac-web/Cargo.toml
Transaction Science ba1212361f Add aac, map, sandbox standards; catalog the standards family
Commit the previously-untracked standard directories and catalog them in the
root README alongside proof:

- aac/    — communication cargo class: portable boards + a ten-level
            offline-first cascade (Apache-2.0 code / CC-BY-4.0 spec).
- map/    — geospatial cargo class: range-requestable signed tilesets +
            an F0–F4 fidelity cascade (Apache-2.0 code / CC-BY-4.0 spec).
- sandbox/— isolated, metered, attested execution across the heterogeneous
            compute fabric (Apache-2.0 code / CC-BY-4.0 spec).
- jouleclaw-otel-authz, jouleclaw-trust — new jouleclaw reference crates.

Root README now lists aac, map, sandbox, and proof in the catalog, the tree,
and the contribution guide.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
2026-06-07 17:04:36 -04:00

111 lines
3.7 KiB
TOML

[package]
name = "aac-web"
version.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
rust-version.workspace = true
authors.workspace = true
description = "aac.transaction.science — reference AAC communication app for the AAC open standard, built with Leptos 0.8. Free forever."
[lib]
crate-type = ["cdylib", "rlib"]
[[bin]]
name = "aac-web"
path = "src/main.rs"
required-features = ["ssr"]
[dependencies]
# Internal — the AAC open standard reference engine + shared access kernel
aac-core = { workspace = true }
access-core = { workspace = true }
# Leptos framework
leptos = "0.8"
leptos_router = "0.8"
leptos_meta = "0.8"
leptos_axum = { version = "0.8", optional = true }
leptos_config = { version = "0.8", optional = true }
# Common
serde = { version = "1", features = ["derive"] }
serde_json = "1"
uuid = { version = "1", features = ["v4"] }
chrono = { workspace = true }
# Server (SSR only)
axum = { version = "0.8", features = ["macros"], optional = true }
axum-server = { version = "0.8", optional = true }
tower = { version = "0.5", optional = true }
tower-http = { version = "0.6", features = ["fs", "cors"], optional = true }
tokio = { version = "1", features = ["full"], optional = true }
tracing = { version = "0.1", optional = true }
tracing-subscriber = { version = "0.3", features = ["env-filter"], optional = true }
dotenvy = { version = "0.15", optional = true }
# WASM (hydrate only). Pinned to the wasm-bindgen-cli version installed on the
# build machine (0.2.114); js-sys/web-sys cascade to matching versions.
wasm-bindgen = { version = "=0.2.114", optional = true }
wasm-bindgen-futures = { version = "0.4", optional = true }
web-sys = { version = "0.3", optional = true, features = [
"Window", "Document", "Element", "HtmlElement", "HtmlButtonElement",
"HtmlInputElement", "HtmlTextAreaElement", "HtmlVideoElement", "HtmlMediaElement",
"Node", "console", "Performance",
"KeyboardEvent", "MouseEvent", "PointerEvent", "Event", "EventTarget",
"SpeechSynthesis", "SpeechSynthesisUtterance", "SpeechSynthesisVoice",
"SpeechSynthesisEvent",
"MediaDevices", "MediaStream", "MediaStreamConstraints", "MediaRecorder", "MediaRecorderOptions",
"Navigator", "BlobEvent",
"CssStyleDeclaration", "DomRect",
"Gamepad", "GamepadButton", "GamepadEvent",
"Blob", "BlobPropertyBag", "Url", "File", "FileList", "FileReader",
"Storage",
"ServiceWorkerContainer", "ServiceWorkerRegistration",
] }
js-sys = { version = "0.3", optional = true }
gloo-timers = { version = "0.4", optional = true, features = ["futures"] }
console_error_panic_hook = { version = "0.1", optional = true }
[features]
default = []
hydrate = [
"leptos/hydrate",
"dep:wasm-bindgen",
"dep:wasm-bindgen-futures",
"dep:web-sys",
"dep:js-sys",
"dep:gloo-timers",
"dep:console_error_panic_hook",
]
ssr = [
"leptos/ssr",
"dep:leptos_axum",
"dep:leptos_config",
"dep:axum",
"dep:axum-server",
"dep:tower",
"dep:tower-http",
"dep:tokio",
"dep:tracing",
"dep:tracing-subscriber",
"dep:dotenvy",
]
[package.metadata.leptos]
bin-target = "aac-web"
output-name = "aac-web"
site-root = "target/site"
site-pkg-dir = "pkg"
style-file = "style/main.css"
assets-dir = "public"
site-addr = "127.0.0.1:3920"
reload-port = 3921
bin-features = ["ssr"]
lib-features = ["hydrate"]
# On wasm32, uuid's v4 generator needs a browser randomness source. Feature
# unification carries this to aac-core's UUID use too; the native server build
# is unaffected. (Must stay at file end — a target table closes [dependencies].)
[target.'cfg(target_arch = "wasm32")'.dependencies]
uuid = { version = "1", features = ["js"] }