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
//! Backend-neutral scene snapshots for undo.
//!
//! The operator dispatcher captures a snapshot before invoke and diffs
//! after. The snapshot format is behind a trait so the current
//! `SceneJsnAst`-backed implementation can be swapped for a BSN-backed
//! one without touching the dispatcher or extension authors' code.
use Any;
use *;
/// A point-in-time representation of the editor scene.
/// Strategy for producing snapshots from the current world.
///
/// Takes `&mut World` because concrete snapshotters typically walk
/// every entity via `world.query_filtered(...)` / `world.entity_mut(...)`,
/// which Bevy requires exclusive access for (query-state caching).
/// The active snapshotter. Inserted once at plugin setup. Swapped on
/// BSN migration.
;