Implement content-addressed resource storage for raster images (#4148)

* Implement content-addressed resource storage

* Implement OPFS resource storage

* Remove ResourceStorage::read

* Review
This commit is contained in:
Timon
2026-05-21 19:31:07 +00:00
committed by GitHub
parent 21d2994059
commit 2770df7567
50 changed files with 1535 additions and 355 deletions

70
Cargo.lock generated
View File

@@ -304,6 +304,20 @@ dependencies = [
"serde_core",
]
[[package]]
name = "blake3"
version = "1.8.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0aa83c34e62843d924f905e0f5c866eb1dd6545fc4d719e803d9ba6030371fce"
dependencies = [
"arrayref",
"arrayvec",
"cc",
"cfg-if",
"constant_time_eq",
"cpufeatures 0.3.0",
]
[[package]]
name = "blending-nodes"
version = "0.1.0"
@@ -812,6 +826,12 @@ dependencies = [
"windows-sys 0.60.2",
]
[[package]]
name = "constant_time_eq"
version = "0.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3d52eff69cd5e647efe296129160853a42795992097e8af39800e1060caeea9b"
[[package]]
name = "convert_case"
version = "0.8.0"
@@ -928,6 +948,15 @@ dependencies = [
"libc",
]
[[package]]
name = "cpufeatures"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8b2a41393f66f16b0823bb79094d54ac5fbd34ab292ddafb9a0456ac9f87d201"
dependencies = [
"libc",
]
[[package]]
name = "crate-hierarchy-viz"
version = "0.0.0"
@@ -1527,7 +1556,7 @@ checksum = "457e789b3d1202543297a350643cf459f836cade38934e7a4cf6a39e7cde2905"
dependencies = [
"fontconfig-parser",
"log",
"memmap2",
"memmap2 0.9.10",
"slotmap",
"tinyvec",
"ttf-parser",
@@ -1541,7 +1570,7 @@ checksum = "7c20b425addb8661e97fe1d51c4d8bcec3ec29ed6ad0db983976a7521276b8f7"
dependencies = [
"hashbrown 0.17.1",
"linebender_resource_handle",
"memmap2",
"memmap2 0.9.10",
"parlance",
"read-fonts",
"smallvec",
@@ -1853,6 +1882,7 @@ dependencies = [
"gungraun",
"js-sys",
"log",
"mmap-io",
"pretty_assertions",
"raster-nodes",
"rendering",
@@ -1866,6 +1896,7 @@ dependencies = [
"url",
"vector-nodes",
"wasm-bindgen",
"wasm-bindgen-futures",
"web-sys",
"wgpu-executor",
"winit",
@@ -1875,6 +1906,7 @@ dependencies = [
name = "graphene-application-io"
version = "0.1.0"
dependencies = [
"blake3",
"core-types",
"dyn-any",
"glam",
@@ -3105,6 +3137,15 @@ version = "2.7.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0"
[[package]]
name = "memmap2"
version = "0.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f49388d20533534cd19360ad3d6a7dadc885944aa802ba3995040c5ec11288c6"
dependencies = [
"libc",
]
[[package]]
name = "memmap2"
version = "0.9.10"
@@ -3141,6 +3182,21 @@ dependencies = [
"windows-sys 0.59.0",
]
[[package]]
name = "mmap-io"
version = "0.9.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a34b926fd173419d630eb9d8ee3a485345237bf699d6f7ea6e5c1ee97cf1fa47"
dependencies = [
"anyhow",
"cfg-if",
"libc",
"log",
"memmap2 0.7.1",
"parking_lot",
"thiserror 1.0.69",
]
[[package]]
name = "muda"
version = "0.17.1"
@@ -4852,7 +4908,7 @@ checksum = "1dd3accc0f3f4bbaf2c9e1957a030dc582028130c67660d44c0a0345a22ca69b"
dependencies = [
"ab_glyph",
"log",
"memmap2",
"memmap2 0.9.10",
"smithay-client-toolkit",
"tiny-skia",
]
@@ -5034,7 +5090,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283"
dependencies = [
"cfg-if",
"cpufeatures",
"cpufeatures 0.2.17",
"digest",
]
@@ -5120,7 +5176,7 @@ dependencies = [
"cursor-icon",
"libc",
"log",
"memmap2",
"memmap2 0.9.10",
"rustix",
"thiserror 2.0.18",
"wayland-backend",
@@ -7230,7 +7286,7 @@ name = "winit-common"
version = "0.30.12"
source = "git+https://github.com/rust-windowing/winit.git#bd6fef1d80ba063cbe91e150b3fb343927cdc72b"
dependencies = [
"memmap2",
"memmap2 0.9.10",
"objc2 0.6.4",
"objc2-core-foundation",
"smol_str",
@@ -7302,7 +7358,7 @@ dependencies = [
"cursor-icon",
"dpi",
"libc",
"memmap2",
"memmap2 0.9.10",
"raw-window-handle",
"rustix",
"sctk-adwaita",