Class RecordedInterpretation

Namespace
Kuestenlogik.Bowire.Mocking
Assembly
Kuestenlogik.Bowire.dll

One captured interpretation inside a BowireRecordingStep — the addressing path the parent-grouping uses, the resolved Kind (the SemanticTag value), and the type-specific payload inlined as a free-form JsonElement so the replay viewer doesn't have to re-resolve from the raw frame.

public sealed record RecordedInterpretation : IEquatable<RecordedInterpretation>
Inheritance
RecordedInterpretation
Implements
Inherited Members

Remarks

The Payload shape is kind-specific by convention:

  • coordinate.wgs84{ "lat": number, "lon": number }.
  • image.bytes{ "data": "<base64>", "mimeType": "image/png" } (mimeType optional).
  • audio.bytes{ "data": "<base64>", "sampleRate": 44100 } (sampleRate optional).

The payload is open by design — a free-form JsonElement — so the framework doesn't freeze itself into one widget's payload shape this early. Widgets read the fields they need; unknown fields flow through unchanged.

Constructors

RecordedInterpretation(string, string, JsonElement)

One captured interpretation inside a BowireRecordingStep — the addressing path the parent-grouping uses, the resolved Kind (the SemanticTag value), and the type-specific payload inlined as a free-form JsonElement so the replay viewer doesn't have to re-resolve from the raw frame.

public RecordedInterpretation(string Kind, string Path, JsonElement Payload)

Parameters

Kind string

The semantic kind-string this interpretation carries (e.g. "coordinate.wgs84"). Matches the value the JS-side widget router groups by.

Path string

JSONPath of the parent object the pairing logic groups under (e.g. $.position for a lat/lon pair). The same path the frame-semantics framework's pairing logic uses on the live path.

Payload JsonElement

Kind-specific payload as inlined data. Carried as a JsonElement so the on-disk shape, the wire shape, and the C# model agree byte-for-byte across save/load cycles.

Remarks

The Payload shape is kind-specific by convention:

  • coordinate.wgs84{ "lat": number, "lon": number }.
  • image.bytes{ "data": "<base64>", "mimeType": "image/png" } (mimeType optional).
  • audio.bytes{ "data": "<base64>", "sampleRate": 44100 } (sampleRate optional).

The payload is open by design — a free-form JsonElement — so the framework doesn't freeze itself into one widget's payload shape this early. Widgets read the fields they need; unknown fields flow through unchanged.

Properties

Kind

The semantic kind-string this interpretation carries (e.g. "coordinate.wgs84"). Matches the value the JS-side widget router groups by.

[JsonPropertyName("kind")]
public string Kind { get; init; }

Property Value

string

Path

JSONPath of the parent object the pairing logic groups under (e.g. $.position for a lat/lon pair). The same path the frame-semantics framework's pairing logic uses on the live path.

[JsonPropertyName("path")]
public string Path { get; init; }

Property Value

string

Payload

Kind-specific payload as inlined data. Carried as a JsonElement so the on-disk shape, the wire shape, and the C# model agree byte-for-byte across save/load cycles.

[JsonPropertyName("payload")]
public JsonElement Payload { get; init; }

Property Value

JsonElement

Methods

Deconstruct(out string, out string, out JsonElement)

public void Deconstruct(out string Kind, out string Path, out JsonElement Payload)

Parameters

Kind string
Path string
Payload JsonElement

Equals(RecordedInterpretation?)

public bool Equals(RecordedInterpretation? other)

Parameters

other RecordedInterpretation

Returns

bool

Equals(object?)

public override bool Equals(object? obj)

Parameters

obj object

Returns

bool

GetHashCode()

public override int GetHashCode()

Returns

int

ToString()

public override string ToString()

Returns

string

Operators

operator ==(RecordedInterpretation?, RecordedInterpretation?)

public static bool operator ==(RecordedInterpretation? left, RecordedInterpretation? right)

Parameters

left RecordedInterpretation
right RecordedInterpretation

Returns

bool

operator !=(RecordedInterpretation?, RecordedInterpretation?)

public static bool operator !=(RecordedInterpretation? left, RecordedInterpretation? right)

Parameters

left RecordedInterpretation
right RecordedInterpretation

Returns

bool