dynimg 0.1.13__tar.gz → 0.1.14__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {dynimg-0.1.13 → dynimg-0.1.14}/.claude/settings.local.json +3 -1
- {dynimg-0.1.13 → dynimg-0.1.14}/Cargo.lock +57 -85
- {dynimg-0.1.13 → dynimg-0.1.14}/Cargo.toml +7 -7
- {dynimg-0.1.13 → dynimg-0.1.14}/Makefile +1 -0
- {dynimg-0.1.13 → dynimg-0.1.14}/PKG-INFO +1 -1
- {dynimg-0.1.13 → dynimg-0.1.14}/pyproject.toml +1 -1
- dynimg-0.1.14/scripts/snapshot-tests.sh +130 -0
- dynimg-0.1.14/tests/snapshots/inline-custom-size.png +0 -0
- dynimg-0.1.14/tests/snapshots/inline-only-jpg.jpg +0 -0
- dynimg-0.1.14/tests/snapshots/inline-only-webp.webp +0 -0
- dynimg-0.1.14/tests/snapshots/inline-only.png +0 -0
- dynimg-0.1.14/tests/snapshots/og-image.png +0 -0
- dynimg-0.1.14/tests/snapshots/quote.png +0 -0
- dynimg-0.1.14/tests/snapshots/social-card.png +0 -0
- {dynimg-0.1.13 → dynimg-0.1.14}/.github/workflows/build-wheels.yml +0 -0
- {dynimg-0.1.13 → dynimg-0.1.14}/.github/workflows/ci.yml +0 -0
- {dynimg-0.1.13 → dynimg-0.1.14}/.github/workflows/release.yml +0 -0
- {dynimg-0.1.13 → dynimg-0.1.14}/.gitignore +0 -0
- {dynimg-0.1.13 → dynimg-0.1.14}/.pearls/CLAUDE.md +0 -0
- {dynimg-0.1.13 → dynimg-0.1.14}/.pearls/issues.jsonl +0 -0
- {dynimg-0.1.13 → dynimg-0.1.14}/CLAUDE.md +0 -0
- {dynimg-0.1.13 → dynimg-0.1.14}/LICENSE +0 -0
- {dynimg-0.1.13 → dynimg-0.1.14}/README.md +0 -0
- {dynimg-0.1.13 → dynimg-0.1.14}/codebook.toml +0 -0
- {dynimg-0.1.13 → dynimg-0.1.14}/examples/assets/PlaywriteINGuides-Regular.ttf +0 -0
- {dynimg-0.1.13 → dynimg-0.1.14}/examples/assets/RobotoMono-Bold.ttf +0 -0
- {dynimg-0.1.13 → dynimg-0.1.14}/examples/assets/RobotoMono-Bold.woff2 +0 -0
- {dynimg-0.1.13 → dynimg-0.1.14}/examples/assets/logo.svg +0 -0
- {dynimg-0.1.13 → dynimg-0.1.14}/examples/assets/servo.css +0 -0
- {dynimg-0.1.13 → dynimg-0.1.14}/examples/assets/style.css +0 -0
- {dynimg-0.1.13 → dynimg-0.1.14}/examples/google-fonts.html +0 -0
- {dynimg-0.1.13 → dynimg-0.1.14}/examples/inline-only.html +0 -0
- {dynimg-0.1.13 → dynimg-0.1.14}/examples/local-assets.html +0 -0
- {dynimg-0.1.13 → dynimg-0.1.14}/examples/local-font-woff2.html +0 -0
- {dynimg-0.1.13 → dynimg-0.1.14}/examples/local-font.html +0 -0
- {dynimg-0.1.13 → dynimg-0.1.14}/examples/mixed-assets.html +0 -0
- {dynimg-0.1.13 → dynimg-0.1.14}/examples/og-image.html +0 -0
- {dynimg-0.1.13 → dynimg-0.1.14}/examples/quote.html +0 -0
- {dynimg-0.1.13 → dynimg-0.1.14}/examples/remote-image.html +0 -0
- {dynimg-0.1.13 → dynimg-0.1.14}/examples/servo.html +0 -0
- {dynimg-0.1.13 → dynimg-0.1.14}/examples/social-card.html +0 -0
- {dynimg-0.1.13 → dynimg-0.1.14}/python/dynimg/__init__.py +0 -0
- {dynimg-0.1.13 → dynimg-0.1.14}/python/dynimg/__init__.pyi +0 -0
- {dynimg-0.1.13 → dynimg-0.1.14}/python/dynimg/py.typed +0 -0
- {dynimg-0.1.13 → dynimg-0.1.14}/scripts/release.sh +0 -0
- {dynimg-0.1.13 → dynimg-0.1.14}/scripts/render-examples.sh +0 -0
- {dynimg-0.1.13 → dynimg-0.1.14}/src/lib.rs +0 -0
- {dynimg-0.1.13 → dynimg-0.1.14}/src/main.rs +0 -0
- {dynimg-0.1.13 → dynimg-0.1.14}/src/python.rs +0 -0
- {dynimg-0.1.13 → dynimg-0.1.14}/test_wheels/.gitignore +0 -0
- {dynimg-0.1.13 → dynimg-0.1.14}/test_wheels/README.md +0 -0
- {dynimg-0.1.13 → dynimg-0.1.14}/test_wheels/debug_parser.py +0 -0
- {dynimg-0.1.13 → dynimg-0.1.14}/test_wheels/debug_verbose.py +0 -0
- {dynimg-0.1.13 → dynimg-0.1.14}/test_wheels/test_dynimg.py +0 -0
- {dynimg-0.1.13 → dynimg-0.1.14}/test_wheels/test_from_ci.sh +0 -0
|
@@ -231,7 +231,7 @@ dependencies = [
|
|
|
231
231
|
[[package]]
|
|
232
232
|
name = "blitz-dom"
|
|
233
233
|
version = "0.2.2"
|
|
234
|
-
source = "git+https://github.com/DioxusLabs/blitz.git?rev=
|
|
234
|
+
source = "git+https://github.com/DioxusLabs/blitz.git?rev=5889435#58894358f0e67703d9baf4b17134466905ea4d9c"
|
|
235
235
|
dependencies = [
|
|
236
236
|
"accesskit",
|
|
237
237
|
"app_units",
|
|
@@ -241,7 +241,7 @@ dependencies = [
|
|
|
241
241
|
"color",
|
|
242
242
|
"cssparser",
|
|
243
243
|
"cursor-icon",
|
|
244
|
-
"debug_timer 0.1.3 (git+https://github.com/DioxusLabs/blitz.git?rev=
|
|
244
|
+
"debug_timer 0.1.3 (git+https://github.com/DioxusLabs/blitz.git?rev=5889435)",
|
|
245
245
|
"euclid",
|
|
246
246
|
"fastrand",
|
|
247
247
|
"html-escape",
|
|
@@ -273,7 +273,7 @@ dependencies = [
|
|
|
273
273
|
[[package]]
|
|
274
274
|
name = "blitz-html"
|
|
275
275
|
version = "0.2.0"
|
|
276
|
-
source = "git+https://github.com/DioxusLabs/blitz.git?rev=
|
|
276
|
+
source = "git+https://github.com/DioxusLabs/blitz.git?rev=5889435#58894358f0e67703d9baf4b17134466905ea4d9c"
|
|
277
277
|
dependencies = [
|
|
278
278
|
"blitz-dom",
|
|
279
279
|
"blitz-traits",
|
|
@@ -284,7 +284,7 @@ dependencies = [
|
|
|
284
284
|
[[package]]
|
|
285
285
|
name = "blitz-net"
|
|
286
286
|
version = "0.2.1"
|
|
287
|
-
source = "git+https://github.com/DioxusLabs/blitz.git?rev=
|
|
287
|
+
source = "git+https://github.com/DioxusLabs/blitz.git?rev=5889435#58894358f0e67703d9baf4b17134466905ea4d9c"
|
|
288
288
|
dependencies = [
|
|
289
289
|
"blitz-traits",
|
|
290
290
|
"data-url",
|
|
@@ -298,7 +298,7 @@ dependencies = [
|
|
|
298
298
|
[[package]]
|
|
299
299
|
name = "blitz-paint"
|
|
300
300
|
version = "0.2.1"
|
|
301
|
-
source = "git+https://github.com/DioxusLabs/blitz.git?rev=
|
|
301
|
+
source = "git+https://github.com/DioxusLabs/blitz.git?rev=5889435#58894358f0e67703d9baf4b17134466905ea4d9c"
|
|
302
302
|
dependencies = [
|
|
303
303
|
"anyrender",
|
|
304
304
|
"anyrender_svg",
|
|
@@ -317,7 +317,7 @@ dependencies = [
|
|
|
317
317
|
[[package]]
|
|
318
318
|
name = "blitz-traits"
|
|
319
319
|
version = "0.2.0"
|
|
320
|
-
source = "git+https://github.com/DioxusLabs/blitz.git?rev=
|
|
320
|
+
source = "git+https://github.com/DioxusLabs/blitz.git?rev=5889435#58894358f0e67703d9baf4b17134466905ea4d9c"
|
|
321
321
|
dependencies = [
|
|
322
322
|
"bitflags 2.10.0",
|
|
323
323
|
"bytes",
|
|
@@ -365,9 +365,9 @@ checksum = "5dd9dc738b7a8311c7ade152424974d8115f2cdad61e8dab8dac9f2362298510"
|
|
|
365
365
|
|
|
366
366
|
[[package]]
|
|
367
367
|
name = "bytemuck"
|
|
368
|
-
version = "1.
|
|
368
|
+
version = "1.25.0"
|
|
369
369
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
370
|
-
checksum = "
|
|
370
|
+
checksum = "c8efb64bd706a16a1bdde310ae86b351e4d21550d98d056f22f8a7f7a2183fec"
|
|
371
371
|
dependencies = [
|
|
372
372
|
"bytemuck_derive",
|
|
373
373
|
]
|
|
@@ -397,9 +397,9 @@ checksum = "8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495"
|
|
|
397
397
|
|
|
398
398
|
[[package]]
|
|
399
399
|
name = "bytes"
|
|
400
|
-
version = "1.11.
|
|
400
|
+
version = "1.11.1"
|
|
401
401
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
402
|
-
checksum = "
|
|
402
|
+
checksum = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33"
|
|
403
403
|
|
|
404
404
|
[[package]]
|
|
405
405
|
name = "cacache"
|
|
@@ -430,9 +430,9 @@ dependencies = [
|
|
|
430
430
|
|
|
431
431
|
[[package]]
|
|
432
432
|
name = "cc"
|
|
433
|
-
version = "1.2.
|
|
433
|
+
version = "1.2.55"
|
|
434
434
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
435
|
-
checksum = "
|
|
435
|
+
checksum = "47b26a0954ae34af09b50f0de26458fa95369a0d478d8236d3f93082b219bd29"
|
|
436
436
|
dependencies = [
|
|
437
437
|
"find-msvc-tools",
|
|
438
438
|
"jobserver",
|
|
@@ -454,9 +454,9 @@ checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724"
|
|
|
454
454
|
|
|
455
455
|
[[package]]
|
|
456
456
|
name = "clap"
|
|
457
|
-
version = "4.5.
|
|
457
|
+
version = "4.5.57"
|
|
458
458
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
459
|
-
checksum = "
|
|
459
|
+
checksum = "6899ea499e3fb9305a65d5ebf6e3d2248c5fab291f300ad0a704fbe142eae31a"
|
|
460
460
|
dependencies = [
|
|
461
461
|
"clap_builder",
|
|
462
462
|
"clap_derive",
|
|
@@ -464,9 +464,9 @@ dependencies = [
|
|
|
464
464
|
|
|
465
465
|
[[package]]
|
|
466
466
|
name = "clap_builder"
|
|
467
|
-
version = "4.5.
|
|
467
|
+
version = "4.5.57"
|
|
468
468
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
469
|
-
checksum = "
|
|
469
|
+
checksum = "7b12c8b680195a62a8364d16b8447b01b6c2c8f9aaf68bee653be34d4245e238"
|
|
470
470
|
dependencies = [
|
|
471
471
|
"anstream",
|
|
472
472
|
"anstyle",
|
|
@@ -654,7 +654,7 @@ checksum = "da220af51a1a335e9a930beaaef53d261e41ea9eecfb3d973a3ddae1a7284b9c"
|
|
|
654
654
|
[[package]]
|
|
655
655
|
name = "debug_timer"
|
|
656
656
|
version = "0.1.3"
|
|
657
|
-
source = "git+https://github.com/DioxusLabs/blitz.git?rev=
|
|
657
|
+
source = "git+https://github.com/DioxusLabs/blitz.git?rev=5889435#58894358f0e67703d9baf4b17134466905ea4d9c"
|
|
658
658
|
|
|
659
659
|
[[package]]
|
|
660
660
|
name = "deranged"
|
|
@@ -714,7 +714,7 @@ dependencies = [
|
|
|
714
714
|
"libc",
|
|
715
715
|
"option-ext",
|
|
716
716
|
"redox_users",
|
|
717
|
-
"windows-sys 0.
|
|
717
|
+
"windows-sys 0.61.2",
|
|
718
718
|
]
|
|
719
719
|
|
|
720
720
|
[[package]]
|
|
@@ -754,7 +754,7 @@ dependencies = [
|
|
|
754
754
|
|
|
755
755
|
[[package]]
|
|
756
756
|
name = "dynimg"
|
|
757
|
-
version = "0.1.
|
|
757
|
+
version = "0.1.14"
|
|
758
758
|
dependencies = [
|
|
759
759
|
"anyhow",
|
|
760
760
|
"anyrender",
|
|
@@ -806,7 +806,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
806
806
|
checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb"
|
|
807
807
|
dependencies = [
|
|
808
808
|
"libc",
|
|
809
|
-
"windows-sys 0.
|
|
809
|
+
"windows-sys 0.61.2",
|
|
810
810
|
]
|
|
811
811
|
|
|
812
812
|
[[package]]
|
|
@@ -845,15 +845,15 @@ dependencies = [
|
|
|
845
845
|
|
|
846
846
|
[[package]]
|
|
847
847
|
name = "find-msvc-tools"
|
|
848
|
-
version = "0.1.
|
|
848
|
+
version = "0.1.9"
|
|
849
849
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
850
|
-
checksum = "
|
|
850
|
+
checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582"
|
|
851
851
|
|
|
852
852
|
[[package]]
|
|
853
853
|
name = "flate2"
|
|
854
|
-
version = "1.1.
|
|
854
|
+
version = "1.1.9"
|
|
855
855
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
856
|
-
checksum = "
|
|
856
|
+
checksum = "843fba2746e448b37e26a819579957415c8cef339bf08564fe8b7ddbd959573c"
|
|
857
857
|
dependencies = [
|
|
858
858
|
"crc32fast",
|
|
859
859
|
"miniz_oxide",
|
|
@@ -1242,9 +1242,9 @@ dependencies = [
|
|
|
1242
1242
|
|
|
1243
1243
|
[[package]]
|
|
1244
1244
|
name = "http-cache-semantics"
|
|
1245
|
-
version = "2.1.
|
|
1245
|
+
version = "2.1.1"
|
|
1246
1246
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1247
|
-
checksum = "
|
|
1247
|
+
checksum = "4311240f94cb6fe622337dc580b09ddd6ae4a891eb121dba20cf4f77ca4e7129"
|
|
1248
1248
|
dependencies = [
|
|
1249
1249
|
"http",
|
|
1250
1250
|
"http-serde",
|
|
@@ -1314,14 +1314,13 @@ dependencies = [
|
|
|
1314
1314
|
|
|
1315
1315
|
[[package]]
|
|
1316
1316
|
name = "hyper-util"
|
|
1317
|
-
version = "0.1.
|
|
1317
|
+
version = "0.1.20"
|
|
1318
1318
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1319
|
-
checksum = "
|
|
1319
|
+
checksum = "96547c2556ec9d12fb1578c4eaf448b04993e7fb79cbaad930a656880a6bdfa0"
|
|
1320
1320
|
dependencies = [
|
|
1321
1321
|
"base64 0.22.1",
|
|
1322
1322
|
"bytes",
|
|
1323
1323
|
"futures-channel",
|
|
1324
|
-
"futures-core",
|
|
1325
1324
|
"futures-util",
|
|
1326
1325
|
"http",
|
|
1327
1326
|
"http-body",
|
|
@@ -1533,15 +1532,6 @@ dependencies = [
|
|
|
1533
1532
|
"hashbrown",
|
|
1534
1533
|
]
|
|
1535
1534
|
|
|
1536
|
-
[[package]]
|
|
1537
|
-
name = "indoc"
|
|
1538
|
-
version = "2.0.7"
|
|
1539
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1540
|
-
checksum = "79cf5c93f93228cf8efb3ba362535fb11199ac548a09ce117c9b1adc3030d706"
|
|
1541
|
-
dependencies = [
|
|
1542
|
-
"rustversion",
|
|
1543
|
-
]
|
|
1544
|
-
|
|
1545
1535
|
[[package]]
|
|
1546
1536
|
name = "ipnet"
|
|
1547
1537
|
version = "2.11.0"
|
|
@@ -1763,15 +1753,6 @@ dependencies = [
|
|
|
1763
1753
|
"libc",
|
|
1764
1754
|
]
|
|
1765
1755
|
|
|
1766
|
-
[[package]]
|
|
1767
|
-
name = "memoffset"
|
|
1768
|
-
version = "0.9.1"
|
|
1769
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1770
|
-
checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a"
|
|
1771
|
-
dependencies = [
|
|
1772
|
-
"autocfg",
|
|
1773
|
-
]
|
|
1774
|
-
|
|
1775
1756
|
[[package]]
|
|
1776
1757
|
name = "miette"
|
|
1777
1758
|
version = "5.10.0"
|
|
@@ -2104,9 +2085,9 @@ dependencies = [
|
|
|
2104
2085
|
|
|
2105
2086
|
[[package]]
|
|
2106
2087
|
name = "portable-atomic"
|
|
2107
|
-
version = "1.13.
|
|
2088
|
+
version = "1.13.1"
|
|
2108
2089
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2109
|
-
checksum = "
|
|
2090
|
+
checksum = "c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49"
|
|
2110
2091
|
|
|
2111
2092
|
[[package]]
|
|
2112
2093
|
name = "potential_utf"
|
|
@@ -2151,35 +2132,32 @@ dependencies = [
|
|
|
2151
2132
|
|
|
2152
2133
|
[[package]]
|
|
2153
2134
|
name = "pyo3"
|
|
2154
|
-
version = "0.
|
|
2135
|
+
version = "0.28.0"
|
|
2155
2136
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2156
|
-
checksum = "
|
|
2137
|
+
checksum = "fcf3ccafdf54c050be48a3a086d372f77ba6615f5057211607cd30e5ac5cec6d"
|
|
2157
2138
|
dependencies = [
|
|
2158
|
-
"indoc",
|
|
2159
2139
|
"libc",
|
|
2160
|
-
"memoffset",
|
|
2161
2140
|
"once_cell",
|
|
2162
2141
|
"portable-atomic",
|
|
2163
2142
|
"pyo3-build-config",
|
|
2164
2143
|
"pyo3-ffi",
|
|
2165
2144
|
"pyo3-macros",
|
|
2166
|
-
"unindent",
|
|
2167
2145
|
]
|
|
2168
2146
|
|
|
2169
2147
|
[[package]]
|
|
2170
2148
|
name = "pyo3-build-config"
|
|
2171
|
-
version = "0.
|
|
2149
|
+
version = "0.28.0"
|
|
2172
2150
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2173
|
-
checksum = "
|
|
2151
|
+
checksum = "972720a441c91fd9c49f212a1d2d74c6e3803b231ebc8d66c51efbd7ccab11c8"
|
|
2174
2152
|
dependencies = [
|
|
2175
2153
|
"target-lexicon",
|
|
2176
2154
|
]
|
|
2177
2155
|
|
|
2178
2156
|
[[package]]
|
|
2179
2157
|
name = "pyo3-ffi"
|
|
2180
|
-
version = "0.
|
|
2158
|
+
version = "0.28.0"
|
|
2181
2159
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2182
|
-
checksum = "
|
|
2160
|
+
checksum = "5994456d9dab8934d600d3867571b6410f24fbd6002570ad56356733eb54859b"
|
|
2183
2161
|
dependencies = [
|
|
2184
2162
|
"libc",
|
|
2185
2163
|
"pyo3-build-config",
|
|
@@ -2187,9 +2165,9 @@ dependencies = [
|
|
|
2187
2165
|
|
|
2188
2166
|
[[package]]
|
|
2189
2167
|
name = "pyo3-macros"
|
|
2190
|
-
version = "0.
|
|
2168
|
+
version = "0.28.0"
|
|
2191
2169
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2192
|
-
checksum = "
|
|
2170
|
+
checksum = "11ce9cc8d81b3c4969748807604d92b4eef363c5bb82b1a1bdb34ec6f1093a18"
|
|
2193
2171
|
dependencies = [
|
|
2194
2172
|
"proc-macro2",
|
|
2195
2173
|
"pyo3-macros-backend",
|
|
@@ -2199,9 +2177,9 @@ dependencies = [
|
|
|
2199
2177
|
|
|
2200
2178
|
[[package]]
|
|
2201
2179
|
name = "pyo3-macros-backend"
|
|
2202
|
-
version = "0.
|
|
2180
|
+
version = "0.28.0"
|
|
2203
2181
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2204
|
-
checksum = "
|
|
2182
|
+
checksum = "eaf4b60036a154d23282679b658e3cc7d88d3b8c9a40b43824785f232d2e1b98"
|
|
2205
2183
|
dependencies = [
|
|
2206
2184
|
"heck",
|
|
2207
2185
|
"proc-macro2",
|
|
@@ -2396,9 +2374,9 @@ dependencies = [
|
|
|
2396
2374
|
|
|
2397
2375
|
[[package]]
|
|
2398
2376
|
name = "regex-automata"
|
|
2399
|
-
version = "0.4.
|
|
2377
|
+
version = "0.4.14"
|
|
2400
2378
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2401
|
-
checksum = "
|
|
2379
|
+
checksum = "6e1dd4122fc1595e8162618945476892eefca7b88c52820e74af6262213cae8f"
|
|
2402
2380
|
dependencies = [
|
|
2403
2381
|
"aho-corasick",
|
|
2404
2382
|
"memchr",
|
|
@@ -2407,9 +2385,9 @@ dependencies = [
|
|
|
2407
2385
|
|
|
2408
2386
|
[[package]]
|
|
2409
2387
|
name = "regex-syntax"
|
|
2410
|
-
version = "0.8.
|
|
2388
|
+
version = "0.8.9"
|
|
2411
2389
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2412
|
-
checksum = "
|
|
2390
|
+
checksum = "a96887878f22d7bad8a3b6dc5b7440e0ada9a245242924394987b21cf2210a4c"
|
|
2413
2391
|
|
|
2414
2392
|
[[package]]
|
|
2415
2393
|
name = "reqwest"
|
|
@@ -2520,7 +2498,7 @@ dependencies = [
|
|
|
2520
2498
|
"errno",
|
|
2521
2499
|
"libc",
|
|
2522
2500
|
"linux-raw-sys",
|
|
2523
|
-
"windows-sys 0.
|
|
2501
|
+
"windows-sys 0.61.2",
|
|
2524
2502
|
]
|
|
2525
2503
|
|
|
2526
2504
|
[[package]]
|
|
@@ -2786,9 +2764,9 @@ dependencies = [
|
|
|
2786
2764
|
|
|
2787
2765
|
[[package]]
|
|
2788
2766
|
name = "slab"
|
|
2789
|
-
version = "0.4.
|
|
2767
|
+
version = "0.4.12"
|
|
2790
2768
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2791
|
-
checksum = "
|
|
2769
|
+
checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5"
|
|
2792
2770
|
|
|
2793
2771
|
[[package]]
|
|
2794
2772
|
name = "slotmap"
|
|
@@ -3022,7 +3000,7 @@ checksum = "fd15301b4756455af51fda9835655e48812dd4175e80947fd5d6a4b57ee30e89"
|
|
|
3022
3000
|
[[package]]
|
|
3023
3001
|
name = "stylo_taffy"
|
|
3024
3002
|
version = "0.2.0"
|
|
3025
|
-
source = "git+https://github.com/DioxusLabs/blitz.git?rev=
|
|
3003
|
+
source = "git+https://github.com/DioxusLabs/blitz.git?rev=5889435#58894358f0e67703d9baf4b17134466905ea4d9c"
|
|
3026
3004
|
dependencies = [
|
|
3027
3005
|
"stylo",
|
|
3028
3006
|
"stylo_atoms",
|
|
@@ -3136,7 +3114,7 @@ dependencies = [
|
|
|
3136
3114
|
"getrandom 0.3.4",
|
|
3137
3115
|
"once_cell",
|
|
3138
3116
|
"rustix",
|
|
3139
|
-
"windows-sys 0.
|
|
3117
|
+
"windows-sys 0.61.2",
|
|
3140
3118
|
]
|
|
3141
3119
|
|
|
3142
3120
|
[[package]]
|
|
@@ -3536,12 +3514,6 @@ version = "0.1.14"
|
|
|
3536
3514
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3537
3515
|
checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af"
|
|
3538
3516
|
|
|
3539
|
-
[[package]]
|
|
3540
|
-
name = "unindent"
|
|
3541
|
-
version = "0.2.4"
|
|
3542
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3543
|
-
checksum = "7264e107f553ccae879d21fbea1d6724ac785e8c3bfc762137959b5802826ef3"
|
|
3544
|
-
|
|
3545
3517
|
[[package]]
|
|
3546
3518
|
name = "untrusted"
|
|
3547
3519
|
version = "0.9.0"
|
|
@@ -3799,9 +3771,9 @@ dependencies = [
|
|
|
3799
3771
|
|
|
3800
3772
|
[[package]]
|
|
3801
3773
|
name = "webpki-roots"
|
|
3802
|
-
version = "1.0.
|
|
3774
|
+
version = "1.0.6"
|
|
3803
3775
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3804
|
-
checksum = "
|
|
3776
|
+
checksum = "22cfaf3c063993ff62e73cb4311efde4db1efb31ab78a3e5c457939ad5cc0bed"
|
|
3805
3777
|
dependencies = [
|
|
3806
3778
|
"rustls-pki-types",
|
|
3807
3779
|
]
|
|
@@ -4246,18 +4218,18 @@ checksum = "6df3dc4292935e51816d896edcd52aa30bc297907c26167fec31e2b0c6a32524"
|
|
|
4246
4218
|
|
|
4247
4219
|
[[package]]
|
|
4248
4220
|
name = "zerocopy"
|
|
4249
|
-
version = "0.8.
|
|
4221
|
+
version = "0.8.38"
|
|
4250
4222
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
4251
|
-
checksum = "
|
|
4223
|
+
checksum = "57cf3aa6855b23711ee9852dfc97dfaa51c45feaba5b645d0c777414d494a961"
|
|
4252
4224
|
dependencies = [
|
|
4253
4225
|
"zerocopy-derive",
|
|
4254
4226
|
]
|
|
4255
4227
|
|
|
4256
4228
|
[[package]]
|
|
4257
4229
|
name = "zerocopy-derive"
|
|
4258
|
-
version = "0.8.
|
|
4230
|
+
version = "0.8.38"
|
|
4259
4231
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
4260
|
-
checksum = "
|
|
4232
|
+
checksum = "8a616990af1a287837c4fe6596ad77ef57948f787e46ce28e166facc0cc1cb75"
|
|
4261
4233
|
dependencies = [
|
|
4262
4234
|
"proc-macro2",
|
|
4263
4235
|
"quote",
|
|
@@ -4327,9 +4299,9 @@ dependencies = [
|
|
|
4327
4299
|
|
|
4328
4300
|
[[package]]
|
|
4329
4301
|
name = "zmij"
|
|
4330
|
-
version = "1.0.
|
|
4302
|
+
version = "1.0.19"
|
|
4331
4303
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
4332
|
-
checksum = "
|
|
4304
|
+
checksum = "3ff05f8caa9038894637571ae6b9e29466c1f4f829d26c9b28f869a29cbe3445"
|
|
4333
4305
|
|
|
4334
4306
|
[[package]]
|
|
4335
4307
|
name = "zune-core"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[package]
|
|
2
2
|
name = "dynimg"
|
|
3
|
-
version = "0.1.
|
|
3
|
+
version = "0.1.14"
|
|
4
4
|
edition = "2024"
|
|
5
5
|
description = "A fast library and CLI for rendering HTML/CSS to images"
|
|
6
6
|
license = "MIT"
|
|
@@ -24,16 +24,16 @@ python = ["pyo3", "libc"]
|
|
|
24
24
|
|
|
25
25
|
[dependencies]
|
|
26
26
|
# Python bindings (optional)
|
|
27
|
-
pyo3 = { version = "0.
|
|
27
|
+
pyo3 = { version = "0.28", features = ["extension-module", "abi3-py311"], optional = true }
|
|
28
28
|
libc = { version = "0.2", optional = true }
|
|
29
29
|
|
|
30
30
|
|
|
31
31
|
# Blitz rendering engine (from git - matches example.rs)
|
|
32
|
-
blitz-dom = { git = "https://github.com/DioxusLabs/blitz.git", rev = "
|
|
33
|
-
blitz-html = { git = "https://github.com/DioxusLabs/blitz.git", rev = "
|
|
34
|
-
blitz-net = { git = "https://github.com/DioxusLabs/blitz.git", rev = "
|
|
35
|
-
blitz-paint = { git = "https://github.com/DioxusLabs/blitz.git", rev = "
|
|
36
|
-
blitz-traits = { git = "https://github.com/DioxusLabs/blitz.git", rev = "
|
|
32
|
+
blitz-dom = { git = "https://github.com/DioxusLabs/blitz.git", rev = "5889435", features = ["tracing"] }
|
|
33
|
+
blitz-html = { git = "https://github.com/DioxusLabs/blitz.git", rev = "5889435" }
|
|
34
|
+
blitz-net = { git = "https://github.com/DioxusLabs/blitz.git", rev = "5889435", features = ["cache"] }
|
|
35
|
+
blitz-paint = { git = "https://github.com/DioxusLabs/blitz.git", rev = "5889435" }
|
|
36
|
+
blitz-traits = { git = "https://github.com/DioxusLabs/blitz.git", rev = "5889435" }
|
|
37
37
|
|
|
38
38
|
# Anyrender - use the same version blitz uses (from crates.io)
|
|
39
39
|
anyrender = "0.7"
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# Snapshot tests: compare rendered output against known good images
|
|
3
|
+
# Run from project root: ./scripts/snapshot-tests.sh
|
|
4
|
+
# Update snapshots: ./scripts/snapshot-tests.sh --update
|
|
5
|
+
|
|
6
|
+
set -e
|
|
7
|
+
|
|
8
|
+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
9
|
+
PROJECT_ROOT="$(dirname "$SCRIPT_DIR")"
|
|
10
|
+
SNAPSHOTS_DIR="$PROJECT_ROOT/tests/snapshots"
|
|
11
|
+
EXAMPLES_DIR="$PROJECT_ROOT/examples"
|
|
12
|
+
TMP_DIR=$(mktemp -d)
|
|
13
|
+
|
|
14
|
+
# Colors
|
|
15
|
+
RED='\033[0;31m'
|
|
16
|
+
GREEN='\033[0;32m'
|
|
17
|
+
YELLOW='\033[1;33m'
|
|
18
|
+
NC='\033[0m'
|
|
19
|
+
|
|
20
|
+
# Parse args
|
|
21
|
+
UPDATE_MODE=false
|
|
22
|
+
if [ "$1" = "--update" ] || [ "$1" = "-u" ]; then
|
|
23
|
+
UPDATE_MODE=true
|
|
24
|
+
fi
|
|
25
|
+
|
|
26
|
+
# Cleanup on exit
|
|
27
|
+
cleanup() {
|
|
28
|
+
rm -rf "$TMP_DIR"
|
|
29
|
+
}
|
|
30
|
+
trap cleanup EXIT
|
|
31
|
+
|
|
32
|
+
# Build release version
|
|
33
|
+
echo "Building dynimg..."
|
|
34
|
+
cargo build --release --manifest-path "$PROJECT_ROOT/Cargo.toml" --quiet || exit 1
|
|
35
|
+
DYNIMG="$PROJECT_ROOT/target/release/dynimg"
|
|
36
|
+
|
|
37
|
+
echo ""
|
|
38
|
+
echo "=== Snapshot Tests ==="
|
|
39
|
+
|
|
40
|
+
if [ "$UPDATE_MODE" = true ]; then
|
|
41
|
+
echo -e "${YELLOW}Running in UPDATE mode - snapshots will be regenerated${NC}"
|
|
42
|
+
fi
|
|
43
|
+
echo ""
|
|
44
|
+
|
|
45
|
+
# Track results
|
|
46
|
+
PASSED=0
|
|
47
|
+
FAILED=0
|
|
48
|
+
|
|
49
|
+
# Run a snapshot test
|
|
50
|
+
# Args: name, extension, input_html, [extra_args...]
|
|
51
|
+
snapshot_test() {
|
|
52
|
+
local name="$1"
|
|
53
|
+
local ext="$2"
|
|
54
|
+
local input="$3"
|
|
55
|
+
shift 3
|
|
56
|
+
local extra_args=("$@")
|
|
57
|
+
|
|
58
|
+
local output_file="$TMP_DIR/${name}.${ext}"
|
|
59
|
+
local snapshot_file="$SNAPSHOTS_DIR/${name}.${ext}"
|
|
60
|
+
|
|
61
|
+
printf " %-40s " "$name"
|
|
62
|
+
|
|
63
|
+
# Capture timing
|
|
64
|
+
local start_time=$(perl -MTime::HiRes=time -e 'printf "%.3f", time')
|
|
65
|
+
|
|
66
|
+
# Render the image
|
|
67
|
+
if ! "$DYNIMG" "$input" -o "$output_file" "${extra_args[@]}" > /dev/null 2>&1; then
|
|
68
|
+
local end_time=$(perl -MTime::HiRes=time -e 'printf "%.3f", time')
|
|
69
|
+
local elapsed=$(echo "$end_time - $start_time" | bc)
|
|
70
|
+
printf "${RED}RENDER FAILED${NC} (%5.2fs)\n" "$elapsed"
|
|
71
|
+
: $((FAILED++))
|
|
72
|
+
return
|
|
73
|
+
fi
|
|
74
|
+
|
|
75
|
+
local end_time=$(perl -MTime::HiRes=time -e 'printf "%.3f", time')
|
|
76
|
+
local elapsed=$(echo "$end_time - $start_time" | bc)
|
|
77
|
+
|
|
78
|
+
if [ "$UPDATE_MODE" = true ]; then
|
|
79
|
+
cp "$output_file" "$snapshot_file"
|
|
80
|
+
printf "${YELLOW}UPDATED${NC} (%5.2fs)\n" "$elapsed"
|
|
81
|
+
: $((PASSED++))
|
|
82
|
+
return
|
|
83
|
+
fi
|
|
84
|
+
|
|
85
|
+
# Check if snapshot exists
|
|
86
|
+
if [ ! -f "$snapshot_file" ]; then
|
|
87
|
+
printf "${RED}NO SNAPSHOT${NC} (%5.2fs)\n" "$elapsed"
|
|
88
|
+
echo " Run with --update to create snapshot"
|
|
89
|
+
: $((FAILED++))
|
|
90
|
+
return
|
|
91
|
+
fi
|
|
92
|
+
|
|
93
|
+
# Compare using sha256
|
|
94
|
+
local output_hash=$(shasum -a 256 "$output_file" | cut -d' ' -f1)
|
|
95
|
+
local snapshot_hash=$(shasum -a 256 "$snapshot_file" | cut -d' ' -f1)
|
|
96
|
+
|
|
97
|
+
if [ "$output_hash" = "$snapshot_hash" ]; then
|
|
98
|
+
printf "${GREEN}OK${NC} (%5.2fs)\n" "$elapsed"
|
|
99
|
+
: $((PASSED++))
|
|
100
|
+
else
|
|
101
|
+
printf "${RED}MISMATCH${NC} (%5.2fs)\n" "$elapsed"
|
|
102
|
+
echo " Output: $TMP_DIR/${name}.png"
|
|
103
|
+
echo " Expected: $snapshot_file"
|
|
104
|
+
: $((FAILED++))
|
|
105
|
+
fi
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
echo "--- Inline HTML (no external deps) ---"
|
|
109
|
+
snapshot_test "inline-only" png "$EXAMPLES_DIR/inline-only.html"
|
|
110
|
+
snapshot_test "inline-only-jpg" jpg "$EXAMPLES_DIR/inline-only.html" --quality 90
|
|
111
|
+
snapshot_test "inline-only-webp" webp "$EXAMPLES_DIR/inline-only.html"
|
|
112
|
+
snapshot_test "inline-custom-size" png "$EXAMPLES_DIR/inline-only.html" -w 400 -H 300
|
|
113
|
+
|
|
114
|
+
echo ""
|
|
115
|
+
echo "--- OG Image Templates ---"
|
|
116
|
+
snapshot_test "og-image" png "$EXAMPLES_DIR/og-image.html"
|
|
117
|
+
snapshot_test "social-card" png "$EXAMPLES_DIR/social-card.html"
|
|
118
|
+
snapshot_test "quote" png "$EXAMPLES_DIR/quote.html"
|
|
119
|
+
|
|
120
|
+
echo ""
|
|
121
|
+
echo "=== Results ==="
|
|
122
|
+
echo " Passed: $PASSED"
|
|
123
|
+
echo " Failed: $FAILED"
|
|
124
|
+
|
|
125
|
+
if [ "$UPDATE_MODE" = true ]; then
|
|
126
|
+
echo ""
|
|
127
|
+
echo "Snapshots saved to: $SNAPSHOTS_DIR"
|
|
128
|
+
fi
|
|
129
|
+
|
|
130
|
+
exit $FAILED
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|