Nfty.Ticket
The roll, and nothing else. net10.0, no NuGet packages, no imaging library: reference this alone to decide what an asset is - recipe, variants, rolled color, DNA - on a server or in an engine.
49 public types. Each page lists the public and protected members with their signatures and the documentation written beside the code.
Nfty.Core.Generation
| Type |
Kind |
Summary |
ColorBuckets |
class |
The one place a rolled color is folded into the quantized bucket that identifies it. |
ColorRoller |
class |
Turns a layer's colorization into the color one asset will use. |
Dna |
class |
An asset's identity: SHA-256 over the recipe id, each layer's variant id, and — for colorized layers — the QUANTIZED color. |
IRng |
interface |
The single source of randomness a run consumes. |
LayerSelection |
struct |
What one layer contributed to an asset, in the form the DNA hashes. |
RolledColor |
struct |
One rolled color: the hue and saturation a value-map is tinted with. |
RulesEngine |
class |
Decides whether a rolled selection satisfies a recipe's incompatibility rules. |
SeedHash |
class |
Turns a user's seed string into RNG state. |
SplitMix64Rng |
class |
SplitMix64. |
WeightedRoller |
class |
Weighted selection with a stable, locale-independent draw order. |
WeightedRoller.WeightTable |
struct |
A weight table with its ordering and running totals already resolved. |
Nfty.Core.Imaging
| Type |
Kind |
Summary |
ColorConvert |
class |
Conversions between RGB and the two color spaces a layer can be authored in. |
ColorSpec |
class |
Parses the prefixed color specs an author writes. |
RgbColor |
struct |
An 8-bit-per-channel color, used as the neutral currency between the color-space conversions and ImageSharp. |
Nfty.Core.Model
| Type |
Kind |
Summary |
Collection |
record |
The collection's marketplace-facing identity, copied into every asset's metadata. |
ColorDefaults |
class |
What a new colorized layer starts with, stated once so the two ways of creating a layer cannot produce two different layers. |
ColorEntry |
record |
One weighted color option. |
ColorModel |
enum |
Which color space a layer's hue and saturation are interpreted in. |
ColorRange |
record |
A band of color a Dynamic layer can roll within. |
Colorization |
record |
How a Dynamic or Static layer is colored. |
CookBookManifest |
record |
The top-level container: canvas, collection identity, and the per-Recipe roll weights. |
DepthMap |
class |
A per-pixel front/back depth pair for one layer's artwork, so a 2D asset can be lifted into a scene with real parallax. |
DepthMaps |
class |
Helpers for collections of DepthMaps. |
Dimensions |
record |
Canvas size in pixels. |
ISchemaVersioned |
interface |
A manifest that declares the schema it was written against. |
IncompatibilityRule |
record |
A constraint on which variants may be rolled together. |
IngredientManifest |
record |
One layer, or trait-category: a kind, how it is colored, and its weighted variants. |
KitchenManifest |
record |
A Kitchen: the top-level workspace, and the sixth domain word. |
LayerKind |
enum |
How a layer's rolled variant image is turned into pixels. |
RecipeManifest |
record |
A complete template for one character type: which layers, in what order, and which combinations are illegal. |
RuleTarget |
record |
A specific variant of a specific layer. |
RuleType |
enum |
What a rule does to a rolled selection. |
Schema |
class |
The manifest schema range this build can read and write. |
Variant |
record |
One image inside an Ingredient — the smallest unit a roll can land on. |
Nfty.Ticket
| Type |
Kind |
Summary |
AssetTicket |
record |
One roll, complete, costing no pixels: what a server stores and hands a client. |
Draw |
struct |
One layer to draw. |
Lookup |
class |
Lookup helpers shared by every assembly that resolves ids to things. |
MenuArchive |
class |
Reads a .mnu Menu: every weight, rule and colorization a rolled asset needs, plus its art, with no imaging library involved. |
MenuArt |
record |
How a Menu carries its art. |
MenuArtMode |
enum |
Whether a Menu carries its art as one atlas or as a file per variant. |
MenuBook |
record |
A CookBook flattened for runtime: every weight, rule and colorization, plus where the art is, and not one decoded pixel. |
MenuCell |
record |
Where one variant's art sits inside the atlas. |
MenuLayer |
record |
One layer, as a Menu records it: everything needed to roll and to tint, and no pixels. |
MenuRecipe |
record |
One recipe, as a Menu records it. |
MenuSchema |
class |
The Menu schema range this build can read and write — separate from Schema because a Menu is not a CookBook manifest and evolves on its own line. |
Plating |
class |
Turns a ticket into the ordered list of draws that reproduces it. |
PreparedMenu |
class |
A Menu with its draw order and running weight totals already resolved. |
TicketLayer |
struct |
What one layer contributed to a rolled asset. |
Ticketer |
class |
The roll: decides a whole asset and touches no pixels. |