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
68
69
70
71
72
73
//! Definition of the current state of the graph modeled in the UI.
//!
//! # Example
//!
//! The following example represents a possible report returned from an
//! application instantiated via the [`Config`
//! example](../config/index.html#example). Note that it is not a valid rust
//! code, but an output of the `dbg!` macro.
//!
//! ```ignore
//! Report {
//! nodes: [
//! Node {
//! id: "comment:0",
//! class: "comment",
//! data: {
//! "comment": String(
//! "Content of the comment block.",
//! ),
//! },
//! },
//! Node {
//! id: "oscillator:0",
//! class: "oscillator",
//! data: {
//! "switch": Bool(
//! true,
//! ),
//! "trigger": Bool(
//! false,
//! ),
//! "dropdown": String(
//! "triangle",
//! ),
//! "slider": F32(
//! 7.5,
//! ),
//! },
//! },
//! Node {
//! id: "mixer:0",
//! class: "mixer",
//! data: {},
//! },
//! ],
//! patches: [
//! Patch {
//! source: PinAddress {
//! node_id: "oscillator:0",
//! pin_class: "output",
//! },
//! destination: PinAddress {
//! node_id: "mixer:0",
//! pin_class: "input1",
//! },
//! },
//! ],
//! }
//! ```
use crate;
/// Report is a structure holding information about the current "model" of the
/// graph represented in the UI. It does not report details about the widgets
/// that were used nor about positions of items on the canvas. It is limited to
/// the minimal amount of information needed to convert the state into a graph.