#pragma once #include "domain/Project.h" #include #include #include #include namespace core::eval { struct ResolvedEntity { core::Project::Entity entity; // 拷贝:originWorld/imageTopLeftWorld 已替换为求值后的值 double opacity = 1.0; // 0..1 }; struct ResolvedTool { core::Project::Tool tool; // 拷贝:originWorld 已替换为求值后的值 double opacity = 1.0; // 0..1 }; struct ResolvedProjectFrame { QVector entities; QVector tools; }; /// 逐帧求值:处理父子跟随与工具可见性淡入淡出。 ResolvedProjectFrame evaluateAtFrame(const core::Project& project, int frame, int fadeFrames = 10); } // namespace core::eval