Skip to content

Skip recascade for identical CSS custom-property writes #549

Description

@wieslawsoltes

Parent: #243. CSS epic: #235.

Proven hot path

Unchanged Code OSS 645f29cc contains 135 production literal CSS custom-property style.setProperty('--…') calls across 50 files, including list scrolling, editor font size, sticky-scroll width, tab sizing, activity-bar geometry, and zoom variables. WebScene currently reparses/reapplies and schedules targeted recascade when the nonempty authored token and priority are exactly unchanged.

Scope

Add an early equality guard for nonempty custom-property writes after property/priority validation. Compare the canonical authored token and !important state; preserve custom-element style-attribute notification and diagnostics; add no cache or retained state; keep existing invalidation for different values, priority changes, and removals.

Acceptance

  • Focused source change and regressions are authored.
  • git diff --check passes.
  • 4,096 connected identical writes execute with zero additional layout passes and scene publications.
  • 4,096 detached identical writes execute with zero additional layout/publication work; reconnect preserves specified/computed style with one bounded layout/publication.
  • Dynamic unchanged Code OSS A/B/ABBA, browser/package, lifecycle, visual, and performance gates run in the deferred validation lane.

No build, test, benchmark, or formatter was executed under the current fast-merge instruction.

Metadata

Metadata

Assignees

No one assigned

    Labels

    vscode-oss/plannedPlanned for the AppScene/WebScene VS Code OSS integration

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions