tpt-zero-text

Rust

Zero-dependency, #![no_std] Rust primitives for text, parsing, and math — the Structural Layer of the tpt-zero-* ecosystem.

0 stars0 forks0 watchersApache License 2.0

Languages

Rust100.0%
README

tpt-zero-text

The Structural Layer of the tpt-zero-* ecosystem: robust, zero-external-dependency data structures, text processing, and mathematical primitives that scale from core to alloc to std via feature flags.

Every crate in this workspace is #![no_std] by default (a core-only build with zero external production dependencies) and gains String/Vec-returning convenience APIs behind an opt-in alloc feature. Intra-workspace crates may depend on each other (e.g. tpt-zero-matrix depends on tpt-zero-vec), but nothing in this workspace ever pulls in a dependency from outside the tpt-zero-* family.

Target audience: WASM developers, game developers, IoT application writers, and developers building configuration-driven no_std systems.

Crates

Every crate was reviewed against the existing crates.io ecosystem before release. Crates that would just be a redundant clone of an established no_std incumbent (e.g. arrayvec, spin, percent-encoding, csv-core) were kept in the repo as internal/reference implementations but renamed from the tpt-zero- prefix to out-zero- and marked publish = false, so publish intent is visible at a glance from the crate name alone. See TODO.md for the full per-crate rationale.

Published (tpt-zero-*)

TierCratePurpose
0tpt-zero-utf8UTF-8 validation, char-boundary finding, safe scalar iteration
0tpt-zero-numstrInteger/float to string conversion and back
0tpt-zero-str-searchFast byte/substring search algorithms
0tpt-zero-fast-mathApproximate sqrt/sin/cos/tan via lookup tables
0tpt-zero-channelLock-free bounded MPSC queue
0tpt-zero-colorRGB/RGBA/HSV conversions and hex parsing
1tpt-zero-slugURL-safe string slug normalization
1tpt-zero-globGlob pattern matching
1tpt-zero-jsonPull-based, zero-allocation JSON tokenizer/parser
1tpt-zero-vec2D/3D/4D vector math with operator overloading
2tpt-zero-matrix3x3 and 4x4 matrix transformations
2tpt-zero-quatQuaternions for 3D rotation

Internal / not published (out-zero-*)

Fully implemented and tested, but publish = false — kept for internal use and as a reference implementation. Each crate's README names the crates.io incumbent it was judged redundant with.

TierCratePurpose
0out-zero-arrayvecVec-like structure backed by a fixed-size array
0out-zero-ringFixed-capacity circular buffer
0out-zero-intrusiveIntrusive doubly-linked lists
0out-zero-onceno_std lazy initialization / run-once logic
0out-zero-spinSpinlock-based mutex/rwlock for no_std
1out-zero-arraystringString-like structure backed by a fixed-size array
1out-zero-linear-mapSorted-array-backed map for small datasets
1out-zero-poolObject pool to reuse allocations
1out-zero-url-encodePercent-encoding and decoding
1out-zero-xml-escapeXML/HTML entity escaping and unescaping
1out-zero-csvIterator-based, RFC 4180 compliant CSV parsing
1out-zero-toml-liteRestricted, safe TOML parser
1out-zero-iniSimple INI configuration file parsing

See TODO.md for build progress and PUBLISHING.md for the crates.io release runbook.

License

Licensed under either of

at your option.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this workspace by you shall be dual licensed as above, without any additional terms or conditions.