Release v0.3.0: compiled forms — ReadPlan, owned BastDoc, LeafMeta, ValidationPlan, fingerprinting
Public API bump 0.2.0 -> 0.3.0 (the 030-compiled-forms plan is now fully implemented; all eight phases landed). - Cargo.toml: version 0.3.0. lib.rs re-exports complete (ReadPlan + sub-types, LeafMeta, OffsetEntry, ValidationPlan + sub-types). - ADR-007 "Cost" rewritten to the Arc<ReadPlan> cost (15.7 ns) with the 0.2.0 "re-parse on demand" framing as a historical note (review #004 L2, the last loose end from that review). - ADR-011/012 status blocks flipped to implemented; architecture README ADR table rows updated; layout-engine.md rewritten for the 0.3.0 surface (engine-factory reader construction, OffsetMap OffsetEntry/LeafMeta/fingerprint section, owned BastDoc compute signature); SequentialReader module doc points at the engine factory. Reviews #004 and #005 flipped to closed. - Bench re-run (alktty wire_vs_bast, 0.3.0 tree): read p64 98 ns/chunk (parity with phase 2; hand-rolled 5.7 us/stream), layout_build 180 ns (was ~1.2 us — the phase-4 owned-doc cache removed the per-build re-parse, ~7x), sequential_reader_new 15.7 ns, write p64 -3%, engine_compile unchanged (meta-schema validation dominates). No dedicated validate_bytes-stream bench: the phase-7 spot check (~0.2 us plan-validate vs ~0.6 us compile-per-call) stands; a dedicated bench is a follow-up if alkcall profiling motivates it. - Downstream: alktty compiles against the path dep unchanged; alkcall has no dependency yet. Verification (full block, all green): 474 tests; clippy -D warnings clean; cargo doc zero warnings; wasm32 release build green; cargo publish --dry-run clean at 0.3.0.
This commit is contained in:
1 parent
537a2170fb
commit
9949f914df
11 files changed
+94
-36
No files matched your search
@@ -119,7 +119,8 @@ pub enum FieldValue<'a> {
|
||||
/// fields 0..N-1 first. This is inherent to packed layouts where
|
||||
/// variable-length fields shift subsequent fields.
|
||||
///
|
||||
/// Construct with [`SequentialReader::new`], then drive with
|
||||
/// Construct via [`crate::AlkTypeEngine::sequential_reader`] (shares
|
||||
/// the engine's compiled plan), then drive with
|
||||
/// [`SequentialReader::read_next`] until it returns `Ok(None)`. Use
|
||||
/// [`SequentialReader::reset`] to walk the same buffer again, or
|
||||
/// [`SequentialReader::read_field`] to seek a single field by name
|
||||
|
||||
Reference in new issue
Block a user