Skip to content

Publish a versioned CSS capability matrix backed by WPT and native contracts #236

Description

@wieslawsoltes

Parent tracker: #235

Problem

WebScene has broad CSS coverage, but there is no single versioned, machine-readable map from CSS syntax/properties/selectors/at-rules to their browser/native contracts and implementation locations. Missing and partial behavior is therefore rediscovered through product failures.

Proposed work

  • Define a versioned CSS capability schema covering parser, selector, cascade, CSSOM, values, layout, paint, responsive, and animation areas.
  • Generate the matrix from checked-in product-neutral WPT/native contract metadata rather than hand-maintained claims.
  • Distinguish supported, partial, unsupported, and intentionally out-of-scope behavior.
  • Record implementation/test paths and platform-specific qualification.
  • Add a focused validator that rejects stale or unsupported claims.
  • Feed newly observed unchanged VS Code CSS usage into the matrix without adding product-specific runtime behavior.

Acceptance

  • Machine-readable schema and human-readable generated report are checked in.
  • Every claimed capability links to an executable contract.
  • Partial capabilities state their exact boundary.
  • CI rejects malformed metadata and claims without coverage.
  • [Epic] CSS features, compatibility, validation, and performance #235 is updated with the resulting inventory and next focused gaps.

Coordinate with #148 and inventory its newly covered syntax only after its final head is known.

Activity

  1. wieslawsoltes commented on Sep 17, 2026

    @wieslawsoltes
    CollaboratorAuthor

    Implementation boundary after refreshing #235/#237 and PR #245: this lane owns only the versioned capability metadata, generated human report, and fail-closed validator/tooling regression. It will derive claims from existing product-neutral WPT/native/browser-oracle evidence with explicit pass/fail/skipped/unavailable denominators and source revision provenance. It will not touch #245's structural invalidation/checkpoint/scaling implementation or its WPT profile.

  2. wieslawsoltes commented on Sep 17, 2026

    @wieslawsoltes
    CollaboratorAuthor

    Scheduling update after the full CSS gap audit: implementation is intentionally stopped before any repository source edit or PR creation. This issue remains dependency order 0 and owns only the capability schema, generated report, evidence ingestion, and fail-closed validator described above. Its output is the versioned input to #254-#258 and the existing #237-#243 workstreams. The isolated local branch is clean; no implementation claim or CI result exists.

  3. wieslawsoltes commented on Sep 17, 2026

    @wieslawsoltes
    CollaboratorAuthor

    Focused implementation PR #271 is open and ready at exact head 11c20bb. It contains only the versioned CSS schema/matrix, bounded evidence profile, exact browser/native artifacts, fail-closed validator/tests, generated report, documentation, and its direct CI step. It does not modify PR #245's component profile, structural invalidation, DOM checkpoint, resize, or native engine files.

    Local direct gates at this head:

    • validator tooling tests: 12/12 passed;
    • generated report check: browser 25 pass / 7 fail / 0 skipped / 0 unavailable / 32 total; native 32/0/0/0/32;
    • profile list: 9/9 entries valid;
    • exact b81f594 certification native run: 9/9 documents and 32/32 assertions, library SHA-256 64c100b8fe1f1b81248b4850db59239d141e4d80d2ab2553891776977eac78ba;
    • bounded inputs/report: 40,060/262,144 bytes and 9,477/131,072 bytes.

    Chrome 153's seven failures are preserved as partial claims rather than hidden. #263 should consume css-capability-matrix.json as its CSS slice after this PR lands.

  4. wieslawsoltes commented on Sep 17, 2026

    @wieslawsoltes
    CollaboratorAuthor

    Final status: PR #271 merged to main as aa121fe after the new CSS capability step passed on both Linux and macOS runners. Remaining broad/package runs were canceled after merge. The vscode-oss/planned label was removed because this issue is complete. Wave 1 live form-state work remains #257 after #245 is reconciled.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions