builder 和 运行时修改隔离开

This commit is contained in:
2026-08-13 11:25:38 +08:00
parent 9e598a0318
commit 4a48e62aea
57 changed files with 1512 additions and 2592 deletions
@@ -3,13 +3,17 @@
#include "renderive/renderable/Renderable.hpp"
#include "renderive/scene/Scene.hpp"
struct Renderable_Concept_Test : Renderable_Base {
explicit Renderable_Concept_Test(Scene_Base& scene) : Renderable_Base(scene) {}
explicit Renderable_Concept_Test() : Renderable_Base() {}
void prepare(const Prepare_Render_Context&) override {}
};
static_assert(Renderable<Renderable_Concept_Test>);
TEST(renderable_concept_test, exposes_scene_and_configuration_state) {
Scene2D_Context<> scene;
Renderable_Concept_Test renderable(scene);
EXPECT_EQ(&renderable.scene(), &scene);
EXPECT_FALSE(renderable.configuration().cache_enabled);
auto renderable = renderive_Owner<Renderable_Concept_Test>::make();
{
auto attach = scene.attach_builder();
attach.attach(renderable);
}
EXPECT_EQ(&renderable->scene(), &scene);
EXPECT_FALSE(renderable->configuration().cache_enabled);
}