Grid: stay on the ground (XY) by default; following the view is a preference (#2035)

#1583 turned the grid to the upright origin plane in side views for
everyone. That is now Preferences > Grid follows the view, off by
default; headless pictures keep the ground grid.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
bherbruckandClaude Opus 5.5 authored and GitHub committed 2026-10-17 09:45:04 -04:00
1 parent a6eeb88de0
commit 72145d4aba
5 files changed
+19 -5

No files matched your search

+8
View File
@@ -280,6 +280,9 @@ pub struct Prefs {
pub space_mouse_axis_speed: [f32; 6],
/// Anti-aliasing samples (applies on restart).
pub msaa: u32,
/// The grid turns to the upright origin plane facing a side view (#1470). Off by default: the
/// grid stays on the ground plane (XY) whatever the view.
pub grid_follows_view: bool,
/// How finely the viewport tessellates curved faces and edges: `coarse`, `normal`, `fine` or
/// `ultra` (#1287). Only the display plan the viewport draws; never the design or exports.
pub display_quality: String,
@@ -410,6 +413,7 @@ impl Default for Prefs {
space_mouse_reverse: [false; 6],
space_mouse_axis_speed: [1.0; 6],
msaa: 4,
grid_follows_view: false,
display_quality: "normal".into(),
supersampling: 1.0,
supersampling_adaptive: true,
@@ -1265,6 +1269,10 @@ fn page(app: &mut SolveApp, ui: &mut egui::Ui, t: &Tokens) {
ui.label(crate::i18n::tr_label("Grid"));
ui.checkbox(&mut app.ui.show_grid, "");
ui.end_row();
ui.label(crate::i18n::tr_label("Grid follows the view"));
ui.add_enabled(app.ui.show_grid, egui::Checkbox::without_text(&mut app.preferences.grid_follows_view))
.on_hover_text(crate::i18n::tr_label("Side views show the grid on the upright plane facing them instead of the ground"));
ui.end_row();
ui.label(crate::i18n::tr_label("Ground shadow"));
ui.checkbox(&mut app.ui.ground_shadow, "");
ui.end_row();