Table of Contents

Class CecalManifest

Namespace
PopcorningGuineaPig.Engine.Assets.Cecal
Assembly
PopcorningGuineaPig.Engine.dll

Sidecar manifest written next to a .cecal archive. Records per-asset (size, mtime, hash) so the next pack can skip rehashing unchanged files and determine whether the archive itself needs to be rewritten.

public sealed record CecalManifest : IEquatable<CecalManifest>
Inheritance
CecalManifest
Implements
Inherited Members

Remarks

Manifest format is not part of the .cecal binary format — it's a local build cache. Its schema can evolve freely; readers should tolerate a missing or version-mismatched manifest by rehashing from scratch.

Constructors

CecalManifest(string, UInt128, Dictionary<string, ManifestEntry>)

Sidecar manifest written next to a .cecal archive. Records per-asset (size, mtime, hash) so the next pack can skip rehashing unchanged files and determine whether the archive itself needs to be rewritten.

public CecalManifest(string Version, UInt128 ArchiveHash, Dictionary<string, ManifestEntry> Entries)

Parameters

Version string
ArchiveHash UInt128
Entries Dictionary<string, ManifestEntry>

Remarks

Manifest format is not part of the .cecal binary format — it's a local build cache. Its schema can evolve freely; readers should tolerate a missing or version-mismatched manifest by rehashing from scratch.

Fields

CurrentVersion

public const string CurrentVersion = "1"

Field Value

string

Properties

ArchiveHash

[JsonConverter(typeof(UInt128JsonConverter))]
public UInt128 ArchiveHash { get; init; }

Property Value

UInt128

Entries

public Dictionary<string, ManifestEntry> Entries { get; init; }

Property Value

Dictionary<string, ManifestEntry>

Version

public string Version { get; init; }

Property Value

string

Methods

Empty()

public static CecalManifest Empty()

Returns

CecalManifest

Save(string)

public void Save(string manifestPath)

Parameters

manifestPath string

TryLoad(string)

public static CecalManifest? TryLoad(string manifestPath)

Parameters

manifestPath string

Returns

CecalManifest