namespace Ichni.RhythmGame
{
///
/// 集中式更新调度器的阶段定义。
/// 每帧按数值升序执行,保证严格的依赖顺序:
/// 动画先于变换应用 → 变换先于 Spline 重建 → 轨道先于音符。
/// 数值留有间隔,便于未来插入新阶段。
///
public enum UpdatePhase
{
/// 判定元素激活/隐藏状态
TimeDuration = 0,
/// 更新动画值,设置脏标记
Animation = 10,
/// 执行 DirtyRefresh + Transform + Color
Apply = 20,
/// 手动重建 Dreamteck SplineComputer;同时执行 LookAt 等 Transform 后处理覆盖
SplineRebuild = 30,
/// 更新轨道时间、裁剪区间
TrackCore = 40,
/// 更新轨道跟踪器(CrossTrackPoint / HeadPoint / PercentPoint 等)
TrackFollower = 50,
/// 音符可见性、轨道位置、判定、特效
Note = 60,
/// ParticleEmitter / TimeEffectsCollection / ParticleTracker 等特效
Effect = 70,
/// SkyboxSubsetter / LowPriorityActions 等杂项
Misc = 80
}
}