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.reloaded

Request Examples

scene.list
entity.find
entity.inspect
component.get
component.set
profiler.capture
asset.reload

Security

  • 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 profile

Acceptance Criteria

  • Multiple clients may connect simultaneously
  • Event streaming (subscriptions) supported
  • Authentication available
  • turian debug CLI subcommand implemented
  • Protocol documented (JSON-RPC method list + event catalog)
Edited by Bruno Massa