mwg API
    Preparing search index...

    Interface DungeonArtifacts

    Everything a seeded generation run produced, flattened into plain data a parity check can diff: the room graph and retry count from generateDungeonGraph, the terrain it painted, whatever feature layer and content rolls a game attached, and however many RNG draws the game itself chose to count. mwg dictates none of the game-side shapes here (content is whatever a game's own roll traces are) - only how to compare two of them.

    interface DungeonArtifacts {
        content: readonly unknown[];
        features: readonly [number, string][];
        graph: readonly RoomEdge[];
        height: number;
        retries: number;
        rngDraws: number;
        roomBuilders: readonly string[];
        terrain: ArrayLike<number>;
        width: number;
    }
    Index
    content: readonly unknown[]
    features: readonly [number, string][]
    graph: readonly RoomEdge[]
    height: number
    retries: number
    rngDraws: number
    roomBuilders: readonly string[]

    which builder carved each room, by room index - a paint-stage artifact, not a graph one

    terrain: ArrayLike<number>
    width: number