rlmesh.adapters.Field

classfrom rlmesh.adapters import Field[source]

One contiguous field of a flat numeric observation leaf.

Field(
    role: str | None = None,
    dim: int = 0,
    encoding: RotationEncoding | Sequence[RotationEncoding] | None = None,
    range: tuple[float, float] | None = None,
    *,
    frame: Frame | None = None,
    provenance: Provenance | None = None,
    part: str | None = None,
    labels: Sequence[str] | None = None,
)

The observation-side mirror of Actuator: a slice of dim elements carrying a role, with offsets implied by order within a Split. A field with no role is a skip – it advances the offset but produces no feature, used to step over elements the model never consumes.

role

attribute[source]
role: str | None

Semantic role matched against model state parts, or None to skip this slice.

dim

attribute[source]
dim: int

Number of elements this field occupies.

encoding

attribute[source]
encoding: RotationEncoding | Sequence[RotationEncoding] | None

Rotation encoding when the field is a rotation. A single encoding, or a sequence of them (native first) for negotiation.

range

attribute[source]
range: tuple[float, float] | None

Optional (low, high) value range for this field’s slice, supplying the bounds where the space leaves it unbounded. If the space declares finite bounds for the slice that disagree with it, resolution errors rather than silently overriding them.

frame

attribute[source]
frame: Frame | None

Coordinate frame this field’s values are expressed in; see StateTag.frame. A role-less skip may not carry one.

provenance

attribute[source]
provenance: Provenance | None

Where this field’s numbers come from; see StateTag.provenance. A role-less skip may not carry one.

part

attribute[source]
part: str | None

The body part this field belongs to; see StateTag.part. A role-less skip may not carry one.

labels

attribute[source]
labels: Sequence[str] | None

The axis names of this field, dim of them; see StateTag.labels. A role-less skip may not carry them.