vize_l3 0.489.0

L3 - the Davinci reactivity IR (codename Impeto): flat scheduled ops with explicit state and effect edges
Documentation

vize_l3

vize_l3 is Davinci's L3 reactivity IR. It records backend-oriented UI work as flat, id-addressed operations with explicit state and effect edges.

decision::build_decisions separately computes conservative native decisions in one canonical L2 event walk. Its NativeAnalysis retains the actual sealed L2 owner, selected policy and read-only tables as one input to L4. Local ids from another artifact cannot establish that association. Placement remains Inline; complete grouping, placement and product selection are unfinished.

Program::operands retains value payloads beside the compact graph. Operands identify their owning operation, binding target or conditional region, semantic role, source span, and value kind. Missing values differ from empty literals; opaque and foreign expressions remain classified rather than becoming JavaScript. The payload text belongs to the L3 arena and does not borrow an earlier stage.

L3ValuesFolio is the owned value-page companion to the graph-only L3Folio. Its operand= JSON tuples preserve escapes and authored ordering. Equality of these serialized rows is document equality, not semantic expression equality. The L3V009 verifier checks value shape, source containment and references in every phase. This is a value-transport contract, not yet executable stateful Lean semantics or a replacement for the existing backend payloads.

Program::placements is the P3-10 placement overlay. placement::annotate records where each op's work may run instead of inline: a hoisted static subtree under a control region, a cached scope-free event handler, or a leaf update grouped with the adjacent op reading the same direct reference. The overlay never rewrites the graph, so exported partition facts stay canonical; L3V010 re-derives every recorded alternative and committed choice, and L3PlacementFolio prints the overlay on its own page.

extract::extract is the try-measure-commit pass over that overlay. Each candidate is performed on a trial plan, measured (emitted size, reactive-edge count, update-path length), and committed only under the -O tier's pinned rule and candidate budget, which mirror budgets.toml. Every candidate yields one applied or missed decision, printed on L3ExtractionFolio.

Support and deprecation guarantees are defined in the Rust crate support tiers.

License

MIT