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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
//! The request/job/result payload types that travel between the UI thread and
//! the PLAN/RENDER worker threads: `RedrawRequest` (the RENDER worker's own
//! queue), [`ReplanRequest`]/`PlanJob` (what the PLAN worker needs to run
//! `live_update::plan_preview`), and `PlannedFrame` (the PLAN worker's handoff
//! to the RENDER worker).
//!
//! `RedrawRequest`, `PlanJob` and `PlannedFrame` moved to
//! `indicatrix_solid::preview` (shared with the web app) and are re-exported here
//! at their old paths; [`ReplanRequest`], this controller's own thread-facing
//! entry point, stays.
use CameraPose;
use SolvedTier;
use ;
pub use ;
/// [`super::SolidPreviewState::request_replan`]'s payload: bundles everything
/// `live_update::plan_preview` needs.
///
/// `design` is an `Arc` clone: cheap (refcount bump, not a deep clone) and lets
/// the worker thread own its handle without holding the UI thread's
/// `Rc<RefCell<EditorState>>` borrow open across the async round trip.