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
//! The editor's floating panels: every surface the HUD opens over the viewport,
//! plus the chrome they are built from. Each panel splits the same way -- a
//! layout half (`*_panel.rs`) that is pure geometry over the panel's own state,
//! and, where the panel's model is worth testing on its own, a data half beside
//! it (`console.rs` under `console_panel.rs`, `variables.rs` under
//! `variables_panel.rs`). Neither half owns state or reads input: the hook holds
//! the state, drives the layout each frame, and routes the clicks
//! (`hook/panels.rs` for the per-panel `Panel` impls, `hook/edit/` for what an
//! action does to the world).
//!
//! `registry` is the panel system itself -- one entry per panel, which the
//! reserved-id allocation, the View panel's rows, HUD injection, the focus
//! stack, dragging and click routing all derive from. `assets_panel` is the Assets
//! panel, over the tree `asset_tree` builds and the grouping `asset_list`
//! shares with the outliner. The Shaders list (`shader_list*`) spawns the
//! Shader source panel (`shader_source*`, with `shader_diagnostics` for what a
//! compile marks). `form` and `form_panel` are the add / edit form
//! every panel opens, and `list_panel` the shared chrome behind the simple row
//! lists (Preview, Templates, View).
//!
//! Three panels keep a directory of their own instead, their model being more
//! than one file: `editor/behavior/`, `editor/palette/` and `editor/worlds/`.
pub
pub
pub
pub
pub
pub
pub
pub
pub
pub
pub
pub
pub
pub
pub
pub
pub
pub
pub
pub
pub
pub
pub
pub
pub
pub
pub
pub
pub
pub
pub
pub
pub
pub
pub
pub
pub
pub
pub
pub
pub