Skip to content

Generate effective CSS property metadata - #309

Merged
danwalmsley merged 1 commit into
mainfrom
feature/css-property-metadata-235
Sep 17, 2026
Merged

danwalmsley merged 1 commit into
mainfrom
feature/css-property-metadata-235

Conversation

@danwalmsley

Copy link
Copy Markdown
Collaborator

Summary

  • replace duplicated effective-longhand/property-mask conditionals with a generated 61-entry metadata registry
  • share the registry between cascade rollback, property masks, and the six logical shorthands that require ordinary application expansion
  • fix two-value logical inset and border width/color behavior across stylesheet rollback and inline CSSOM recascade
  • add a generator stale-output gate, registry invariants, a reproducible lookup benchmark, and validation evidence

Performance boundary

High-frequency direct fields still return before metadata lookup. Common margin/padding/gap/overflow shorthands retain their existing direct application paths. Only six previously incorrect logical shorthands expand during ordinary application; rollback continues to expand only on the rare rollback path.

Identical AppleClang 21 -O3 A/B over 24 million mixed property-mask lookups: 502.446 ms baseline median versus 424.271 ms candidate median (-15.56%).

Validation

  • Chrome 153 effective-property contract: 15/15
  • native current parser: 15/15
  • native legacy parser: 15/15
  • unchanged cascade winner matrix: 17/17
  • adjacent CSSOM contracts: 21/21
  • NativeWeb CSS service/shared styles/compiler: 3/3
  • generator tests: 3/3 plus stale-output check
  • cascade-layer exact work counters invariant as unrelated nodes grow 32 -> 1024

This is the property-metadata stage of #235. It intentionally does not touch #238 Linux timing attribution or #297 stylesheet-finalization work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant