Merged last, as asked. Conflicts, all adjacent additions, both sides kept: - joule-moq-room: Cargo.toml's wai features (live_world, remote_desktop and live_messaging); lib.rs's modules (messaging, msgstore, remote), Config's remote, messaging and call, Service's remote, messaging and calls, the epoch through remote::epoch with the conversation and calls opened beside it, and settings()'s refusals (#482's world room, #493's conversation and call); the README's world, conversation and call sections. - joule-moq-web: app.js asks a remote room's grant as #489 does and takes a given grant as #493 does (a remote page's fallback to viewer only when it asked); run.sh runs room.e2e.mjs (now with --remote) and messaging.e2e.mjs, each its own --only scenarios; the usage names every scenario. - workflows: joule-moq-room.yml's and joule-moq-web.yml's accounts; wai-conformance.yml's WAI_FEATURES gains live_messaging (#477's union) and the first step's test build names live_messaging beside the train's targets. - wai-live-web's wai features (stream_termination, live_world, live_messaging), wai-rs lib.rs's modules, registry.rs's capability list, REGISTRY.md's rows; CHANGELOG, #493's entry on top. - capabilities.json and v2.ttl regenerated (registry export, then --check). Co-Authored-By: Claude Opus 5.5 <[email protected]>
40 lines
1.8 KiB
TOML
40 lines
1.8 KiB
TOML
[package]
|
|
name = "wai-live-web"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
license = "Apache-2.0"
|
|
description = "WAI's live records for a page: the integer layout and mixer of live-compose, the room's lifecycle replay, the composition at an instant, signed events and captions, and the WAI1 envelope, built from wai-rs for wasm32-unknown-unknown. The same functions build natively, so a test compares the browser's rectangles with the host's."
|
|
|
|
[lib]
|
|
crate-type = ["cdylib", "rlib"]
|
|
|
|
[[bin]]
|
|
# A room for the browser client's end-to-end tests, and the composition the host computes
|
|
# for it (see src/bin/wai_live_web.rs).
|
|
name = "wai_live_web"
|
|
path = "src/bin/wai_live_web.rs"
|
|
|
|
[dependencies]
|
|
# Only the live records (co-performance's, live worlds', live messaging's, the browser sink's and
|
|
# stream termination's among them) and the envelope: no codec chain, nothing native.
|
|
wai = { path = "../wai-rs", default-features = false, features = ["live_compose", "timed_text", "co_performance", "browser_sink", "stream_termination", "live_world", "live_messaging"] }
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = { version = "1", features = ["preserve_order"] }
|
|
ed25519-dalek = "2"
|
|
sha2 = "0.10"
|
|
hex = "0.4"
|
|
# Pinned to the wasm-bindgen CLI the build runs: the two must match exactly.
|
|
wasm-bindgen = "=0.2.127"
|
|
|
|
[features]
|
|
# A decoder on the browser sink's wasm route (WAI extensions/browser-sink.md §4.3, §7.2):
|
|
# `decodeBound` verifies a `wai.video.int_motion` envelope against its receipts, decodes it
|
|
# with the integer decoder and binds every frame. Built as a second wasm,
|
|
# `wai_live_web_decode`, that a page loads only when an object routes to wasm, so the room's
|
|
# own build carries none of the decoder.
|
|
int_video = ["wai/video_int"]
|
|
|
|
[profile.release]
|
|
opt-level = 3
|
|
lto = true
|
|
codegen-units = 1
|