8ef11355e7
- Added native text utilities in pi-natives (visible width, truncation, slicing, segment extraction) - Wired pi-tui to use native implementations with short-string JS fast path - Optimized key matching via cached parsed key ids - Refactored visual truncation to reuse Text instances - Reduced theme color lookups by switching from Map to plain records - Regenerated WASM artifacts Benchmarks (after vs before, lower is better): - truncateToWidth/ansi: 20.37ms vs 38.13ms (2000 iters) - sliceWithWidth/ansi: 5.12ms vs 20.39ms - extractSegments/ansi: 8.92ms vs 27.60ms - truncateToVisualLines: 3.51ms vs 411.55ms (500 iters) - visibleWidth/ansi: 0.24ms vs 0.31ms
461 lines
12 KiB
TOML
461 lines
12 KiB
TOML
# This file is automatically @generated by Cargo.
|
|
# It is not intended for manual editing.
|
|
version = 4
|
|
|
|
[[package]]
|
|
name = "adler2"
|
|
version = "2.0.1"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa"
|
|
|
|
[[package]]
|
|
name = "aho-corasick"
|
|
version = "1.1.4"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301"
|
|
dependencies = [
|
|
"memchr",
|
|
]
|
|
|
|
[[package]]
|
|
name = "autocfg"
|
|
version = "1.5.0"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8"
|
|
|
|
[[package]]
|
|
name = "bitflags"
|
|
version = "2.10.0"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3"
|
|
|
|
[[package]]
|
|
name = "bstr"
|
|
version = "1.12.1"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "63044e1ae8e69f3b5a92c736ca6269b8d12fa7efe39bf34ddb06d102cf0e2cab"
|
|
dependencies = [
|
|
"memchr",
|
|
"regex-automata",
|
|
"serde",
|
|
]
|
|
|
|
[[package]]
|
|
name = "bumpalo"
|
|
version = "3.19.1"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "5dd9dc738b7a8311c7ade152424974d8115f2cdad61e8dab8dac9f2362298510"
|
|
|
|
[[package]]
|
|
name = "bytemuck"
|
|
version = "1.24.0"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "1fbdf580320f38b612e485521afda1ee26d10cc9884efaaa750d383e13e3c5f4"
|
|
|
|
[[package]]
|
|
name = "byteorder-lite"
|
|
version = "0.1.0"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495"
|
|
|
|
[[package]]
|
|
name = "cfg-if"
|
|
version = "1.0.4"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
|
|
|
|
[[package]]
|
|
name = "console_error_panic_hook"
|
|
version = "0.1.7"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "a06aeb73f470f66dcdbf7223caeebb85984942f22f1adb2a088cf9668146bbbc"
|
|
dependencies = [
|
|
"cfg-if",
|
|
"wasm-bindgen",
|
|
]
|
|
|
|
[[package]]
|
|
name = "crc32fast"
|
|
version = "1.5.0"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511"
|
|
dependencies = [
|
|
"cfg-if",
|
|
]
|
|
|
|
[[package]]
|
|
name = "encoding_rs"
|
|
version = "0.8.35"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3"
|
|
dependencies = [
|
|
"cfg-if",
|
|
]
|
|
|
|
[[package]]
|
|
name = "encoding_rs_io"
|
|
version = "0.1.7"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "1cc3c5651fb62ab8aa3103998dade57efdd028544bd300516baa31840c252a83"
|
|
dependencies = [
|
|
"encoding_rs",
|
|
]
|
|
|
|
[[package]]
|
|
name = "fdeflate"
|
|
version = "0.3.7"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "1e6853b52649d4ac5c0bd02320cddc5ba956bdb407c4b75a2c6b75bf51500f8c"
|
|
dependencies = [
|
|
"simd-adler32",
|
|
]
|
|
|
|
[[package]]
|
|
name = "flate2"
|
|
version = "1.1.8"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "b375d6465b98090a5f25b1c7703f3859783755aa9a80433b36e0379a3ec2f369"
|
|
dependencies = [
|
|
"crc32fast",
|
|
"miniz_oxide",
|
|
]
|
|
|
|
[[package]]
|
|
name = "grep-matcher"
|
|
version = "0.1.8"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "36d7b71093325ab22d780b40d7df3066ae4aebb518ba719d38c697a8228a8023"
|
|
dependencies = [
|
|
"memchr",
|
|
]
|
|
|
|
[[package]]
|
|
name = "grep-regex"
|
|
version = "0.1.14"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "0ce0c256c3ad82bcc07b812c15a45ec1d398122e8e15124f96695234db7112ef"
|
|
dependencies = [
|
|
"bstr",
|
|
"grep-matcher",
|
|
"log",
|
|
"regex-automata",
|
|
"regex-syntax",
|
|
]
|
|
|
|
[[package]]
|
|
name = "grep-searcher"
|
|
version = "0.1.16"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "ac63295322dc48ebb20a25348147905d816318888e64f531bfc2a2bc0577dc34"
|
|
dependencies = [
|
|
"bstr",
|
|
"encoding_rs",
|
|
"encoding_rs_io",
|
|
"grep-matcher",
|
|
"log",
|
|
"memchr",
|
|
"memmap2",
|
|
]
|
|
|
|
[[package]]
|
|
name = "image"
|
|
version = "0.25.9"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "e6506c6c10786659413faa717ceebcb8f70731c0a60cbae39795fdf114519c1a"
|
|
dependencies = [
|
|
"bytemuck",
|
|
"byteorder-lite",
|
|
"moxcms",
|
|
"num-traits",
|
|
"png",
|
|
"zune-core",
|
|
"zune-jpeg",
|
|
]
|
|
|
|
[[package]]
|
|
name = "js-sys"
|
|
version = "0.3.85"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "8c942ebf8e95485ca0d52d97da7c5a2c387d0e7f0ba4c35e93bfcaee045955b3"
|
|
dependencies = [
|
|
"once_cell",
|
|
"wasm-bindgen",
|
|
]
|
|
|
|
[[package]]
|
|
name = "libc"
|
|
version = "0.2.180"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "bcc35a38544a891a5f7c865aca548a982ccb3b8650a5b06d0fd33a10283c56fc"
|
|
|
|
[[package]]
|
|
name = "log"
|
|
version = "0.4.29"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897"
|
|
|
|
[[package]]
|
|
name = "memchr"
|
|
version = "2.7.6"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273"
|
|
|
|
[[package]]
|
|
name = "memmap2"
|
|
version = "0.9.9"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "744133e4a0e0a658e1374cf3bf8e415c4052a15a111acd372764c55b4177d490"
|
|
dependencies = [
|
|
"libc",
|
|
]
|
|
|
|
[[package]]
|
|
name = "miniz_oxide"
|
|
version = "0.8.9"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316"
|
|
dependencies = [
|
|
"adler2",
|
|
"simd-adler32",
|
|
]
|
|
|
|
[[package]]
|
|
name = "moxcms"
|
|
version = "0.7.11"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "ac9557c559cd6fc9867e122e20d2cbefc9ca29d80d027a8e39310920ed2f0a97"
|
|
dependencies = [
|
|
"num-traits",
|
|
"pxfm",
|
|
]
|
|
|
|
[[package]]
|
|
name = "num-traits"
|
|
version = "0.2.19"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
|
|
dependencies = [
|
|
"autocfg",
|
|
]
|
|
|
|
[[package]]
|
|
name = "once_cell"
|
|
version = "1.21.3"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d"
|
|
|
|
[[package]]
|
|
name = "pi-natives"
|
|
version = "0.1.0"
|
|
dependencies = [
|
|
"console_error_panic_hook",
|
|
"grep-matcher",
|
|
"grep-regex",
|
|
"grep-searcher",
|
|
"image",
|
|
"serde",
|
|
"serde-wasm-bindgen",
|
|
"unicode-segmentation",
|
|
"unicode-width",
|
|
"wasm-bindgen",
|
|
]
|
|
|
|
[[package]]
|
|
name = "png"
|
|
version = "0.18.0"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "97baced388464909d42d89643fe4361939af9b7ce7a31ee32a168f832a70f2a0"
|
|
dependencies = [
|
|
"bitflags",
|
|
"crc32fast",
|
|
"fdeflate",
|
|
"flate2",
|
|
"miniz_oxide",
|
|
]
|
|
|
|
[[package]]
|
|
name = "proc-macro2"
|
|
version = "1.0.106"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934"
|
|
dependencies = [
|
|
"unicode-ident",
|
|
]
|
|
|
|
[[package]]
|
|
name = "pxfm"
|
|
version = "0.1.27"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "7186d3822593aa4393561d186d1393b3923e9d6163d3fbfd6e825e3e6cf3e6a8"
|
|
dependencies = [
|
|
"num-traits",
|
|
]
|
|
|
|
[[package]]
|
|
name = "quote"
|
|
version = "1.0.44"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "21b2ebcf727b7760c461f091f9f0f539b77b8e87f2fd88131e7f1b433b3cece4"
|
|
dependencies = [
|
|
"proc-macro2",
|
|
]
|
|
|
|
[[package]]
|
|
name = "regex-automata"
|
|
version = "0.4.13"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "5276caf25ac86c8d810222b3dbb938e512c55c6831a10f3e6ed1c93b84041f1c"
|
|
dependencies = [
|
|
"aho-corasick",
|
|
"memchr",
|
|
"regex-syntax",
|
|
]
|
|
|
|
[[package]]
|
|
name = "regex-syntax"
|
|
version = "0.8.8"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "7a2d987857b319362043e95f5353c0535c1f58eec5336fdfcf626430af7def58"
|
|
|
|
[[package]]
|
|
name = "rustversion"
|
|
version = "1.0.22"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d"
|
|
|
|
[[package]]
|
|
name = "serde"
|
|
version = "1.0.228"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e"
|
|
dependencies = [
|
|
"serde_core",
|
|
"serde_derive",
|
|
]
|
|
|
|
[[package]]
|
|
name = "serde-wasm-bindgen"
|
|
version = "0.6.5"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "8302e169f0eddcc139c70f139d19d6467353af16f9fce27e8c30158036a1e16b"
|
|
dependencies = [
|
|
"js-sys",
|
|
"serde",
|
|
"wasm-bindgen",
|
|
]
|
|
|
|
[[package]]
|
|
name = "serde_core"
|
|
version = "1.0.228"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad"
|
|
dependencies = [
|
|
"serde_derive",
|
|
]
|
|
|
|
[[package]]
|
|
name = "serde_derive"
|
|
version = "1.0.228"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79"
|
|
dependencies = [
|
|
"proc-macro2",
|
|
"quote",
|
|
"syn",
|
|
]
|
|
|
|
[[package]]
|
|
name = "simd-adler32"
|
|
version = "0.3.8"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "e320a6c5ad31d271ad523dcf3ad13e2767ad8b1cb8f047f75a8aeaf8da139da2"
|
|
|
|
[[package]]
|
|
name = "syn"
|
|
version = "2.0.114"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "d4d107df263a3013ef9b1879b0df87d706ff80f65a86ea879bd9c31f9b307c2a"
|
|
dependencies = [
|
|
"proc-macro2",
|
|
"quote",
|
|
"unicode-ident",
|
|
]
|
|
|
|
[[package]]
|
|
name = "unicode-ident"
|
|
version = "1.0.22"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5"
|
|
|
|
[[package]]
|
|
name = "unicode-segmentation"
|
|
version = "1.12.0"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493"
|
|
|
|
[[package]]
|
|
name = "unicode-width"
|
|
version = "0.2.2"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254"
|
|
|
|
[[package]]
|
|
name = "wasm-bindgen"
|
|
version = "0.2.108"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "64024a30ec1e37399cf85a7ffefebdb72205ca1c972291c51512360d90bd8566"
|
|
dependencies = [
|
|
"cfg-if",
|
|
"once_cell",
|
|
"rustversion",
|
|
"wasm-bindgen-macro",
|
|
"wasm-bindgen-shared",
|
|
]
|
|
|
|
[[package]]
|
|
name = "wasm-bindgen-macro"
|
|
version = "0.2.108"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "008b239d9c740232e71bd39e8ef6429d27097518b6b30bdf9086833bd5b6d608"
|
|
dependencies = [
|
|
"quote",
|
|
"wasm-bindgen-macro-support",
|
|
]
|
|
|
|
[[package]]
|
|
name = "wasm-bindgen-macro-support"
|
|
version = "0.2.108"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "5256bae2d58f54820e6490f9839c49780dff84c65aeab9e772f15d5f0e913a55"
|
|
dependencies = [
|
|
"bumpalo",
|
|
"proc-macro2",
|
|
"quote",
|
|
"syn",
|
|
"wasm-bindgen-shared",
|
|
]
|
|
|
|
[[package]]
|
|
name = "wasm-bindgen-shared"
|
|
version = "0.2.108"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "1f01b580c9ac74c8d8f0c0e4afb04eeef2acf145458e52c03845ee9cd23e3d12"
|
|
dependencies = [
|
|
"unicode-ident",
|
|
]
|
|
|
|
[[package]]
|
|
name = "zune-core"
|
|
version = "0.5.1"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "cb8a0807f7c01457d0379ba880ba6322660448ddebc890ce29bb64da71fb40f9"
|
|
|
|
[[package]]
|
|
name = "zune-jpeg"
|
|
version = "0.5.11"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "2959ca473aae96a14ecedf501d20b3608d2825ba280d5adb57d651721885b0c2"
|
|
dependencies = [
|
|
"zune-core",
|
|
]
|