A new workspace binary. It reads flysim's own configuration (same env file, same FLY_FEED_BIND, FLY_BUS_DIR and idle cadence), subscribes to fly.feed.snapshots as fly-edge with one latest slot and one delivery in flight, turns each publication back into a Snapshot with feedbus::receive and serves it through flysim's feed::router, so hello, wants, drop-oldest and the 2 Hz idle header are flysim's code and the bytes are flysim's bytes. The port is bound only once the first snapshot has arrived, and when the bus goes away every client is dropped and the port unbound, which is what a stopped flysim looks like to the stage; then it reconnects every 500 ms. FLY_EDGE_METRICS_ADDR serves /metrics (fly_frames_sent_total and fly_feed_clients under their flysim names, plus fly_edge_*) and /healthz.
43 lines
1.2 KiB
TOML
43 lines
1.2 KiB
TOML
[workspace]
|
|
resolver = "3"
|
|
members = [
|
|
"crates/fly-edge",
|
|
"crates/fly-session",
|
|
"crates/fly-session-types",
|
|
"crates/flybrain-core",
|
|
"crates/flybrain-gb",
|
|
"crates/flybus",
|
|
"crates/flysim",
|
|
]
|
|
|
|
[workspace.package]
|
|
version = "0.1.1"
|
|
rust-version = "1.94"
|
|
license = "Apache-2.0"
|
|
publish = false
|
|
|
|
[workspace.dependencies]
|
|
base64 = "0.22"
|
|
cc = "1.4.2"
|
|
flate2 = "1"
|
|
cudarc = { version = "0.19.9", default-features = false, features = [
|
|
"std",
|
|
"driver",
|
|
"nvrtc",
|
|
"dynamic-loading",
|
|
"cuda-12080",
|
|
] }
|
|
indexmap = { version = "2", features = ["serde"] }
|
|
libm = "0.2"
|
|
ryu-js = "1"
|
|
serde = { version = "1.0.229", features = ["derive"] }
|
|
# `float_roundtrip` is not optional: without it serde_json's fast float parser can land 1 ulp off
|
|
# the value `JSON.parse` produces, which is enough to break a golden comparison.
|
|
serde_json = { version = "1.0.151", features = ["preserve_order", "float_roundtrip"] }
|
|
sha2 = "0.10.9"
|
|
|
|
# Bit-exactness with the TypeScript oracle is the whole point of this workspace, so the
|
|
# release profile must not be allowed to reassociate or contract float arithmetic. Rust does
|
|
# neither by default; these settings only pin the parts we do care about.
|
|
[profile.release]
|
|
debug = 1
|