修复builder 调用方式

This commit is contained in:
2026-08-18 08:49:09 +08:00
parent 24315448f4
commit 97d2d1574b
19 changed files with 525 additions and 372 deletions
@@ -9,13 +9,18 @@ namespace {
std::unique_ptr<Render_Scene_3D> make_scene(
Render_Scene_3D::State state,
const std::shared_ptr<Point_Visual>& visual) {
return Render_Scene_3D::Builder{state}.build(
visual, std::make_shared<Low_Latency_Render_Scene_3D_Strategy>());
return Render_Scene_3D::Builder(
visual, std::make_shared<Low_Latency_Render_Scene_3D_Strategy>())
.configure([&](Render_Scene_3D::Properties& properties) {
properties = state;
})
.build();
}
TEST(PointRenderIntegration, BuilderConstructsSceneFromStateAndStrategy) {
auto visual = Point_Visual::Builder{}.build(std::vector<Point>{
{{0.0F, 0.0F, 0.0F}, {255, 0, 0, 255}, 8.0F}});
auto visual = Point_Visual::Builder(std::vector<Point>{
{{0.0F, 0.0F, 0.0F}, {255, 0, 0, 255}, 8.0F}})
.build();
Render_Scene_3D::State state;
state.viewport = {320, 200};
try {
@@ -31,7 +36,7 @@ TEST(PointRenderIntegration, BuilderConstructsSceneFromStateAndStrategy) {
TEST(PointRenderIntegration, ObserverPublishesSceneAndVisualState) {
std::vector<Point> points(3);
for (auto& point : points) point.diameter_px = 1.0F;
auto visual = Point_Visual::Builder{}.build(std::move(points));
auto visual = Point_Visual::Builder(std::move(points)).build();
Render_Scene_3D::State state;
state.viewport = {160, 90};
try {
@@ -51,8 +56,9 @@ TEST(PointRenderIntegration, ObserverPublishesSceneAndVisualState) {
}
TEST(PointRenderIntegration, FrameStrategyIsReplacedInsideRenderableEdit) {
auto visual = Point_Visual::Builder{}.build(std::vector<Point>{
{{0.0F, 0.0F, 0.0F}, {255, 0, 0, 255}, 8.0F}});
auto visual = Point_Visual::Builder(std::vector<Point>{
{{0.0F, 0.0F, 0.0F}, {255, 0, 0, 255}, 8.0F}})
.build();
Render_Scene_3D::State state;
state.viewport = {64, 48};
try {