MutationFilteringResult.kt

package io.github.lishangbu.avalon.game.battle.engine.core.runtime.flow

import io.github.lishangbu.avalon.game.battle.engine.core.mutation.BattleMutation

/**
 * mutation 过滤阶段结果。
 *
 * @property snapshot 过滤过程中可能被前置 hook 修改后的快照。
 * @property mutations 通过拦截检查后允许提交的 mutation。
 *
 * 这里的 mutation 列表既可能是原始输入的子集,也可能包含被拦截器重写后的新 mutation。
 */
data class MutationFilteringResult(
    val snapshot: BattleRuntimeSnapshot,
    val mutations: List<BattleMutation>,
)