{
"card_count": 3,
"cards": [
{
"id": "browse/catalog",
"kind": "browse-root",
"owner": "workspace",
"summary": "root browse catalog"
},
{
"id": "cookbook/stream-host",
"kind": "cookbook-recipe",
"owner": "sim-lib-stream-host",
"summary": "Host backend inventory, callback queues, fake devices, and cassettes."
},
{
"id": "registry/catalog",
"kind": "browse-registry",
"owner": "workspace",
"summary": "registry catalog browse card"
}
],
"citizen_count": 0,
"citizens": [],
"generator": "xtask repo-contract v1",
"group_count": 1,
"group_order": [
"workspace"
],
"groups": {
"workspace": [
"sim-lib-stream-halo",
"sim-lib-stream-host",
"sim-lib-stream-viture",
"sim-lib-stream-wristbridge",
"sim-viture-ffi",
"xtask"
]
},
"non_citizen_exemption_count": 0,
"non_citizen_exemptions": [],
"package_count": 6,
"packages": [
{
"crate_name": "sim_lib_stream_halo",
"dependencies": [
{
"kind": "normal",
"optional": false,
"package": "sim-lib-stream-host",
"rename": null,
"target": null
}
],
"description": "Local Halo glasses provider and byte-budgeted Lua glance renderer.",
"features": [],
"group": "workspace",
"manifest": "crates/sim-lib-stream-halo/Cargo.toml",
"name": "sim-lib-stream-halo",
"publish": "true",
"root": "crates/sim-lib-stream-halo",
"rustdoc_summary": "Local Halo glasses provider and byte-budgeted Lua glance renderer.",
"target_kinds": [
"lib"
],
"targets": [
{
"crate_types": [
"lib"
],
"kind": [
"lib"
],
"name": "sim_lib_stream_halo",
"src": "crates/sim-lib-stream-halo/src/lib.rs"
}
]
},
{
"crate_name": "sim_lib_stream_host",
"dependencies": [],
"description": "Host-device stream backend substrate for SIM streams.",
"features": [
{
"edges": [],
"name": "ble-midi-hardware",
"workspace_edges": []
},
{
"edges": [
"rtp-midi"
],
"name": "default",
"workspace_edges": []
},
{
"edges": [],
"name": "rtmidi-hardware",
"workspace_edges": []
},
{
"edges": [],
"name": "rtp-midi",
"workspace_edges": []
}
],
"group": "workspace",
"manifest": "Cargo.toml",
"name": "sim-lib-stream-host",
"publish": "true",
"root": "",
"rustdoc_summary": "Host-device stream backend substrate.",
"target_kinds": [
"lib"
],
"targets": [
{
"crate_types": [
"lib"
],
"kind": [
"lib"
],
"name": "sim_lib_stream_host",
"src": "src/lib.rs"
}
]
},
{
"crate_name": "sim_lib_stream_viture",
"dependencies": [
{
"kind": "normal",
"optional": false,
"package": "sim-lib-stream-host",
"rename": null,
"target": null
},
{
"kind": "normal",
"optional": false,
"package": "sim-viture-ffi",
"rename": null,
"target": null
}
],
"description": "Local VITURE glasses provider for SIM XR stream samples.",
"features": [],
"group": "workspace",
"manifest": "crates/sim-lib-stream-viture/Cargo.toml",
"name": "sim-lib-stream-viture",
"publish": "true",
"root": "crates/sim-lib-stream-viture",
"rustdoc_summary": "Local VITURE glasses provider for SIM XR stream samples.",
"target_kinds": [
"lib"
],
"targets": [
{
"crate_types": [
"lib"
],
"kind": [
"lib"
],
"name": "sim_lib_stream_viture",
"src": "crates/sim-lib-stream-viture/src/lib.rs"
}
]
},
{
"crate_name": "sim_lib_stream_wristbridge",
"dependencies": [
{
"kind": "normal",
"optional": false,
"package": "sim-lib-stream-host",
"rename": null,
"target": null
}
],
"description": "Local watch provider routes for SIM worn streams.",
"features": [],
"group": "workspace",
"manifest": "crates/sim-lib-stream-wristbridge/Cargo.toml",
"name": "sim-lib-stream-wristbridge",
"publish": "true",
"root": "crates/sim-lib-stream-wristbridge",
"rustdoc_summary": "Local watch provider routes for SIM worn streams.",
"target_kinds": [
"lib"
],
"targets": [
{
"crate_types": [
"lib"
],
"kind": [
"lib"
],
"name": "sim_lib_stream_wristbridge",
"src": "crates/sim-lib-stream-wristbridge/src/lib.rs"
}
]
},
{
"crate_name": "sim_viture_ffi",
"dependencies": [],
"description": "Unsafe-isolated dynamic loader for VITURE glasses SDK entry points.",
"features": [],
"group": "workspace",
"manifest": "crates/sim-viture-ffi/Cargo.toml",
"name": "sim-viture-ffi",
"publish": "true",
"root": "crates/sim-viture-ffi",
"rustdoc_summary": "Unsafe-isolated dynamic loader for VITURE glasses SDK entry points.",
"target_kinds": [
"lib"
],
"targets": [
{
"crate_types": [
"lib"
],
"kind": [
"lib"
],
"name": "sim_viture_ffi",
"src": "crates/sim-viture-ffi/src/lib.rs"
}
]
},
{
"crate_name": "xtask",
"dependencies": [],
"description": "SIM workspace package for xtask.",
"features": [],
"group": "workspace",
"manifest": "xtask/Cargo.toml",
"name": "xtask",
"publish": "false",
"root": "xtask",
"rustdoc_summary": "Repository maintenance tasks for sim-stream-host.",
"target_kinds": [
"bin"
],
"targets": [
{
"crate_types": [
"bin"
],
"kind": [
"bin"
],
"name": "xtask",
"src": "xtask/src/main.rs"
}
]
}
],
"provenance": {
"api_docs": "target/doc/",
"generated_by": "cargo run -p xtask -- simdoc",
"generation_timestamp": "2026-07-15T00:40:48+02:00",
"generator": "xtask repo-contract v1",
"git_commit": "cbc8719a2c86cd82a14111dc4dbe16546fda887e",
"repo": "sim-stream-host",
"schema": "sim.provenance.v1",
"source_commit": "cbc8719a2c86cd82a14111dc4dbe16546fda887e",
"source_remote": "https://github.com/sim-nest/sim-stream-host",
"validation_commands": [
"cargo fmt --all --check",
"cargo test",
"cargo clippy --all-targets -- -D warnings",
"cargo doc --no-deps",
"cargo run -p xtask -- simdoc --check",
"cargo run -p xtask -- check-file-sizes",
"cargo run -p xtask -- repo-contract --check --repo .",
"cargo run -p xtask -- validation-matrix --check --repo .",
"cargo run -p xtask -- crate-catalog --check --repo ."
],
"workspace_hash": "d25ad8604b03290d",
"workspace_hash_algorithm": "fnv1a64",
"workspace_hash_input_count": 89,
"workspace_hash_inputs": [
"Cargo.toml",
"crates/sim-lib-stream-halo/Cargo.toml",
"crates/sim-lib-stream-halo/src/ble.rs",
"crates/sim-lib-stream-halo/src/camera.rs",
"crates/sim-lib-stream-halo/src/frame_budget.rs",
"crates/sim-lib-stream-halo/src/lib.rs",
"crates/sim-lib-stream-halo/src/lua_render.rs",
"crates/sim-lib-stream-halo/src/provider.rs",
"crates/sim-lib-stream-halo/src/relay.rs",
"crates/sim-lib-stream-halo/src/sample.rs",
"crates/sim-lib-stream-halo/src/stub.rs",
"crates/sim-lib-stream-halo/src/tests.rs",
"crates/sim-lib-stream-viture/Cargo.toml",
"crates/sim-lib-stream-viture/src/camera.rs",
"crates/sim-lib-stream-viture/src/device_control.rs",
"crates/sim-lib-stream-viture/src/lib.rs",
"crates/sim-lib-stream-viture/src/provider.rs",
"crates/sim-lib-stream-viture/src/tests.rs",
"crates/sim-lib-stream-viture/src/vio.rs",
"crates/sim-lib-stream-wristbridge/Cargo.toml",
"crates/sim-lib-stream-wristbridge/src/ble.rs",
"crates/sim-lib-stream-wristbridge/src/bringup.rs",
"crates/sim-lib-stream-wristbridge/src/bringup_tests.rs",
"crates/sim-lib-stream-wristbridge/src/command.rs",
"crates/sim-lib-stream-wristbridge/src/event.rs",
"crates/sim-lib-stream-wristbridge/src/import.rs",
"crates/sim-lib-stream-wristbridge/src/lib.rs",
"crates/sim-lib-stream-wristbridge/src/relay.rs",
"crates/sim-lib-stream-wristbridge/src/session.rs",
"crates/sim-lib-stream-wristbridge/src/stub.rs",
"crates/sim-lib-stream-wristbridge/src/tests.rs",
"crates/sim-lib-stream-wristbridge/src/zepp.rs",
"crates/sim-viture-ffi/Cargo.toml",
"crates/sim-viture-ffi/src/carina.rs",
"crates/sim-viture-ffi/src/dynload.rs",
"crates/sim-viture-ffi/src/legacy.rs",
"crates/sim-viture-ffi/src/lib.rs",
"crates/sim-viture-ffi/src/stub.rs",
"crates/sim-viture-ffi/src/tests.rs",
"recipes/01-basics/fake-backend/recipe.toml",
"recipes/book.toml",
"src/audio_provider.rs",
"src/backend.rs",
"src/capability.rs",
"src/cassette.rs",
"src/catalog.rs",
"src/catalog_tests.rs",
"src/config.rs",
"src/config_probe.rs",
"src/config_probe_tests.rs",
"src/cookbook.rs",
"src/device.rs",
"src/device_tests.rs",
"src/eval_site.rs",
"src/fake.rs",
"src/glasses.rs",
"src/glasses_placement.rs",
"src/glasses_placement_tests.rs",
"src/glasses_tests.rs",
"src/inventory.rs",
"src/lib.rs",
"src/midi_live_eval_site.rs",
"src/midi_provider.rs",
"src/model.rs",
"src/placement/audio.rs",
"src/placement/device.rs",
"src/placement/lan.rs",
"src/placement.rs",
"src/placement_tests.rs",
"src/provider.rs",
"src/provider_tests.rs",
"src/queue.rs",
"src/registry.rs",
"src/ring.rs",
"src/ring_tests.rs",
"src/router.rs",
"src/rtp_midi.rs",
"src/site.rs",
"src/store_evict.rs",
"src/tests/backend.rs",
"src/tests/callback_queue.rs",
"src/tests/cassette.rs",
"src/tests/rtp_midi.rs",
"src/tests/stream_open.rs",
"src/tests/support.rs",
"src/tests.rs",
"src/watch.rs",
"src/watch_tests.rs",
"xtask/Cargo.toml"
]
},
"recipe_book_count": 1,
"recipes": [
{
"book": "stream-host",
"book_toml": "recipes/book.toml",
"card_id": "cookbook/stream-host",
"group": "workspace",
"package": "sim-lib-stream-host",
"recipe_count": 1,
"recipes": [
{
"card_id": "stream-host/01-basics/fake-backend",
"codec": "lisp",
"id": "fake-backend",
"package": "sim-lib-stream-host",
"recipe_toml": "recipes/01-basics/fake-backend/recipe.toml",
"title": "Fake host backend"
}
],
"summary": "Host backend inventory, callback queues, fake devices, and cassettes.",
"title": "Stream Host"
}
]
}