feat(imaging): add pure-Rust Skia backend (#112)
This commit is contained in:
@@ -24,7 +24,7 @@ The compatibility source is pinned at [`2aa70bb68513b39795da5d13c88f31b86e85a3ba
|
||||
| `libremetaverse-types` | 45 | 942 | 887 | none | `532cdfc175a60cb6ab109b2c43cfdda1d89cf0aadffccbcd7c9b18e1a3215bee` |
|
||||
| `libremetaverse-structured-data` | 16 | 295 | 304 | none | `b1c2ca9a683efe92ea22293384189f9e7c9a1926860893ab78c41829e641a8c3` |
|
||||
| `libremetaverse-imaging` | 3 | 20 | 70 | default, jpeg2000, rust-j2k | `19423a5aec60e38d547b809ab947e7aff6366318f97f69cde824f57ae6194c0e` |
|
||||
| `libremetaverse-imaging-skia` | 1 | 3 | 13 | default, skia | `a6a1445725410a036204496ad4953c84dcfea1e6a00390ce4e10d12d36f2876b` |
|
||||
| `libremetaverse-imaging-skia` | 1 | 3 | 17 | default, rust-skia, skia | `855a181b77413a1e5f0094b1581971fd5e0a4d93fadb5f83d54f82a7ba8ee71f` |
|
||||
| `libremetaverse-prim-mesher` | 17 | 207 | 117 | none | `dde798e86c485948f1d67e093f8194a76082101416516df3f8dca4de04c2d415` |
|
||||
| `libremetaverse-rendering-simple` | 1 | 6 | 12 | none | `4dc284ea0abb16de63494435758c8b7c5eeb57a80d2e32a141e488e5861f2fad` |
|
||||
| `libremetaverse-rendering-mesh-foundry` | 1 | 14 | 25 | none | `3689f6b454061fdae699d5fb66a11482909fa25bda398e26c38327995a9e2896` |
|
||||
@@ -46,7 +46,7 @@ The exact mapping, exported-marker, feature, and normalized Rust declaration has
|
||||
- .NET events become `subscribe_*` calls returning an owned `Subscription`; callbacks are `Send + Sync` and dispatch outside internal locks.
|
||||
- `IDisposable` becomes explicit idempotent shutdown plus `Drop`; cancellation remains a typed `Error::Cancelled`.
|
||||
- Closed C# enums retain fixed discriminants and are SemVer-breaking to extend; flags retain unknown bits, while public Rust error enums are `non_exhaustive`.
|
||||
- Optional native backends remain feature-gated (`jpeg2000`, `skia`, `vorbis`, `real-audio`); default and empty-default sets are part of the baseline.
|
||||
- Optional native and pure-Rust backends remain feature-gated (`jpeg2000`, `rust-j2k`, `skia`, `rust-skia`, `vorbis`, `real-audio`); default and empty-default sets are part of the baseline.
|
||||
- Capability HTTP injection uses project-owned `HttpMessageHandler`, `CapsHttpLimits`, and `with_native_transport`; the internal `reqwest` client is not part of the public surface.
|
||||
- External C# signature types map to core/std, adopted cross-platform crates, or project-owned boundary types; no third-party crate path leaks through mapped signatures or public Rust declarations.
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
"type_mapping_sha256": "21025889c62b0f8666a2dda46a03ff4f28931f51156927822a1c04e97b49f221",
|
||||
"member_mapping_sha256": "cd99420643c665ea393dd59418c33fb00f97f7030e71540c00b2b27470abb1d4",
|
||||
"exported_mapping_sha256": "5b8a502ce229d26732744f2b44c029fc4a86b403966dc2f9b4a1c913a7b242b9",
|
||||
"rust_declaration_sha256": "687d3d29bb0e79651881ffdda962be21df8716a4d96417175611541d0fe27a8e",
|
||||
"rust_declaration_sha256": "b2ba1ccf9293ac94164e593546891a2a122b1e5997ee4ecc2de86ef5eb0d866e",
|
||||
"crates": [
|
||||
{
|
||||
"name": "libremetaverse",
|
||||
@@ -87,14 +87,21 @@
|
||||
"version": "0.0.1",
|
||||
"features": {
|
||||
"default": [],
|
||||
"rust-skia": [
|
||||
"dep:image-webp",
|
||||
"dep:skia-rs-codec",
|
||||
"skia-rs-codec/gif",
|
||||
"skia-rs-codec/jpeg",
|
||||
"skia-rs-codec/png"
|
||||
],
|
||||
"skia": [
|
||||
"dep:skia-safe"
|
||||
]
|
||||
},
|
||||
"mapped_types": 1,
|
||||
"mapped_members": 3,
|
||||
"public_declarations": 13,
|
||||
"declaration_sha256": "a6a1445725410a036204496ad4953c84dcfea1e6a00390ce4e10d12d36f2876b"
|
||||
"public_declarations": 17,
|
||||
"declaration_sha256": "855a181b77413a1e5f0094b1581971fd5e0a4d93fadb5f83d54f82a7ba8ee71f"
|
||||
},
|
||||
{
|
||||
"name": "libremetaverse-prim-mesher",
|
||||
|
||||
Reference in New Issue
Block a user