Skip to content

Honor text-wrap mode in retained text layout #802

Description

@wieslawsoltes

Parent CSS epic: #235
Layout owner: #240
Performance owner: #243

Proven gap

Unchanged Code OSS 645f29cc3176500b4b5762ba887cf2a7f0ffdf2c contains 10 text-wrap declarations across 9 CSS files. Nine use nowrap or wrap on diff placeholders, hover text, Change view, Chat status/anchors/code pills, and notebook content. Current WebScene 02287992 has no property identity or used-value integration, so these surfaces can wrap contrary to the authored layout.

Focused implementation

  • generated native/managed identity, validation, and CSSOM for the bounded wrap|nowrap mode used by Code OSS, with initial, inherit, unset, removal, and cascade behavior;
  • retain the inherited mode in cold textual style without changing computed white-space;
  • compose text-wrap:nowrap with existing white-space/word-break/overflow-wrap layout and scene wrapping decisions;
  • target ordinary style/layout invalidation with no timer, frame participant, platform text widget, document scan, or Code OSS patch;
  • leave balance, pretty, stable, and the full shorthand style grammar explicitly outside this slice.

Gates

  • CSSOM/inheritance/mutation/removal and width/height wrapping contract;
  • native inline, flex, generated-content, highlight, and hit-order regression;
  • 4,096-node mutation gate with one bounded layout/publication and no idle frame demand;
  • exact unchanged diff, hover, Change view, Chat, and notebook regions;
  • memory/lifecycle and Chromium geometry comparison.

Current status — 20 September 2026

PR #803 is merged at current WebScene main ba27b13da399dee2433c9a8ded33acaa6207547f. Authored CSSOM/native/geometry/performance/product gates remain unexecuted qualification debt.

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