Skip to main content

Crate incular_devtools_protocol

Crate incular_devtools_protocol 

Source
Expand description

Typed, versioned wire protocol between a running Incular application (the target) and Incular DevTools.

This crate intentionally depends only on serde: it must stay usable by the standalone DevTools UI, the in-target agent, and offline tooling without pulling in the framework runtime or renderer.

Structs§

CacheReport
CompositorCounters
Compositor counters (layers is cumulative picture layers created).
DebugProperty
DeepFrameTrace
Bounded trace batch for one target/window frame. truncated and dropped_events make partial data impossible to mistake for a full trace.
DevLayerId
DevRenderId
DevSemanticsId
DevSignalId
DevWidgetId
DevWindowId
DiscoveryRecord
Per-user discovery record written by devtools-enabled targets so the DevTools launcher can list running applications without port scanning.
ElementState
FlexChildInspection
FrameRecordEvent
FrameTimingsWire
Hello
First message sent by either side after the WebSocket opens. The target validates auth_token against its random session token before accepting any further frame.
LayerNodeWire
LayoutHistoryEntry
LayoutInspection
Read-only geometry captured from the retained layout result. This is a snapshot, never a handle to a mutable render object; DevTools must not run layout again merely to answer an inspection request.
MemorySnapshot
NodeDetails
PropertyChange
ResourceCounts
RuntimeDiagnosticsWire
SemanticsCounters
Semantics tree counters (nodes is the live node count; others cumulative).
SemanticsNodeWire
SignalSubscriber
SignalSummary
SourceLocation
StackChildInspection
TargetInfo
TextCacheCounters
Mirror of the text engine’s cache diagnostics (cumulative).
TraceEvent
One real, hierarchical per-node timing recorded only in Deep mode.
WidgetNode
WidgetPipelineCounters
Retained widget pipeline counters; cumulative since process start.
WindowSummary
WorkCountEntry
WorkReasons

Enums§

CacheKind
DebugOption
DebugValue
DevtoolsProfilerMode
EditableValue
ErrorCode
InvalidationReason
LayoutDetails
Layout-strategy-specific, compact inspection data. Every coordinate and allocation comes from the completed retained layout pass; the DevTools UI only visualizes this data.
Message
One wire frame after the handshake.
PeerKind
RequestMethod
DevTools → target. Every request produces exactly one ResponsePayload correlated by request_id.
ResponsePayload
TargetEvent
Target → DevTools unsolicited events (bounded queues apply upstream).
TracePhase
TreeDelta

Constants§

DEVTOOLS_VERSION
DevTools implementation version carried in the handshake for diagnostics.
MIN_SUPPORTED_PROTOCOL_VERSION
Oldest wire protocol that remains compatible with this implementation. Protocol 2 only adds typed property-edit requests, so protocol 1 clients can continue to inspect a protocol 2 target.
PROTOCOL_VERSION
Current wire protocol version. Protocol 3 adds read-only runtime, semantics, layer and work-count inspection, rectangle highlighting, and session take-over. Protocol 4 adds editor metadata on DebugProperty (options, min, max, step) and DebugOption::PerformanceOverlay; all additions decode with defaults on older peers.

Functions§

check_hello
Validates a handshake from the other side. Targets call this with the client hello (expecting PeerKind::Devtools) and vice versa.