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.


Table of contents


Copyright © SvenGDK 2026. Distributed under the GPL-3.0-or-later license.

This site uses Just the Docs, a documentation theme for Jekyll.