@alpaca-software/40kdc-data
    Preparing search index...

    Interface TerrainLayout

    A recommended arrangement of terrain pieces on the board, independent of the deployment map (a deployment-pattern references the layouts it recommends via recommended_terrain_layout_ids). Each piece draws its geometry from a catalog template (a terrain-template entity) or an inline footprint; geometry is the source of truth. Placement is template-centroid-anchored: position is the piece's centroid, which is invariant under rotation and mirror, so orientation and location are decoupled. Resolved board-space vertices are derived by the shared terrain resolver (pinned by the conformance corpus), never stored here. No layout data is authored yet beyond migrated examples.

    This interface was referenced by 0KdcBundledSchemas's JSON-Schema via the definition "terrain-layout".

    interface TerrainLayout {
        id: string;
        name: string;
        source?: string;
        description?: string;
        mission_matchup_id?: string;
        variant?: number;
        deployment_pattern_id?: string;
        pieces?: Piece[];
        game_version: GameVersionReference;
    }
    Index

    Properties

    id: string
    name: string
    source?: string

    Mission pack or source the layout originates from.

    description?: string
    mission_matchup_id?: string

    Kebab-case identifier

    variant?: number

    The card's trailing variant number within its mission matchup (1–3 at launch, since three layouts share each pairing). No hard maximum, to avoid a breaking change if more variants ship.

    deployment_pattern_id?: string

    Kebab-case identifier

    pieces?: Piece[]

    Terrain pieces composing the layout. May be empty while a layout is registered by name ahead of its confirmed geometry.

    game_version: GameVersionReference