改造一些

This commit is contained in:
2026-08-12 00:06:44 +08:00
parent aca480d988
commit abd1b595c7
57 changed files with 883 additions and 732 deletions
@@ -5,6 +5,7 @@
#include <memory>
#include <vector>
#include "renderive/scene/Scene.hpp"
#include "../state/State_Test_Types.hpp"
struct Scene_State_Observer_Test_State {
int value{};
};
@@ -26,6 +27,7 @@ struct Scene_State_Observer_Test_Recorder {
using Scene_State_Observer_Test_Scene_Observer = Observer_State<Scene_State_Observer_Test_Recorder, Scene_State_Observer_Test_Time_Source>;
using Scene_State_Observer_Test_State_Observer = Observer_State<>;
TEST(scene_state_observer_test, scene_uses_triple_state_and_observes_lifecycle) {
State_Render_State_Reader render;
Scene_State_Observer_Test_Recorder recorder;
using Scene = Scene2D_Context<Low_Latency_Strategy<Scene2D_Frame_Data>, Recording_Color_Cache, Scene_State_Observer_Test_State, Scene_State_Observer_Test_State_Observer, Scene_State_Observer_Test_Scene_Observer>;
Scene scene(With_Observer(Scene_State_Observer_Test_State_Observer{}), With_Observer(Scene_State_Observer_Test_Scene_Observer(recorder, Scene_State_Observer_Test_Time_Source{})));
@@ -33,7 +35,7 @@ TEST(scene_state_observer_test, scene_uses_triple_state_and_observes_lifecycle)
scene.Scene_State_Strategy::publish();
scene.render();
scene.wait_for_render();
EXPECT_EQ(scene.Scene_State_Strategy::render_use_state().value, 9);
EXPECT_EQ(render.read(static_cast<const Scene::Scene_State_Strategy&>(scene)).value, 9);
EXPECT_EQ(recorder.data->events, (std::vector<Scene_Base::Observation_Event>{Scene_Base::Observation_Event::render_submitted, Scene_Base::Observation_Event::render_started, Scene_Base::Observation_Event::render_completed}));
}
struct Scene_Reentrant_Observer_Data {