Debug Panel β File-Drop Workflow + Multi-File Picker (v1.53.0)
RingBufferObserver.Save() persists traces as BOM-free JSON. The VSIX watches **/reslava-*.json and opens the Debug panel automatically β no HTTP server, no blocking call.
Save() path rules:
| Call | File written | VSIX picks up? |
|---|---|---|
buf.Save() |
reslava-traces.json in bin/ |
β |
buf.Save("my-run") |
reslava-my-run.json in bin/ |
β |
buf.Save("/abs/path/out.json") |
exact path (no prefix) | β (escape hatch) |
Generated DebugProxy always saves to reslava-debug-{methodName}.json β one file per method, never collides with manual Save().
Multi-file picker β when multiple reslava-*.json files exist, the Debug panel header shows a file picker. Labels strip the reslava- prefix (traces.json, debug-Process.json, debug-Validate.json). Switch between traces without closing the panel.
Source badge β small badge in the panel header shows where data came from: β³ waiting β π file Β· {dir} when file data arrives, π http when the HTTP endpoint responds first.