1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
// SPDX-License-Identifier: Apache-2.0 // Copyright 2026 Krishnamoorthy Sankaran <krishnamoorthy.sankaran@sekrad.org> //! Named viewpoint (saved viewport state). use serde::{Deserialize, Serialize}; use thiserror::Error; /// A saved viewport state. #[derive(Clone, Debug, Serialize, Deserialize)] pub struct Viewpoint { /// Pan X offset. pub pan_x: f32, /// Pan Y offset. pub pan_y: f32, /// Zoom level. pub zoom: f32, } /// Viewpoint lookup errors. #[derive(Debug, Error)] pub enum ViewpointError { /// Viewpoint not found by name. #[error("Viewpoint not found: '{0}'")] NotFound(String), }