1mod computed_value;
8mod conformance;
9mod custom_property;
10mod frame_footprint;
11mod fuzz;
12mod grn;
13mod modal;
14mod model;
15mod origin;
16mod proofs;
17mod property_metadata;
18mod property_metadata_idl_generated;
19mod ranking;
20mod refinement;
21mod selector;
22mod shorthand_authority;
23mod statistics;
24
25pub use computed_value::*;
26pub use conformance::*;
27pub use custom_property::*;
28pub use frame_footprint::*;
29pub use fuzz::*;
30pub use grn::*;
31pub use modal::*;
32pub use model::*;
33pub use origin::*;
34pub use proofs::{
35 evaluate_static_supports_condition, prove_box_shorthand_combination,
36 prove_layer_flatten_candidate, prove_longhand_merge,
37};
38pub use property_metadata::*;
39pub use property_metadata_idl_generated::{
40 CSS_PROPERTY_METADATA_RECORDS_V1, CSS_PROPERTY_METADATA_V1, CssCustomPropertyPolicyStaticV1,
41 CssCustomPropertyPolicyV1Json, CssPropertyMetadataRecordStaticV1,
42 CssPropertyMetadataRecordV1Json, CssPropertyMetadataSourceStaticV1,
43 CssPropertyMetadataSourceV1Json, CssPropertyMetadataStaticV1, CssPropertyMetadataV1Json,
44};
45pub use ranking::*;
46pub use refinement::*;
47pub use selector::*;
48pub use shorthand_authority::*;
49pub use statistics::*;
50
51pub fn prove_scope_flatten_candidate(mut input: ScopeFlattenInputV0) -> ScopeFlattenProofV0 {
52 if omena_syntax::css_keyword(input.root_selector.trim()).equals(":root") {
53 input.root_selector = ":root".to_string();
54 }
55 proofs::prove_scope_flatten_candidate(input)
56}
57
58pub fn summarize_cascade_boundary() -> CascadeBoundarySummary {
59 CascadeBoundarySummary {
60 product: "omena-cascade.boundary",
61 ordering_model: "lexicographicCascadeKey",
62 substitution_model: "finiteCustomPropertyLeastFixedPoint",
63 least_fixed_point_proof_model: "finite-env monotone custom-property substitution with cycle-to-guaranteed-invalid bottoming and env-size iteration bound",
64 ready_surfaces: vec![
65 "cascadeKeyOrdering",
66 "specificityOrdering",
67 "cascadeOutcomeProof",
68 "genericCascadeWinner",
69 "semanticDesignTokenRanking",
70 "queryReadCascadeAtPosition",
71 "selectorContextWitness",
72 "selectorMatchWitness",
73 "cascadeConformanceSeedCorpus",
74 "customPropertySubstitution",
75 "customPropertyLeastFixedPoint",
76 "customPropertyLeastFixedPointProof",
77 "customPropertyLeastFixedPointTrace",
78 "cycleToGuaranteedInvalid",
79 "computedValueResolutionSeed",
80 "inheritanceInitialValueSeed",
81 "shorthandCombinationProof",
82 "supportsStaticEvalWitness",
83 "scopeFlattenProof",
84 "layerFlattenProof",
85 "modalCheckWitnessV0",
86 "cascadeMarginSchemaV0",
87 "wptCascadeSeedCorpus",
88 "spinGlassStatisticsV0",
89 "grnAttractorBasinV0",
90 "diagnosticFrameFootprintV0",
91 ],
92 not_ready_surfaces: vec!["fullInitialValueTable", "fullWptCascadeCorpus"],
93 }
94}
95
96#[cfg(test)]
97mod tests;