Skip to content

Add SISO v36 typed wire API for 0.2#8

Merged
RejectKid merged 2 commits into
mainfrom
agent/siso-v36-api
Jul 13, 2026
Merged

Add SISO v36 typed wire API for 0.2#8
RejectKid merged 2 commits into
mainfrom
agent/siso-v36-api

Conversation

@RejectKid

Copy link
Copy Markdown
Owner

What

  • imports the official SISO-REF-010-2025 v36 machine-readable catalog for all 131 DIS-relevant enumeration/bitfield types
  • generates .NET-style enums and structured bitfield value types across all DIS v7 models and codecs
  • preserves unknown enum values and reserved bitfield bits losslessly
  • adds a typed Signal encoding scheme for encoding class, audio type, and TDL message count
  • makes descriptive names canonical for 20 formerly empty PDU aliases
  • consolidates Signal samples under SampleCount

Why

The 0.1 API exposed many SISO-defined wire values as unexplained integers and contained empty descriptive alias classes that deserialization never returned. This is the planned pre-1.0 public API cleanup for the 0.2 line.

Breaking changes

  • SISO-backed integer properties are now typed enums or bitfield value structs.
  • acronym-heavy PDU names such as AcknowledgeRPdu are replaced by descriptive names such as AcknowledgeReliablePdu.
  • SignalPdu.Samples is now SignalPdu.SampleCount.
  • Signal and Intercom Signal EncodingScheme is now SignalEncodingScheme (raw ushort values remain implicitly convertible).

Validation

  • Release tests: 100 passed on .NET 10; library builds for .NET 9 and .NET 10
  • scoped dotnet format verification passed
  • generator regeneration was hash-verified as deterministic
  • OpenDisNet 0.2.0 nupkg and snupkg built and contents inspected
  • official v36 archive SHA-256: 38E50743C89E576E40E6C3B5EEEC118116E82A84CE85C55DBF68E125BCA61567

The local Windows environment still denies the generator verify process read access to checked-in generated files; CI runs the normal verify command on clean Windows and Linux runners.

@RejectKid
RejectKid marked this pull request as ready for review July 13, 2026 16:58
@RejectKid
RejectKid merged commit 009b721 into main Jul 13, 2026
5 checks passed
@RejectKid
RejectKid deleted the agent/siso-v36-api branch July 13, 2026 16:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant