(&mut self)
| 190 | /// changes it on disk (skipped while the editor has unsaved changes) |
| 191 | pub auto_reload: bool, |
| 192 | /// Editor cursor character offset (updated each frame by UI) |
| 193 | pub editor_cursor_pos: usize, |
| 194 | /// Editor selection length in characters (updated each frame by UI) |
| 195 | pub editor_selection_len: usize, |
| 196 | /// Whether the code editor had keyboard focus in the last rendered frame |
| 197 | pub editor_focused: bool, |
| 198 | /// Last mouse press inside the code editor (for double/triple click) |
| 199 | pub editor_click: Option<EditorClick>, |
| 200 | /// True when clipboard contains a whole-line copy (Cmd+C with no selection) |
| 201 | pub clipboard_is_line: bool, |
| 202 | /// Flattened CSG groups for OpenCSG preview rendering |
| 203 | pub csg_groups: Vec<CsgGroup>, |
| 204 | /// Translucent modifier overlays (`#` highlight, `%` background) |
| 205 | pub overlay_meshes: Vec<OverlayMesh>, |
| 206 | /// The model materialized into solid meshes, drawn by the transparent view |
| 207 | /// mode in place of the CSG groups |
| 208 | pub solid_meshes: Vec<SolidMesh>, |
| 209 | /// Bumped whenever `csg_groups` or `overlay_meshes` change, so the renderer |
| 210 | /// can tell a cached 3D image from a stale one |
| 211 | pub scene_revision: u64, |
| 212 | /// Receiver for the Lua execution currently running on a background thread. |
| 213 | /// Starting a new execution replaces the receiver, so a superseded run's |
| 214 | /// result can never arrive — its send just fails. |
| 215 | lua_job: Option<mpsc::Receiver<LuaJobResult>>, |
| 216 | /// Receiver for the raytrace currently running on a background thread |
no test coverage detected