仍有bug

This commit is contained in:
2026-08-17 15:24:28 +08:00
parent e793c6a278
commit 5e976b27dd
39 changed files with 1059 additions and 6658 deletions
@@ -447,6 +447,11 @@ Scene_Edit_Error Scene_Base::Renderable_Editor::clear_dependency_parent(
scene_data.model_dirty_.store(true, std::memory_order_release);
return Scene_Edit_Error::none;
}
void Scene_Base::Renderable_Editor::replace_frame_control_strategy(
std::shared_ptr<Frame_Control_Strategy_Base> strategy) {
scene_.d_func().frame_control().replace_frame_control_strategy(
std::move(strategy));
}
Scene_Edit_Error Scene_Base::Edit_Operation::wait() const {
if (!result_.valid()) ::renderive::error::unexpected<std::logic_error>("scene edit operation is invalid");
return result_.get();
@@ -80,6 +80,8 @@ public:
[[nodiscard]] Scene_Edit_Error set_dependency_parent(const Renderable& child, const Renderable& parent);
[[nodiscard]] Scene_Edit_Error add_dependency_parent(const Renderable& child, const Renderable& parent);
[[nodiscard]] Scene_Edit_Error clear_dependency_parent(const Renderable& child);
void replace_frame_control_strategy(
std::shared_ptr<Frame_Control_Strategy_Base> strategy);
[[nodiscard]] Scene_Edit_Error error() const noexcept {
return error_;
}
@@ -10,6 +10,8 @@ public:
virtual ~Frame_Control_Capability() = default;
virtual std::shared_ptr<Frame_Control_Strategy_Base> frame_control_strategy() = 0;
virtual std::shared_ptr<const Frame_Control_Strategy_Base> frame_control_strategy() const = 0;
virtual void replace_frame_control_strategy(
std::shared_ptr<Frame_Control_Strategy_Base> strategy) = 0;
};
struct Scene_State_Capability {
virtual ~Scene_State_Capability() = default;