Remote Debug Protocol
Description
Implement a protocol allowing external tools to inspect and manipulate a running Turian instance.
This protocol is transport-focused and intentionally independent from MCP — multiple consumers can use it directly.
Depends on: #2 (closed) Runtime Introspection Layer
Consumers
- CLI (
turian debug) - Editor / Studio
- VSCode extensions
- Automated tests
- MCP server (#50 (closed))
- Future integrations
Transport
Prefer JSON-RPC 2.0 over TCP, WebSocket, named pipes, or Unix sockets. Keep the transport layer abstract so it can be swapped.
Event Streaming
Support subscriptions to runtime events:
fps.changed
entity.created
entity.destroyed
scene.loaded
resource.reloadedRequest Examples
scene.list
entity.find
entity.inspect
component.get
component.set
profiler.capture
asset.reloadSecurity
- Localhost-only mode (default)
- Authentication tokens
- Read-only sessions
- Configurable permissions
Recording
Allow recording sessions for later diagnostics replay.
CLI (turian debug)
The existing ./editor CLI should gain a debug subcommand:
turian debug connect
turian debug entities
turian debug inspect Player
turian debug profileAcceptance Criteria
- Multiple clients may connect simultaneously
- Event streaming (subscriptions) supported
- Authentication available
-
turian debugCLI subcommand implemented - Protocol documented (JSON-RPC method list + event catalog)
Edited by Bruno Massa