Table of Contents

Class CatalogPosition

Namespace
Typhon.Protocol
Assembly
Typhon.Protocol.dll

An archetype's position on the wire (W15, W16): what an enter record starts with and what a motion segment carries. Absent when the archetype is not spatial.

public sealed class CatalogPosition
Inheritance
CatalogPosition
Inherited Members

Remarks

It carries only what a client decodes. The extrapolation tolerance and the teleport speed are server policy no client reads; hashing them would re-send the catalog to every client on every tuning change. A segment always carries t0 (tickLo) and epoch (u8): they are protocol constants, not catalog entries.

Constructors

CatalogPosition()

public CatalogPosition()

Fields

LinearModel

The model for linear extrapolation: a segment carries a velocity.

public const string LinearModel = "linear"

Field Value

string

MotionKind

The kind for an archetype that moves: segments are replicated.

public const string MotionKind = "motion"

Field Value

string

NoneModel

The model without extrapolation: a segment carries a position only, and the client interpolates between samples.

public const string NoneModel = "none"

Field Value

string

StaticKind

The kind for an archetype that never moves: its position is sent once, on enter.

public const string StaticKind = "static"

Field Value

string

Properties

Kind

public string Kind { get; init; }

Property Value

string

Model

LinearModel or NoneModel, for a moving archetype only.

[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingDefault)]
public string Model { get; init; }

Property Value

string

Pos

The position codec: Pos2 or Pos3.

public CatalogCodec Pos { get; init; }

Property Value

CatalogCodec

Vel

The velocity codec — Vel2 or Vel3, matching Pos — for the linear model.

[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingDefault)]
public CatalogCodec Vel { get; init; }

Property Value

CatalogCodec