Codegen: generate packet types from protocol templates #46
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Objective
Translate PacketSourceGenerator inputs and semantics into deterministic Rust packet type generation.
Deliverables
Validation
Prerequisite
The fixed API/test gates, Types, StructuredData, and relevant imaging foundations are complete.
Project constraints
Implemented and pushed in
fb7d0c6.This adds a native Rust parser and deterministic generator for the pinned message template, with source-located PGxxx diagnostics and checked-in packet_catalog.rs output. The generated catalog covers 483 packets and 905 blocks, preserves IDs, frequencies, widths, ordering, repetition, flags, default construction, golden Length metadata, pooling metadata, and known/unknown dispatch. Generation validates the complete packet, block, field, and PacketType shape against the pinned public API catalog; normal builds do not invoke the generator or require .NET, Roslyn, C# assemblies, or the reference checkout.
Verification completed:
Final review found and corrected native coverage accounting; the report now recognizes all generated native packet and block members.