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
//! Error type returned by plugin-layer operations.
//!
//! `PluginError` unifies failure modes across the various backends
//! (Native / WASM / Rhai / ...). Phase P0.5 only needs a handful of
//! variants for the Native adapter; later phases will light up the
//! guest-runtime-specific cases (Trap, OutOfFuel, OutOfMemory,
//! GuestPanic, Marshal, ApiVersionMismatch).
//!
//! The shape matches the landmines identified in the Phase P0 research
//! (see DESIGN.md "落とし穴リスト"): every failure path should be
//! distinguishable so the host can decide per-case whether to halt the
//! simulation, fall back to the last command, or switch the controller
//! to a safemode.
use Error;
/// Errors produced by a plugin-layer controller or actuator bridge.
///
/// Phase P1 will add dedicated variants for the WASM backend:
/// `Trap`, `OutOfFuel`, `OutOfMemory`, `GuestPanic`, `Marshal`,
/// `ApiVersionMismatch`. The current `Runtime(String)` catch-all
/// will shrink as those land.