Repository
lib-misc-utils
Kinogaki's own small crates: replacements for the helper crates in Kinogaki Studio's dependency tree.
- GitHub
- kinogaki/lib-misc-utils
- Folder
libs/lib-misc-utils/- Crates
- 20
- Rust lines
- 11,215 in src, 2,943 in tests
Crates
| Crate | What it is | Files | Lines | Test lines |
|---|---|---|---|---|
arrayvec | Kinogaki's own arrayvec, published under the crates.io name so the frozen naga, wgpu, wgpu-core, wgpu-hal and blake3 resolve to it through [patch.crates-io]. | 5 | 839 | 144 |
bit-set | Kinogaki's own bit-set, published under the crates.io name so the frozen naga and wgpu-core resolve to it through [patch.crates-io]. | 1 | 265 | 84 |
bit-vec | Kinogaki's own bit-vec, published under the crates.io name so the frozen wgpu-core (and our bit-set) resolve to it through [patch.crates-io]. | 1 | 525 | 0 |
cfg-if | Kinogaki's own cfg-if, published under the crates.io name so the frozen naga, wgpu, wgpu-hal, blake3 and libloading resolve to it through [patch.crates-io]. | 1 | 37 | 57 |
codespan-reporting | Kinogaki's own codespan-reporting, published under the crates.io name so the frozen naga resolves to it through [patch.crates-io]. | 4 | 623 | 124 |
document-features | Kinogaki's own document-features, published under the crates.io name so the frozen wgpu and wgpu-core resolve to it through [patch.crates-io]. | 1 | 14 | 11 |
foldhash | Kinogaki's own foldhash, published under the crates.io name so the frozen hashbrown resolves to it through [patch.crates-io] for its default hasher. | 1 | 144 | 71 |
half | Kinogaki's own half, published under the crates.io name so the frozen naga resolves to it through [patch.crates-io]. | 4 | 1,039 | 283 |
kinogaki-bytes | Fast search for one byte value in a byte slice, in safe code: find, rfind and count. | 1 | 92 | 77 |
kinogaki-float-text | The shortest decimal text that reads back as the same f64, fast. | 4 | 993 | 313 |
kinogaki-unicode | Unicode text segmentation and character properties for Kinogaki's text editing and layout, from the Unicode Character Database (version UNICODE_VERSION): | 4 | 3,547 | 208 |
libm | Kinogaki's own libm, published under the crates.io name so the frozen naga resolves to it through [patch.crates-io]. | 1 | 61 | 996 |
num-traits | Kinogaki's own numeric traits, published under the crates.io name num-traits so the frozen naga and our half resolve to it through [patch.crates-io]. | 9 | 1,179 | 86 |
once_cell | Kinogaki's own once_cell, published under the crates.io name so the frozen naga, wgpu-core and read-fonts resolve to it through [patch.crates-io]. | 1 | 158 | 38 |
parking_lot | Kinogaki's own parking_lot, published under the crates.io name so the frozen wgpu, wgpu-core and wgpu-hal resolve to it through [patch.crates-io]. | 5 | 723 | 263 |
profiling | Kinogaki's own profiling, published under the crates.io name so the frozen wgpu, wgpu-core and wgpu-hal resolve to it through [patch.crates-io]. | 1 | 25 | 9 |
rustc-hash | Kinogaki's own rustc-hash, published under the crates.io name so the frozen naga, naga-types and wgpu-core resolve to it through [patch.crates-io]. | 1 | 94 | 41 |
shlex | Kinogaki's own shlex, published under the crates.io name so the frozen cc (blake3's build script, splitting CFLAGS-style variables) resolves to it through [patch.crates-io]. | 1 | 99 | 30 |
smallvec | Kinogaki's own smallvec, published under the crates.io name so the frozen wgpu, wgpu-core, wgpu-hal and harfrust resolve to it through [patch.crates-io], and used by kinogaki-ui. | 2 | 719 | 95 |
static_assertions | Kinogaki's own static_assertions, published under the crates.io name so the frozen wgpu, wgpu-hal and wgpu-types resolve to it through [patch.crates-io]. | 1 | 39 | 13 |
README
lib-misc-utils
Kinogaki's own small crates: replacements for the helper crates in Kinogaki Studio's dependency tree. The owner's direction (2026-10-18): own the code, except high-threat things like cryptography.
Two kinds live here:
- Our crates, for our code (
kinogaki-*):kinogaki-unicode(UAX #29 graphemes and word bounds, combining marks, tables generated from the UCD),kinogaki-bytes(byte search) andkinogaki-float-text(shortest round-trip float text). - Our crates under crates.io names, for the frozen crates that use them (wgpu, naga, harfrust, hashbrown, blake3 and cc): half, num-traits, libm, codespan-reporting, parking_lot, arrayvec, smallvec, once_cell, cfg-if, static_assertions, document-features, profiling, rustc-hash, foldhash, bit-vec, bit-set and shlex. Each implements only the API those crates call, and its version is the upstream one plus
+kinogaki. Studio and the libraries point at them through the[patch.crates-io]block that lib-ui'stools/vendor.py patchwrites, so the frozen consumers stay unedited. Each crate's README says what it covers and how it is tested.
When wgpu or naga are re-frozen, build them against these crates. A new call into an API that is missing here fails to compile, and the fix is to add it with a test.
Rules: unsafe is forbidden, except the documented cores of arrayvec (src/buffer.rs) and parking_lot (src/rwlock/cell.rs). No dependencies outside this repository. Studio checks the repository with tools/check_all.py, and tools/check_architecture.py enforces the rules above.
Licence
MIT OR Apache-2.0, at your option: see LICENSE-MIT and LICENSE-APACHE.
