This commit is contained in:
2026-08-27 14:54:06 +08:00
parent ecf24cbe50
commit 63bb406a27
34 changed files with 690 additions and 1296 deletions
+14 -15
View File
@@ -89,14 +89,13 @@ TEST(axis_render, scene_prepares_and_paints_uncached_axis_into_frame) {
axis->set<&Abs_Axis::Prop::pixel_length>(120.0);
scene->set<&Render_Scene_2D::Prop::viewport>(Size{160, 64});
scene->activate_view();
ASSERT_TRUE((scene->edit_dependency_graph<Prepare_Data_Tag, Paint_Tag>([&](auto& prepare, auto& paint) {
prepare.add(axis.get());
paint.add(axis.get());
ASSERT_TRUE((scene->edit_dependency_graph<Render_Graph_Tag>([&](auto& graph) {
graph.add(axis.get());
}).has_value()));
int paint_extension_calls{};
int completion_calls{};
axis->paint_taskflow().add(
"test.axis.paint.extension", [&] { ++paint_extension_calls; });
axis->taskflow().add(
"test.axis.render.extension", [&] { ++paint_extension_calls; });
scene->completion_taskflow().add("test.scene_2d.completion", [&] {
EXPECT_EQ(paint_extension_calls, 1);
++completion_calls;
@@ -123,8 +122,8 @@ TEST(axis_event, numeric_axis_wheel_zoom_and_drag_update_authoritative_range) {
axis->set<&Abs_Axis::Prop::pixel_length>(100.0);
axis->set<&Numeric_Axis::Prop::coordinate_range>(Axis_Range{0.0, 10.0});
scene->set<&Render_Scene_2D::Prop::viewport>(Size{120, 64});
ASSERT_TRUE((scene->edit_dependency_graph<Prepare_Data_Tag, Paint_Tag>([&](auto& prepare, auto& paint) {
prepare.add(axis.get()); paint.add(axis.get());
ASSERT_TRUE((scene->edit_dependency_graph<Render_Graph_Tag>([&](auto& graph) {
graph.add(axis.get());
}).has_value()));
scene->activate_view();
render_once(scene.get());
@@ -159,9 +158,9 @@ TEST(axis_event, scene_routes_pointer_interaction_to_the_nearest_axis_segment) {
vertical->set<&Abs_Axis::Prop::orientation>(Axis_Orientation::vertical);
vertical->set<&Numeric_Axis::Prop::coordinate_range>(Axis_Range{0.0, 10.0});
scene->set<&Render_Scene_2D::Prop::viewport>(Size{200, 200});
ASSERT_TRUE((scene->edit_dependency_graph<Prepare_Data_Tag, Paint_Tag>([&](auto& prepare, auto& paint) {
prepare.add(horizontal.get()); prepare.add(vertical.get());
paint.add(horizontal.get()); paint.add(vertical.get());
ASSERT_TRUE((scene->edit_dependency_graph<Render_Graph_Tag>([&](auto& graph) {
graph.add(horizontal.get());
graph.add(vertical.get());
}).has_value()));
scene->activate_view();
render_once(scene.get());
@@ -217,14 +216,14 @@ TEST(axis_time, appending_each_time_sample_invalidates_tick_preparation) {
using Object = Time_Axis;
auto axis = build_axis<Object>();
axis->advance();
axis->template take_dirty<Prepare_Data_Tag>();
EXPECT_FALSE(axis->template dirty<Prepare_Data_Tag>());
axis->template take_dirty<Render_Graph_Tag>();
EXPECT_FALSE(axis->template dirty<Render_Graph_Tag>());
EXPECT_EQ(axis->append_time({1'000}), 0);
EXPECT_TRUE(axis->template dirty<Prepare_Data_Tag>());
EXPECT_TRUE(axis->template dirty<Render_Graph_Tag>());
axis->advance();
axis->template take_dirty<Prepare_Data_Tag>();
axis->template take_dirty<Render_Graph_Tag>();
EXPECT_EQ(axis->append_time({2'000}), 1);
EXPECT_TRUE(axis->template dirty<Prepare_Data_Tag>());
EXPECT_TRUE(axis->template dirty<Render_Graph_Tag>());
axis->advance();
EXPECT_EQ(axis->coordinate_range(), (Axis_Range{-98.5, 1.5}));
}