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§
- Cache
Report - Debug
Property - Deep
Frame Trace - Bounded trace batch for one target/window frame.
truncatedanddropped_eventsmake partial data impossible to mistake for a full trace. - DevLayer
Id - DevRender
Id - DevSemantics
Id - DevSignal
Id - DevWidget
Id - DevWindow
Id - Discovery
Record - Per-user discovery record written by devtools-enabled targets so the DevTools launcher can list running applications without port scanning.
- Element
State - Flex
Child Inspection - Frame
Record Event - Frame
Timings Wire - Hello
- First message sent by either side after the WebSocket opens. The target
validates
auth_tokenagainst its random session token before accepting any further frame. - Layout
History Entry - Layout
Inspection - 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.
- Memory
Snapshot - Node
Details - Property
Change - Resource
Counts - Signal
Subscriber - Signal
Summary - Source
Location - Stack
Child Inspection - Target
Info - Trace
Event - One real, hierarchical per-node timing recorded only in Deep mode.
- Widget
Node - Window
Summary - Work
Reasons
Enums§
- Cache
Kind - Debug
Option - Debug
Value - Devtools
Profiler Mode - Editable
Value - Error
Code - Invalidation
Reason - Layout
Details - 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.
- Peer
Kind - Request
Method - DevTools → target. Every request produces exactly one
ResponsePayloadcorrelated byrequest_id. - Response
Payload - Target
Event - Target → DevTools unsolicited events (bounded queues apply upstream).
- Trace
Phase - Tree
Delta
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.
Functions§
- check_
hello - Validates a handshake from the other side. Targets call this with the
client hello (expecting
PeerKind::Devtools) and vice versa.