vexell 1.0.0

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.
package/Cargo.lock ADDED
@@ -0,0 +1,715 @@
1
+ # This file is automatically @generated by Cargo.
2
+ # It is not intended for manual editing.
3
+ version = 4
4
+
5
+ [[package]]
6
+ name = "Vexell"
7
+ version = "0.1.0"
8
+ dependencies = [
9
+ "clap",
10
+ "resvg",
11
+ "tiny-skia",
12
+ "usvg",
13
+ ]
14
+
15
+ [[package]]
16
+ name = "adler2"
17
+ version = "2.0.1"
18
+ source = "registry+https://github.com/rust-lang/crates.io-index"
19
+ checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa"
20
+
21
+ [[package]]
22
+ name = "anstream"
23
+ version = "1.0.0"
24
+ source = "registry+https://github.com/rust-lang/crates.io-index"
25
+ checksum = "824a212faf96e9acacdbd09febd34438f8f711fb84e09a8916013cd7815ca28d"
26
+ dependencies = [
27
+ "anstyle",
28
+ "anstyle-parse",
29
+ "anstyle-query",
30
+ "anstyle-wincon",
31
+ "colorchoice",
32
+ "is_terminal_polyfill",
33
+ "utf8parse",
34
+ ]
35
+
36
+ [[package]]
37
+ name = "anstyle"
38
+ version = "1.0.14"
39
+ source = "registry+https://github.com/rust-lang/crates.io-index"
40
+ checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000"
41
+
42
+ [[package]]
43
+ name = "anstyle-parse"
44
+ version = "1.0.0"
45
+ source = "registry+https://github.com/rust-lang/crates.io-index"
46
+ checksum = "52ce7f38b242319f7cabaa6813055467063ecdc9d355bbb4ce0c68908cd8130e"
47
+ dependencies = [
48
+ "utf8parse",
49
+ ]
50
+
51
+ [[package]]
52
+ name = "anstyle-query"
53
+ version = "1.1.5"
54
+ source = "registry+https://github.com/rust-lang/crates.io-index"
55
+ checksum = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc"
56
+ dependencies = [
57
+ "windows-sys",
58
+ ]
59
+
60
+ [[package]]
61
+ name = "anstyle-wincon"
62
+ version = "3.0.11"
63
+ source = "registry+https://github.com/rust-lang/crates.io-index"
64
+ checksum = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d"
65
+ dependencies = [
66
+ "anstyle",
67
+ "once_cell_polyfill",
68
+ "windows-sys",
69
+ ]
70
+
71
+ [[package]]
72
+ name = "arrayref"
73
+ version = "0.3.9"
74
+ source = "registry+https://github.com/rust-lang/crates.io-index"
75
+ checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb"
76
+
77
+ [[package]]
78
+ name = "arrayvec"
79
+ version = "0.7.7"
80
+ source = "registry+https://github.com/rust-lang/crates.io-index"
81
+ checksum = "f02882884d3e1bc524fb12c79f107f6ad0e1cfd498c536ffb494301740995dfe"
82
+
83
+ [[package]]
84
+ name = "autocfg"
85
+ version = "1.5.1"
86
+ source = "registry+https://github.com/rust-lang/crates.io-index"
87
+ checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53"
88
+
89
+ [[package]]
90
+ name = "base64"
91
+ version = "0.22.1"
92
+ source = "registry+https://github.com/rust-lang/crates.io-index"
93
+ checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
94
+
95
+ [[package]]
96
+ name = "bitflags"
97
+ version = "2.13.0"
98
+ source = "registry+https://github.com/rust-lang/crates.io-index"
99
+ checksum = "b4388bee8683e3d04af747c73422af53102d2bd24d9eadb6cbc100baef4b43f8"
100
+
101
+ [[package]]
102
+ name = "bytemuck"
103
+ version = "1.25.0"
104
+ source = "registry+https://github.com/rust-lang/crates.io-index"
105
+ checksum = "c8efb64bd706a16a1bdde310ae86b351e4d21550d98d056f22f8a7f7a2183fec"
106
+
107
+ [[package]]
108
+ name = "byteorder-lite"
109
+ version = "0.1.0"
110
+ source = "registry+https://github.com/rust-lang/crates.io-index"
111
+ checksum = "8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495"
112
+
113
+ [[package]]
114
+ name = "cfg-if"
115
+ version = "1.0.4"
116
+ source = "registry+https://github.com/rust-lang/crates.io-index"
117
+ checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
118
+
119
+ [[package]]
120
+ name = "clap"
121
+ version = "4.6.1"
122
+ source = "registry+https://github.com/rust-lang/crates.io-index"
123
+ checksum = "1ddb117e43bbf7dacf0a4190fef4d345b9bad68dfc649cb349e7d17d28428e51"
124
+ dependencies = [
125
+ "clap_builder",
126
+ "clap_derive",
127
+ ]
128
+
129
+ [[package]]
130
+ name = "clap_builder"
131
+ version = "4.6.0"
132
+ source = "registry+https://github.com/rust-lang/crates.io-index"
133
+ checksum = "714a53001bf66416adb0e2ef5ac857140e7dc3a0c48fb28b2f10762fc4b5069f"
134
+ dependencies = [
135
+ "anstream",
136
+ "anstyle",
137
+ "clap_lex",
138
+ "strsim",
139
+ ]
140
+
141
+ [[package]]
142
+ name = "clap_derive"
143
+ version = "4.6.1"
144
+ source = "registry+https://github.com/rust-lang/crates.io-index"
145
+ checksum = "f2ce8604710f6733aa641a2b3731eaa1e8b3d9973d5e3565da11800813f997a9"
146
+ dependencies = [
147
+ "heck",
148
+ "proc-macro2",
149
+ "quote",
150
+ "syn",
151
+ ]
152
+
153
+ [[package]]
154
+ name = "clap_lex"
155
+ version = "1.1.0"
156
+ source = "registry+https://github.com/rust-lang/crates.io-index"
157
+ checksum = "c8d4a3bb8b1e0c1050499d1815f5ab16d04f0959b233085fb31653fbfc9d98f9"
158
+
159
+ [[package]]
160
+ name = "color_quant"
161
+ version = "1.1.0"
162
+ source = "registry+https://github.com/rust-lang/crates.io-index"
163
+ checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b"
164
+
165
+ [[package]]
166
+ name = "colorchoice"
167
+ version = "1.0.5"
168
+ source = "registry+https://github.com/rust-lang/crates.io-index"
169
+ checksum = "1d07550c9036bf2ae0c684c4297d503f838287c83c53686d05370d0e139ae570"
170
+
171
+ [[package]]
172
+ name = "core_maths"
173
+ version = "0.1.1"
174
+ source = "registry+https://github.com/rust-lang/crates.io-index"
175
+ checksum = "77745e017f5edba1a9c1d854f6f3a52dac8a12dd5af5d2f54aecf61e43d80d30"
176
+ dependencies = [
177
+ "libm",
178
+ ]
179
+
180
+ [[package]]
181
+ name = "crc32fast"
182
+ version = "1.5.0"
183
+ source = "registry+https://github.com/rust-lang/crates.io-index"
184
+ checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511"
185
+ dependencies = [
186
+ "cfg-if",
187
+ ]
188
+
189
+ [[package]]
190
+ name = "data-url"
191
+ version = "0.3.2"
192
+ source = "registry+https://github.com/rust-lang/crates.io-index"
193
+ checksum = "be1e0bca6c3637f992fc1cc7cbc52a78c1ef6db076dbf1059c4323d6a2048376"
194
+
195
+ [[package]]
196
+ name = "euclid"
197
+ version = "0.22.14"
198
+ source = "registry+https://github.com/rust-lang/crates.io-index"
199
+ checksum = "f1a05365e3b1c6d1650318537c7460c6923f1abdd272ad6842baa2b509957a06"
200
+ dependencies = [
201
+ "num-traits",
202
+ ]
203
+
204
+ [[package]]
205
+ name = "fdeflate"
206
+ version = "0.3.7"
207
+ source = "registry+https://github.com/rust-lang/crates.io-index"
208
+ checksum = "1e6853b52649d4ac5c0bd02320cddc5ba956bdb407c4b75a2c6b75bf51500f8c"
209
+ dependencies = [
210
+ "simd-adler32",
211
+ ]
212
+
213
+ [[package]]
214
+ name = "flate2"
215
+ version = "1.1.9"
216
+ source = "registry+https://github.com/rust-lang/crates.io-index"
217
+ checksum = "843fba2746e448b37e26a819579957415c8cef339bf08564fe8b7ddbd959573c"
218
+ dependencies = [
219
+ "crc32fast",
220
+ "miniz_oxide",
221
+ ]
222
+
223
+ [[package]]
224
+ name = "float-cmp"
225
+ version = "0.9.0"
226
+ source = "registry+https://github.com/rust-lang/crates.io-index"
227
+ checksum = "98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4"
228
+
229
+ [[package]]
230
+ name = "fontconfig-parser"
231
+ version = "0.5.8"
232
+ source = "registry+https://github.com/rust-lang/crates.io-index"
233
+ checksum = "bbc773e24e02d4ddd8395fd30dc147524273a83e54e0f312d986ea30de5f5646"
234
+ dependencies = [
235
+ "roxmltree 0.20.0",
236
+ ]
237
+
238
+ [[package]]
239
+ name = "fontdb"
240
+ version = "0.23.0"
241
+ source = "registry+https://github.com/rust-lang/crates.io-index"
242
+ checksum = "457e789b3d1202543297a350643cf459f836cade38934e7a4cf6a39e7cde2905"
243
+ dependencies = [
244
+ "fontconfig-parser",
245
+ "log",
246
+ "memmap2",
247
+ "slotmap",
248
+ "tinyvec",
249
+ "ttf-parser",
250
+ ]
251
+
252
+ [[package]]
253
+ name = "gif"
254
+ version = "0.14.2"
255
+ source = "registry+https://github.com/rust-lang/crates.io-index"
256
+ checksum = "ee8cfcc411d9adbbaba82fb72661cc1bcca13e8bba98b364e62b2dba8f960159"
257
+ dependencies = [
258
+ "color_quant",
259
+ "weezl",
260
+ ]
261
+
262
+ [[package]]
263
+ name = "heck"
264
+ version = "0.5.0"
265
+ source = "registry+https://github.com/rust-lang/crates.io-index"
266
+ checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
267
+
268
+ [[package]]
269
+ name = "image-webp"
270
+ version = "0.2.4"
271
+ source = "registry+https://github.com/rust-lang/crates.io-index"
272
+ checksum = "525e9ff3e1a4be2fbea1fdf0e98686a6d98b4d8f937e1bf7402245af1909e8c3"
273
+ dependencies = [
274
+ "byteorder-lite",
275
+ "quick-error",
276
+ ]
277
+
278
+ [[package]]
279
+ name = "imagesize"
280
+ version = "0.14.0"
281
+ source = "registry+https://github.com/rust-lang/crates.io-index"
282
+ checksum = "09e54e57b4c48b40f7aec75635392b12b3421fa26fe8b4332e63138ed278459c"
283
+
284
+ [[package]]
285
+ name = "is_terminal_polyfill"
286
+ version = "1.70.2"
287
+ source = "registry+https://github.com/rust-lang/crates.io-index"
288
+ checksum = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695"
289
+
290
+ [[package]]
291
+ name = "kurbo"
292
+ version = "0.13.1"
293
+ source = "registry+https://github.com/rust-lang/crates.io-index"
294
+ checksum = "4b60dfc32f652b926df6192e55525b16d186c69d47876c3ead4da5cc9f8450e2"
295
+ dependencies = [
296
+ "arrayvec",
297
+ "euclid",
298
+ "polycool",
299
+ "smallvec",
300
+ ]
301
+
302
+ [[package]]
303
+ name = "libc"
304
+ version = "0.2.186"
305
+ source = "registry+https://github.com/rust-lang/crates.io-index"
306
+ checksum = "68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66"
307
+
308
+ [[package]]
309
+ name = "libm"
310
+ version = "0.2.16"
311
+ source = "registry+https://github.com/rust-lang/crates.io-index"
312
+ checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981"
313
+
314
+ [[package]]
315
+ name = "log"
316
+ version = "0.4.33"
317
+ source = "registry+https://github.com/rust-lang/crates.io-index"
318
+ checksum = "0ceec5bc11778974d1bcb055b18002eba7f4b3518b6a0081b3af5f21666da9ad"
319
+
320
+ [[package]]
321
+ name = "memchr"
322
+ version = "2.8.2"
323
+ source = "registry+https://github.com/rust-lang/crates.io-index"
324
+ checksum = "88904434abc2901f197fe8cc55f0445e7ded921dba5911dad2e2b39b48e663c4"
325
+
326
+ [[package]]
327
+ name = "memmap2"
328
+ version = "0.9.10"
329
+ source = "registry+https://github.com/rust-lang/crates.io-index"
330
+ checksum = "714098028fe011992e1c3962653c96b2d578c4b4bce9036e15ff220319b1e0e3"
331
+ dependencies = [
332
+ "libc",
333
+ ]
334
+
335
+ [[package]]
336
+ name = "miniz_oxide"
337
+ version = "0.8.9"
338
+ source = "registry+https://github.com/rust-lang/crates.io-index"
339
+ checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316"
340
+ dependencies = [
341
+ "adler2",
342
+ "simd-adler32",
343
+ ]
344
+
345
+ [[package]]
346
+ name = "num-traits"
347
+ version = "0.2.19"
348
+ source = "registry+https://github.com/rust-lang/crates.io-index"
349
+ checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
350
+ dependencies = [
351
+ "autocfg",
352
+ ]
353
+
354
+ [[package]]
355
+ name = "once_cell_polyfill"
356
+ version = "1.70.2"
357
+ source = "registry+https://github.com/rust-lang/crates.io-index"
358
+ checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe"
359
+
360
+ [[package]]
361
+ name = "pico-args"
362
+ version = "0.5.0"
363
+ source = "registry+https://github.com/rust-lang/crates.io-index"
364
+ checksum = "5be167a7af36ee22fe3115051bc51f6e6c7054c9348e28deb4f49bd6f705a315"
365
+
366
+ [[package]]
367
+ name = "png"
368
+ version = "0.18.1"
369
+ source = "registry+https://github.com/rust-lang/crates.io-index"
370
+ checksum = "60769b8b31b2a9f263dae2776c37b1b28ae246943cf719eb6946a1db05128a61"
371
+ dependencies = [
372
+ "bitflags",
373
+ "crc32fast",
374
+ "fdeflate",
375
+ "flate2",
376
+ "miniz_oxide",
377
+ ]
378
+
379
+ [[package]]
380
+ name = "polycool"
381
+ version = "0.4.0"
382
+ source = "registry+https://github.com/rust-lang/crates.io-index"
383
+ checksum = "50596ddc09eb5ad5f75cacd40209568e66df71baf86e1499a0e99c4cff12a5a6"
384
+ dependencies = [
385
+ "arrayvec",
386
+ ]
387
+
388
+ [[package]]
389
+ name = "proc-macro2"
390
+ version = "1.0.106"
391
+ source = "registry+https://github.com/rust-lang/crates.io-index"
392
+ checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934"
393
+ dependencies = [
394
+ "unicode-ident",
395
+ ]
396
+
397
+ [[package]]
398
+ name = "quick-error"
399
+ version = "2.0.1"
400
+ source = "registry+https://github.com/rust-lang/crates.io-index"
401
+ checksum = "a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3"
402
+
403
+ [[package]]
404
+ name = "quote"
405
+ version = "1.0.45"
406
+ source = "registry+https://github.com/rust-lang/crates.io-index"
407
+ checksum = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924"
408
+ dependencies = [
409
+ "proc-macro2",
410
+ ]
411
+
412
+ [[package]]
413
+ name = "resvg"
414
+ version = "0.47.0"
415
+ source = "registry+https://github.com/rust-lang/crates.io-index"
416
+ checksum = "9be183ad6a216aa96f33e4c8033b0988b8b3ea6fd2359d19af5bac4643fd8e81"
417
+ dependencies = [
418
+ "gif",
419
+ "image-webp",
420
+ "log",
421
+ "pico-args",
422
+ "rgb",
423
+ "svgtypes",
424
+ "tiny-skia",
425
+ "usvg",
426
+ "zune-jpeg",
427
+ ]
428
+
429
+ [[package]]
430
+ name = "rgb"
431
+ version = "0.8.53"
432
+ source = "registry+https://github.com/rust-lang/crates.io-index"
433
+ checksum = "47b34b781b31e5d73e9fbc8689c70551fd1ade9a19e3e28cfec8580a79290cc4"
434
+ dependencies = [
435
+ "bytemuck",
436
+ ]
437
+
438
+ [[package]]
439
+ name = "roxmltree"
440
+ version = "0.20.0"
441
+ source = "registry+https://github.com/rust-lang/crates.io-index"
442
+ checksum = "6c20b6793b5c2fa6553b250154b78d6d0db37e72700ae35fad9387a46f487c97"
443
+
444
+ [[package]]
445
+ name = "roxmltree"
446
+ version = "0.21.1"
447
+ source = "registry+https://github.com/rust-lang/crates.io-index"
448
+ checksum = "f1964b10c76125c36f8afe190065a4bf9a87bf324842c05701330bba9f1cacbb"
449
+ dependencies = [
450
+ "memchr",
451
+ ]
452
+
453
+ [[package]]
454
+ name = "rustybuzz"
455
+ version = "0.20.1"
456
+ source = "registry+https://github.com/rust-lang/crates.io-index"
457
+ checksum = "fd3c7c96f8a08ee34eff8857b11b49b07d71d1c3f4e88f8a88d4c9e9f90b1702"
458
+ dependencies = [
459
+ "bitflags",
460
+ "bytemuck",
461
+ "core_maths",
462
+ "log",
463
+ "smallvec",
464
+ "ttf-parser",
465
+ "unicode-bidi-mirroring",
466
+ "unicode-ccc",
467
+ "unicode-properties",
468
+ "unicode-script",
469
+ ]
470
+
471
+ [[package]]
472
+ name = "simd-adler32"
473
+ version = "0.3.9"
474
+ source = "registry+https://github.com/rust-lang/crates.io-index"
475
+ checksum = "703d5c7ef118737c72f1af64ad2f6f8c5e1921f818cdcb97b8fe6fc69bf66214"
476
+
477
+ [[package]]
478
+ name = "simplecss"
479
+ version = "0.2.2"
480
+ source = "registry+https://github.com/rust-lang/crates.io-index"
481
+ checksum = "7a9c6883ca9c3c7c90e888de77b7a5c849c779d25d74a1269b0218b14e8b136c"
482
+ dependencies = [
483
+ "log",
484
+ ]
485
+
486
+ [[package]]
487
+ name = "siphasher"
488
+ version = "1.0.3"
489
+ source = "registry+https://github.com/rust-lang/crates.io-index"
490
+ checksum = "8ee5873ec9cce0195efcb7a4e9507a04cd49aec9c83d0389df45b1ef7ba2e649"
491
+
492
+ [[package]]
493
+ name = "slotmap"
494
+ version = "1.1.1"
495
+ source = "registry+https://github.com/rust-lang/crates.io-index"
496
+ checksum = "bdd58c3c93c3d278ca835519292445cb4b0d4dc59ccfdf7ceadaab3f8aeb4038"
497
+ dependencies = [
498
+ "version_check",
499
+ ]
500
+
501
+ [[package]]
502
+ name = "smallvec"
503
+ version = "1.15.2"
504
+ source = "registry+https://github.com/rust-lang/crates.io-index"
505
+ checksum = "8ed6a63f02c8539c91a8685a86f4099661ba3da017932f6ebbea6de3f0fa7c90"
506
+
507
+ [[package]]
508
+ name = "strict-num"
509
+ version = "0.1.1"
510
+ source = "registry+https://github.com/rust-lang/crates.io-index"
511
+ checksum = "6637bab7722d379c8b41ba849228d680cc12d0a45ba1fa2b48f2a30577a06731"
512
+ dependencies = [
513
+ "float-cmp",
514
+ ]
515
+
516
+ [[package]]
517
+ name = "strsim"
518
+ version = "0.11.1"
519
+ source = "registry+https://github.com/rust-lang/crates.io-index"
520
+ checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
521
+
522
+ [[package]]
523
+ name = "svgtypes"
524
+ version = "0.16.1"
525
+ source = "registry+https://github.com/rust-lang/crates.io-index"
526
+ checksum = "695b5790b3131dafa99b3bbfd25a216edb3d216dad9ca208d4657bfb8f2abc3d"
527
+ dependencies = [
528
+ "kurbo",
529
+ "siphasher",
530
+ ]
531
+
532
+ [[package]]
533
+ name = "syn"
534
+ version = "2.0.118"
535
+ source = "registry+https://github.com/rust-lang/crates.io-index"
536
+ checksum = "1b9ae57f904213ebb649ce6895b8a66c66f0203b9319718f69a5612a065b1422"
537
+ dependencies = [
538
+ "proc-macro2",
539
+ "quote",
540
+ "unicode-ident",
541
+ ]
542
+
543
+ [[package]]
544
+ name = "tiny-skia"
545
+ version = "0.12.0"
546
+ source = "registry+https://github.com/rust-lang/crates.io-index"
547
+ checksum = "47ffee5eaaf5527f630fb0e356b90ebdec84d5d18d937c5e440350f88c5a91ea"
548
+ dependencies = [
549
+ "arrayref",
550
+ "arrayvec",
551
+ "bytemuck",
552
+ "cfg-if",
553
+ "log",
554
+ "png",
555
+ "tiny-skia-path",
556
+ ]
557
+
558
+ [[package]]
559
+ name = "tiny-skia-path"
560
+ version = "0.12.0"
561
+ source = "registry+https://github.com/rust-lang/crates.io-index"
562
+ checksum = "edca365c3faccca67d06593c5980fa6c57687de727a03131735bb85f01fdeeb9"
563
+ dependencies = [
564
+ "arrayref",
565
+ "bytemuck",
566
+ "strict-num",
567
+ ]
568
+
569
+ [[package]]
570
+ name = "tinyvec"
571
+ version = "1.11.0"
572
+ source = "registry+https://github.com/rust-lang/crates.io-index"
573
+ checksum = "3e61e67053d25a4e82c844e8424039d9745781b3fc4f32b8d55ed50f5f667ef3"
574
+ dependencies = [
575
+ "tinyvec_macros",
576
+ ]
577
+
578
+ [[package]]
579
+ name = "tinyvec_macros"
580
+ version = "0.1.1"
581
+ source = "registry+https://github.com/rust-lang/crates.io-index"
582
+ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
583
+
584
+ [[package]]
585
+ name = "ttf-parser"
586
+ version = "0.25.1"
587
+ source = "registry+https://github.com/rust-lang/crates.io-index"
588
+ checksum = "d2df906b07856748fa3f6e0ad0cbaa047052d4a7dd609e231c4f72cee8c36f31"
589
+ dependencies = [
590
+ "core_maths",
591
+ ]
592
+
593
+ [[package]]
594
+ name = "unicode-bidi"
595
+ version = "0.3.18"
596
+ source = "registry+https://github.com/rust-lang/crates.io-index"
597
+ checksum = "5c1cb5db39152898a79168971543b1cb5020dff7fe43c8dc468b0885f5e29df5"
598
+
599
+ [[package]]
600
+ name = "unicode-bidi-mirroring"
601
+ version = "0.4.0"
602
+ source = "registry+https://github.com/rust-lang/crates.io-index"
603
+ checksum = "5dfa6e8c60bb66d49db113e0125ee8711b7647b5579dc7f5f19c42357ed039fe"
604
+
605
+ [[package]]
606
+ name = "unicode-ccc"
607
+ version = "0.4.0"
608
+ source = "registry+https://github.com/rust-lang/crates.io-index"
609
+ checksum = "ce61d488bcdc9bc8b5d1772c404828b17fc481c0a582b5581e95fb233aef503e"
610
+
611
+ [[package]]
612
+ name = "unicode-ident"
613
+ version = "1.0.24"
614
+ source = "registry+https://github.com/rust-lang/crates.io-index"
615
+ checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75"
616
+
617
+ [[package]]
618
+ name = "unicode-properties"
619
+ version = "0.1.4"
620
+ source = "registry+https://github.com/rust-lang/crates.io-index"
621
+ checksum = "7df058c713841ad818f1dc5d3fd88063241cc61f49f5fbea4b951e8cf5a8d71d"
622
+
623
+ [[package]]
624
+ name = "unicode-script"
625
+ version = "0.5.8"
626
+ source = "registry+https://github.com/rust-lang/crates.io-index"
627
+ checksum = "383ad40bb927465ec0ce7720e033cb4ca06912855fc35db31b5755d0de75b1ee"
628
+
629
+ [[package]]
630
+ name = "unicode-vo"
631
+ version = "0.1.0"
632
+ source = "registry+https://github.com/rust-lang/crates.io-index"
633
+ checksum = "b1d386ff53b415b7fe27b50bb44679e2cc4660272694b7b6f3326d8480823a94"
634
+
635
+ [[package]]
636
+ name = "usvg"
637
+ version = "0.47.0"
638
+ source = "registry+https://github.com/rust-lang/crates.io-index"
639
+ checksum = "d46cf96c5f498d36b7a9693bc6a7075c0bb9303189d61b2249b0dc3d309c07de"
640
+ dependencies = [
641
+ "base64",
642
+ "data-url",
643
+ "flate2",
644
+ "fontdb",
645
+ "imagesize",
646
+ "kurbo",
647
+ "log",
648
+ "pico-args",
649
+ "roxmltree 0.21.1",
650
+ "rustybuzz",
651
+ "simplecss",
652
+ "siphasher",
653
+ "strict-num",
654
+ "svgtypes",
655
+ "tiny-skia-path",
656
+ "ttf-parser",
657
+ "unicode-bidi",
658
+ "unicode-script",
659
+ "unicode-vo",
660
+ "xmlwriter",
661
+ ]
662
+
663
+ [[package]]
664
+ name = "utf8parse"
665
+ version = "0.2.2"
666
+ source = "registry+https://github.com/rust-lang/crates.io-index"
667
+ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821"
668
+
669
+ [[package]]
670
+ name = "version_check"
671
+ version = "0.9.5"
672
+ source = "registry+https://github.com/rust-lang/crates.io-index"
673
+ checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"
674
+
675
+ [[package]]
676
+ name = "weezl"
677
+ version = "0.1.12"
678
+ source = "registry+https://github.com/rust-lang/crates.io-index"
679
+ checksum = "a28ac98ddc8b9274cb41bb4d9d4d5c425b6020c50c46f25559911905610b4a88"
680
+
681
+ [[package]]
682
+ name = "windows-link"
683
+ version = "0.2.1"
684
+ source = "registry+https://github.com/rust-lang/crates.io-index"
685
+ checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5"
686
+
687
+ [[package]]
688
+ name = "windows-sys"
689
+ version = "0.61.2"
690
+ source = "registry+https://github.com/rust-lang/crates.io-index"
691
+ checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc"
692
+ dependencies = [
693
+ "windows-link",
694
+ ]
695
+
696
+ [[package]]
697
+ name = "xmlwriter"
698
+ version = "0.1.0"
699
+ source = "registry+https://github.com/rust-lang/crates.io-index"
700
+ checksum = "ec7a2a501ed189703dba8b08142f057e887dfc4b2cc4db2d343ac6376ba3e0b9"
701
+
702
+ [[package]]
703
+ name = "zune-core"
704
+ version = "0.5.1"
705
+ source = "registry+https://github.com/rust-lang/crates.io-index"
706
+ checksum = "cb8a0807f7c01457d0379ba880ba6322660448ddebc890ce29bb64da71fb40f9"
707
+
708
+ [[package]]
709
+ name = "zune-jpeg"
710
+ version = "0.5.15"
711
+ source = "registry+https://github.com/rust-lang/crates.io-index"
712
+ checksum = "27bc9d5b815bc103f142aa054f561d9187d191692ec7c2d1e2b4737f8dbd7296"
713
+ dependencies = [
714
+ "zune-core",
715
+ ]
package/Cargo.toml ADDED
@@ -0,0 +1,10 @@
1
+ [package]
2
+ name = "Vexell"
3
+ version = "0.1.0"
4
+ edition = "2024"
5
+
6
+ [dependencies]
7
+ clap = { version = "4.6.1", features = ["derive"] }
8
+ resvg = "0.47.0"
9
+ tiny-skia = "0.12.0"
10
+ usvg = "0.47.0"
package/README.md ADDED
@@ -0,0 +1,28 @@
1
+ # Vexell
2
+
3
+ Blazing fast, lossless SVG to PNG converter.
4
+
5
+ ## Installation
6
+
7
+ ### Via NPM (Node.js)
8
+ You can instantly run Vexell via `npx` without installing it:
9
+ ```bash
10
+ npx vexell input.svg output.png -s 1024
11
+ ```
12
+
13
+ Or install it globally:
14
+ ```bash
15
+ npm install -g vexell
16
+ vexell input.svg output.png -s 1024
17
+ ```
18
+
19
+ ### Via Cargo (Rust)
20
+ If you prefer the ultra-fast Rust binary:
21
+ ```bash
22
+ cargo install vexell
23
+ vexell input.svg output.png -W 1024
24
+ ```
25
+
26
+ ## Options
27
+ * `-s, --size <pixels>`: Set the output resolution (default: 1024)
28
+ * `-h, --help`: Show help menu
package/index.js ADDED
@@ -0,0 +1,37 @@
1
+ #!/usr/bin/env node
2
+
3
+ const { program } = require('commander');
4
+ const sharp = require('sharp');
5
+ const fs = require('fs');
6
+
7
+ program
8
+ .name('vexell')
9
+ .description('Vexell: Blazing fast lossless SVG to PNG converter')
10
+ .version('1.0.0')
11
+ .argument('<input>', 'Input SVG file')
12
+ .argument('<output>', 'Output PNG file')
13
+ .option('-s, --size <pixels>', 'Output resolution (width and height)', 1024)
14
+ .action((input, output, options) => {
15
+ if (!fs.existsSync(input)) {
16
+ console.error(`Error: File ${input} not found.`);
17
+ process.exit(1);
18
+ }
19
+
20
+ const size = parseInt(options.size);
21
+
22
+ console.log(`Vexellizing ${input} -> ${output}...`);
23
+
24
+ sharp(input)
25
+ .resize(size, size, { fit: 'inside' })
26
+ .png({ compressionLevel: 9, adaptiveFiltering: true, force: true })
27
+ .toFile(output)
28
+ .then(info => {
29
+ console.log(`Successfully rendered! (${info.width}x${info.height})`);
30
+ })
31
+ .catch(err => {
32
+ console.error(`Error converting file: ${err.message}`);
33
+ process.exit(1);
34
+ });
35
+ });
36
+
37
+ program.parse();
Binary file
Binary file
package/package.json ADDED
@@ -0,0 +1,28 @@
1
+ {
2
+ "name": "vexell",
3
+ "version": "1.0.0",
4
+ "description": "Blazing fast lossless SVG to PNG converter",
5
+ "main": "index.js",
6
+ "bin": {
7
+ "vexell": "./index.js"
8
+ },
9
+ "scripts": {
10
+ "test": "echo \"Error: no test specified\" && exit 1"
11
+ },
12
+ "keywords": [
13
+ "svg",
14
+ "png",
15
+ "converter",
16
+ "vector",
17
+ "pixel",
18
+ "sharp",
19
+ "lossless"
20
+ ],
21
+ "author": "Orbit Ecosystem",
22
+ "license": "MIT",
23
+ "type": "commonjs",
24
+ "dependencies": {
25
+ "commander": "^15.0.0",
26
+ "sharp": "^0.35.2"
27
+ }
28
+ }
package/src/main.rs ADDED
@@ -0,0 +1,58 @@
1
+ use clap::Parser;
2
+ use std::fs;
3
+ use usvg::{Options, Tree};
4
+ use tiny_skia::Pixmap;
5
+
6
+ #[derive(Parser, Debug)]
7
+ #[command(author, version, about = "Vexell: Blazing fast SVG to PNG converter", long_about = None)]
8
+ struct Args {
9
+ /// Input SVG file path
10
+ input: String,
11
+
12
+ /// Output PNG file path
13
+ output: String,
14
+
15
+ /// Width of the output image (preserves aspect ratio)
16
+ #[arg(short = 'W', long)]
17
+ width: Option<u32>,
18
+
19
+ /// Height of the output image (preserves aspect ratio)
20
+ #[arg(short = 'H', long)]
21
+ height: Option<u32>,
22
+ }
23
+
24
+ fn main() -> Result<(), Box<dyn std::error::Error>> {
25
+ let args = Args::parse();
26
+
27
+ let svg_data = fs::read(&args.input)?;
28
+ let mut opt = Options::default();
29
+ opt.fontdb_mut().load_system_fonts();
30
+
31
+ let tree = Tree::from_data(&svg_data, &opt)?;
32
+
33
+ let svg_size = tree.size();
34
+ let mut w = svg_size.width();
35
+ let mut h = svg_size.height();
36
+
37
+ if let Some(target_w) = args.width {
38
+ let scale = target_w as f32 / w;
39
+ w = target_w as f32;
40
+ h = h * scale;
41
+ } else if let Some(target_h) = args.height {
42
+ let scale = target_h as f32 / h;
43
+ h = target_h as f32;
44
+ w = w * scale;
45
+ }
46
+
47
+ let transform = tiny_skia::Transform::from_scale(w / svg_size.width(), h / svg_size.height());
48
+
49
+ let mut pixmap = Pixmap::new(w.ceil() as u32, h.ceil() as u32).ok_or("Failed to create pixmap")?;
50
+
51
+ resvg::render(&tree, transform, &mut pixmap.as_mut());
52
+
53
+ pixmap.save_png(&args.output)?;
54
+
55
+ println!("Successfully rendered {} to {} ({}x{})", args.input, args.output, w.ceil(), h.ceil());
56
+
57
+ Ok(())
58
+ }