Data and utilities
The building blocks for working with data: files and structured formats, vectors and randomness, byte buffers, text, XML, and message digests. Each has its own page; this is the map.
| Page | Namespace | What it covers |
|---|---|---|
| Files and storage | SharpProspero.Storage |
Package files, directories, paths, an asset manager, INI, JSON, CSV, tables, versioned saves, tar archives, and service-backed zlib decompression. |
| Numerics and vectors | SharpProspero.Numerics |
Vector2, RectF, scalar math and smoothing, collision tests, a seedable random source, weighted tables, coherent noise, a quadtree, and a rectangle packer. |
| Buffers and encodings | SharpProspero.Buffers |
Reading and writing binary data, bit fields, ring buffers, and hex/Base64/Base32. |
| Text utilities | SharpProspero.Text |
Human-readable formatting and fuzzy string matching. |
| XML | SharpProspero.Xml |
A streaming reader and writer, and a small document model. |
| Hashing and checksums | SharpProspero.Security |
CRC-32, MD5, SHA-1, SHA-2, SHA-3, and HMAC. |
| Compression and archives | SharpProspero.Compression |
DEFLATE, zlib and gzip in both directions, and a ZIP reader and writer. |
Most of these are self-contained: they compute in memory and touch no device service, so they work the
same on the console and in a unit test. The rest reach outside the process. On the storage page,
PackageFile, FileSystem, AssetManager and the Load and Save helpers on IniFile, JsonValue
and Csv read and write through the mounted filesystem, and ZlibDecompressor inflates through the
system compression service. On the numerics page, HardwareEntropy and GameRandom.FromEntropy draw
from the system entropy source. On the hashing page, the HashFile and ComputeFile helpers read the
file they digest.