Skip to content

SetReport

Namespace Nfty.Core.Stats in assembly Nfty.Core.

public static class SetReport

The inspect report for a cooked Set: what it holds, what made it, and the rarity it actually came out with.

Remarks

This is the OBSERVED collection, and that is what separates it from CollectionReport. stats answers "what odds do these weights imply", computed from a CookBook that has not been cooked. This answers "what did the run produce" — the counts and percentages recorded in set.json when the assets were written. Same order — recipes, then traits — so a run can be read against the prediction it was supposed to match.

The two tables are comparable, not identical, and the differences are the data's, not a choice made here. stats splits its traits by recipe; a Set's rarity table is collection-wide, because that is what rarity IS — one number per trait value across the whole mint — so a layer shared by two recipes is two rows there and one row here. And the recipe table prints IDS, because set.json records ids where stats prints display names (see RecipeCount.Recipe), which is why the heading below says so rather than leaving the reader to notice.

It reads the manifest and nothing else. A LoadedSet carries image PATHS rather than decoded images, precisely so listing a Set does not pull the whole collection into memory, and this report keeps that promise — a 10,000-asset Set costs the same to inspect as a two-asset one.

Rendered in Core beside its three siblings for the reason they all are: a front-end that re-derived something similar would drift from this the first time either changed.

Methods

ModelsSummary(SetModels)

public static string ModelsSummary(SetModels models);

How a Set's 3D models were made, in the one wording generate, extend and inspect share: glb · bottom-center · voxel 1. Invariant culture, like the rest.

Parameters

  • models (SetModels) - The block recorded in set.json.

Returns. Format, pivot and voxel size.

Render(LoadedSet)

public static string Render(LoadedSet set);

Renders the report. Every number is formatted with InvariantCulture, like every other report here: this text is copied, pasted into an issue and diffed against a colleague's run, so a decimal comma on one machine would make two identical collections look different.

Parameters

  • set (LoadedSet) - The Set to describe — a folder or an unpacked .set.

Returns. The report text, newline-terminated per line.