Implicit state → structured event
Before A state change is only a local observation.
Now The event carries kind, user_id, code, and text.
This project refines telemetry from an ad-hoc event into a defined ROS 2 message path and a visible runtime workload. Use the switch below to compare the starting model with the current architecture.
← Back to the independent project overviewThe transport stays familiar. The telemetry boundary becomes explicit.
Before A state change is only a local observation.
Now The event carries kind, user_id, code, and text.
Before Consumers must infer who produced the signal.
Now The hub validates the sender and publishes one canonical record.
Before A fault can remain inside one client.
Now `/ros_chat/broadcast` gives each subscribed client the same event.
Before Telemetry cost is mixed into general node activity.
Now Telemetry processing is a named workload for CPU allocation decisions.
The important change is not only the JSON shape. It is the ownership of each step.
The contract stays easy to inspect while giving the runtime enough information to classify the event.
{
"kind": "telemetry",
"user_id": "user-2",
"code": "FORMATION_LOST",
"text": "Robot left formation"
}
The page separates message delivery from the runtime question: how much attention should telemetry receive?
Design decision: keep control protected, give telemetry a visible allocation boundary, and allow presentation work to yield when resources are constrained.