toJsonObject

Converts a simulation event to the JSON object used by the JSONL event stream.

The conversion is explicit to keep the external GUI contract stable and independent from internal Kotlin domain classes.