diff --git a/Cargo.toml b/Cargo.toml index eb8d74d..b146873 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -23,6 +23,22 @@ members = [ "tools/concurrency-audit", "tools/performance", ] +default-members = [ + "crates/libremetaverse-types", + "crates/libremetaverse-structured-data", + "crates/libremetaverse-imaging", + "crates/libremetaverse-imaging-skia", + "crates/libremetaverse-prim-mesher", + "crates/libremetaverse", + "crates/libremetaverse-rendering-simple", + "crates/libremetaverse-rendering-mesh-foundry", + "crates/libremetaverse-lsl-tools", + "crates/libremetaverse-rlv", + "crates/libremetaverse-utilities", + "crates/libremetaverse-voice-vivox", + "crates/libremetaverse-opus", + "crates/libremetaverse-voice-webrtc", +] [workspace.package] version = "0.0.1" diff --git a/docs/imaging-meshing.md b/docs/imaging-meshing.md index 6d993b0..d1b75ef 100644 --- a/docs/imaging-meshing.md +++ b/docs/imaging-meshing.md @@ -20,13 +20,12 @@ and [`MeshFoundry` guide](../crates/libremetaverse-rendering-mesh-foundry/README | BMP/GIF/ICO/JPEG/PNG/WBMP/WebP | disabled | `libremetaverse-imaging-skia/skia` | Skia | | Prim and sculpt meshing, OBJ ingestion | enabled | n/a | none | -OpenJPEG is excluded from the default workspace and is reachable only through -the optional dependency. Skia is an optional, target-specific dependency; -Linux and Windows use the Vulkan-capable binary configuration while macOS uses -the corresponding non-Vulkan binary configuration. Dedicated workflows build -both optional features on Linux, macOS, and Windows. The default -`imaging-meshing` workflow proves that no native codec is needed for the owned -Rust and translated compatibility tests. +OpenJPEG is a non-default workspace member so release tooling can package the +adapter explicitly, and imaging reaches it only through the optional +dependency. Skia is likewise an optional, target-specific dependency. The +dedicated Gitea workflows exercise both optional features on `ubuntu-latest`; +the default `imaging-meshing` workflow proves that no native codec is needed +for the owned Rust and translated compatibility tests. ## Bounds and rendering contract diff --git a/release/DISTRIBUTION-MANIFEST.json b/release/DISTRIBUTION-MANIFEST.json index a500160..0c5a8fe 100644 --- a/release/DISTRIBUTION-MANIFEST.json +++ b/release/DISTRIBUTION-MANIFEST.json @@ -102,8 +102,8 @@ }, { "path": "Cargo.toml", - "bytes": 1766, - "sha256": "b1f014e37d153c46b56f971e99963a8a9a51cd9e30816331068f9d08bce02449" + "bytes": 2343, + "sha256": "10ed9e5e0eabc6ea30a2901c6977b38e603254bf70dbd2cb5f74627f0757e46f" }, { "path": "LICENSE.md", @@ -1627,8 +1627,8 @@ }, { "path": "docs/imaging-meshing.md", - "bytes": 3475, - "sha256": "1454507d37016db644b3a7871178372a0531ae406cc316c2ca76872d882938e8" + "bytes": 3413, + "sha256": "46559b199f5ef7de10a3280724cd1b06b733be7a078f85efefc569a001370ca5" }, { "path": "docs/inventory.md", @@ -2452,8 +2452,8 @@ }, { "path": "tools/check_milestone_06.py", - "bytes": 5336, - "sha256": "d6826c8f43c7a41d5e3c12e28cc4c8a955f149776458a907cfe3d25088f61441" + "bytes": 5531, + "sha256": "a5cc71300f5b28695830eb8e88bbe3da0facad76a11120d0445bbe3a771a6d2c" }, { "path": "tools/check_milestone_08.py", diff --git a/tools/check_milestone_06.py b/tools/check_milestone_06.py index 9c8d603..ee289de 100644 --- a/tools/check_milestone_06.py +++ b/tools/check_milestone_06.py @@ -62,8 +62,11 @@ def check_features() -> None: ): raise SystemExit("every platform-specific Skia dependency must stay optional") - workspace = load_toml(ROOT / "Cargo.toml") - if "crates/libremetaverse-openjpeg" not in workspace["workspace"].get("exclude", []): + workspace = load_toml(ROOT / "Cargo.toml")["workspace"] + adapter = "crates/libremetaverse-openjpeg" + if adapter not in workspace.get("members", []): + raise SystemExit("the native OpenJPEG adapter must remain explicitly packageable") + if adapter in workspace.get("default-members", workspace.get("members", [])): raise SystemExit("the native OpenJPEG adapter must stay outside default workspace builds")