termgrid-core 1.5.5

Deterministic terminal grid state engine with invariant enforcement and backend decoupling.
Documentation
# Wire Format v1

This document specifies the JSON wire format for serialized render operations.

The wire format is designed for:

- Serialization of `Frame` and its `RenderOp` list.
- Deterministic *semantic* replay (operation ordering), not byte-identical canonical JSON.

## Frame

A frame contains an ordered list of operations.

Example:

```json
{
  "ops": [
    { "op": "Clear" },
    { "op": "Put", "x": 0, "y": 0, "text": "hello" }
  ]
}
```

## Versioning

The v1 wire format is defined by the schema implied by serde serialization of `Frame` / `RenderOp` in this crate.

Consumers MUST bind explicitly to v1.

Future versions MAY change:

- Operation shapes
- Defaulting rules
- Validation strictness

## Unknown Fields

- Unknown fields within known operations SHOULD be ignored for forward compatibility.
- Unknown operation tags (`op`) MUST be rejected.

## Determinism

Determinism is defined as:

- The ordered sequence of operations (`ops`) is preserved.
- Applying the same `ops` to the same initial `Grid` under the same registry/profile yields the same resulting grid state.

Byte-level canonicalization across independent JSON emitters is NOT guaranteed.