From f04be0548fc3cfb54675262beaa5aee305cb085f Mon Sep 17 00:00:00 2001 From: mattlafy Date: Tue, 3 Nov 2026 14:56:46 -0500 Subject: [PATCH] fix: new Viewport, VportTile and Xf initializers from main set the view twist; DView has its Chinese label Co-Authored-By: Claude Opus 5.5 --- crates/io/tests/it/block_expansion.rs | 1 + crates/io/tests/it/roundtrip/collections.rs | 4 ++-- crates/ui-egui/src/canvas/draw.rs | 4 ++-- crates/ui-egui/src/i18n/zh.tsv | 1 + 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/crates/io/tests/it/block_expansion.rs b/crates/io/tests/it/block_expansion.rs index 64fca189e..56f135957 100644 --- a/crates/io/tests/it/block_expansion.rs +++ b/crates/io/tests/it/block_expansion.rs @@ -117,6 +117,7 @@ fn an_empty_followup_viewport_does_not_mark_an_exact_budget_truncated() { layer_colors: Vec::new(), clip: None, on: true, + twist: 0.0, }; let paper = Space::Paper("Layout1".into()); d.add(&paper, Common::default(), EntityKind::Viewport(viewport(Vec3::new(50.0, 50.0, 0.0), Vec2::ZERO, vec!["FROZEN".into()]))).unwrap(); diff --git a/crates/io/tests/it/roundtrip/collections.rs b/crates/io/tests/it/roundtrip/collections.rs index 9b9acf36b..81ed33641 100644 --- a/crates/io/tests/it/roundtrip/collections.rs +++ b/crates/io/tests/it/roundtrip/collections.rs @@ -145,8 +145,8 @@ pub(super) fn vports() -> Case { drawing.vports.push(VportConfig { name: "Split".into(), tiles: vec![ - VportTile { min: Vec2::ZERO, max: Vec2::new(0.5, 1.0), center: Vec2::new(2.0, 3.0), height: 20.0, aspect: 0.75 }, - VportTile { min: Vec2::new(0.5, 0.0), max: Vec2::new(1.0, 1.0), center: Vec2::new(7.0, 8.0), height: 30.0, aspect: 0.75 }, + VportTile { min: Vec2::ZERO, max: Vec2::new(0.5, 1.0), center: Vec2::new(2.0, 3.0), height: 20.0, aspect: 0.75, twist: 0.0 }, + VportTile { min: Vec2::new(0.5, 0.0), max: Vec2::new(1.0, 1.0), center: Vec2::new(7.0, 8.0), height: 30.0, aspect: 0.75, twist: 0.0 }, ], }); Case { name: "drawing/tiled-viewports".into(), drawing } diff --git a/crates/ui-egui/src/canvas/draw.rs b/crates/ui-egui/src/canvas/draw.rs index 3e2755901..45d828431 100644 --- a/crates/ui-egui/src/canvas/draw.rs +++ b/crates/ui-egui/src/canvas/draw.rs @@ -537,7 +537,7 @@ mod zoomed_highlight_tests { let list = line(Vec2::new(-1000.0, 0.0), Vec2::new(1000.0, 0.0)); // The smaller zoom first, so a regression fails here instead of filling memory at 1e9. for scale in [1e3, 1e9] { - let n = dashes_of(&list, &Xf { rect: SCREEN, center: Vec2::new(0.3, 0.0), scale }).len(); + let n = dashes_of(&list, &Xf { rect: SCREEN, center: Vec2::new(0.3, 0.0), scale, twist: 0.0 }).len(); assert!((50..=70).contains(&n), "scale {scale}: {n} dashes for 600 points of line"); } } @@ -548,7 +548,7 @@ mod zoomed_highlight_tests { fn clipped_dashes_stay_where_the_whole_line_puts_them() { let list = line(Vec2::new(0.0, 0.0), Vec2::new(1000.0, 0.0)); for x in [500.3, 512.9, 731.0] { - let xf = Xf { rect: SCREEN, center: Vec2::new(x, 0.0), scale: 1.0 }; + let xf = Xf { rect: SCREEN, center: Vec2::new(x, 0.0), scale: 1.0, twist: 0.0 }; let whole = Shape::dashed_line( &[xf.to_screen(Vec2::ZERO), xf.to_screen(Vec2::new(1000.0, 0.0))], Stroke::new(1.0, Color32::LIGHT_BLUE), diff --git a/crates/ui-egui/src/i18n/zh.tsv b/crates/ui-egui/src/i18n/zh.tsv index eae92cc14..7fbc636aa 100644 --- a/crates/ui-egui/src/i18n/zh.tsv +++ b/crates/ui-egui/src/i18n/zh.tsv @@ -149,6 +149,7 @@ Cut with Base Point 带基点剪切 Cyan 青色 Cylinder 圆柱体 + DView 动态视图 DWG DWG DXF DXF Dark 深色