zerodds-ast-layout

Wire layout planning over the common AST: XCDR1/XCDR2 member plans, length codes, key holders. Computes the plan; codecs execute it.

Where a member sits, and what frames it.

Wire layout planning over the common AST: alignment, extent, header framing and offsets, computed per (encoding, endianness, purpose). Every difference between XCDR1 and XCDR2, between a plain and a delimited stream, between a payload and a KeyHash, is a different plan over the same model.

This crate never moves sample bytes. A codec executes the plan; the plan is data. That separation is why twenty-one language columns can be compared against each other: they all execute the same plan, so a disagreement is theirs and not the plan's.

The dialect axes live in this crate — one named value per question the vendors answer differently. zerodds-idlc generate --dialect/--<axis> and Config::dialect/Config::axis of zerodds-build read the same table; docs/wire-axis-flags.md lists every dialect's answer to every axis.

Position

Specification

docs/specs/zerodds-ast-1.0.md §7.

zerodds-ast-layout

Planung des Wire-Layouts über dem gemeinsamen AST: Member-Pläne für XCDR1/XCDR2, Längencodes, Key-Holder. Berechnet den Plan; Codecs führen ihn aus.

Wo ein Member liegt und was ihn rahmt.

Planung des Wire-Layouts über dem gemeinsamen AST: Ausrichtung, Ausdehnung, Rahmung durch Header und Offsets, berechnet je (encoding, endianness, purpose). Jeder Unterschied zwischen XCDR1 und XCDR2, zwischen einem einfachen und einem begrenzten Strom, zwischen einer Nutzlast und einem KeyHash ist ein anderer Plan über demselben Modell.

Diese Crate bewegt nie Bytes eines Samples. Ein Codec führt den Plan aus; der Plan ist Daten. Diese Trennung ist der Grund, warum sich einundzwanzig Sprachspalten miteinander vergleichen lassen: Alle führen denselben Plan aus, eine Abweichung liegt also bei ihnen und nicht beim Plan.

Die Dialektachsen liegen in dieser Crate — ein benannter Wert je Frage, die die Hersteller unterschiedlich beantworten. zerodds-idlc generate --dialect/--<axis> und Config::dialect/Config::axis von zerodds-build lesen dieselbe Tabelle; docs/wire-axis-flags.md führt die Antwort jedes Dialekts auf jede Achse auf.

Stellung

Spezifikation

docs/specs/zerodds-ast-1.0.md §7.