omena-cascade 0.1.14

Cascade-formal substrate for Omena CSS
Documentation

omena-cascade

Cascade-formal substrate for the Omena CSS track.

This crate owns the public model for cascade ordering, specificity, static cascade outcomes, cascade proofs, selector-match witnesses, generic winner selection, and custom-property substitution. omena-semantic consumes this crate for design-token cascade ranking and selector-context witnesses so cascade order does not stay duplicated in semantic consumers.

Selector matching is intentionally three-valued. The current witness supports selector lists and simple compound selectors directly, reports exact misses for concrete signatures, and returns Maybe for unsupported selectors or inexact abstract element signatures instead of pretending to be a full browser selector engine.

The crate also exposes a seed conformance corpus for the cascade ordering model. That corpus covers source order, specificity, origin/importance level, layer rank, scope proximity, and missing-property inheritance. It is not a replacement for the full WPT css/css-cascade corpus. A larger WPT-style seed matrix covers 200+ origin/importance, layer, scope-proximity, and specificity ordering cases; the full external WPT mirror remains a later conformance target.

Transform proof helpers live here as well. @supports static evaluation uses an explicit modern-browser assumption witness, and @scope / @layer flattening helpers reject candidates unless the caller can provide the closed-world cascade conditions needed to erase scope proximity or layer rank.