WORK-371
Setting up your dashboard 0 entities found · 8/31 branches scanned
ID:WORK-371Status:done

Structured overlay/scrim facets + raw-string overlay deprecation path

Split the conflated overlay string into a structured flat-wash overlay and a structured scrim legibility facet, with a deprecation path for the raw-string passthrough.

Priority:mediumComplexity:complexMilestone:v0.20.0Source:SPEC-088

Criteria completion

Criteria completion: 4 of 4 (100%) checked; history from Jun 9 to Jun 90%25%50%75%100%Jun 9Jun 9
Branches 3
History 6
  1. 1731c3d
    • ☑ `overlay` is constrained to `none|dark|light` (+ optional token reference / opacity).
    • ☑ A structured `scrim` facet provides legibility behind overlaid text via `scrim-type` (`gradient` default | `frost`), `scrim-strength`, `scrim-blur`, `scrim-tone` (`dark|light`, explicit), targeting the bg overlay or the media well (SPEC-087 routing).
    • ☑ `scrim-tone` sets the overlaid content's **foreground polarity** (text/muted tokens), not just the wash — a `dark` scrim yields light text — so text colour follows the scrim, not the base surface.
    • ☑ The unvalidated raw-string `overlay` passthrough is deprecated with a build warning for one minor then removed, gated on `scrim` shipping.
    by bjornolofandersson
  2. 3952770
    Content editedby Claude
    plan: mark Batch 4 (SPEC-088 bg gradients & scrim) done + changeset
  3. 3be3c08
    Content editedby bjornolofandersson
  4. d2c3251
    Content editedby Claude
    spec(SPEC-088/089): scrim-tone drives the overlay foreground colour
  5. 9c0545a
    Created (ready)by bjornolofandersson
  6. 1da59d6
    Content editedby Claude
    plan: add v0.20.0 milestone and break down SPEC-086..091 into work items

Acceptance Criteria

  • overlay is constrained to none|dark|light (+ optional token reference / opacity).
  • A structured scrim facet provides legibility behind overlaid text via scrim-type (gradient default | frost), scrim-strength, scrim-blur, scrim-tone (dark|light, explicit), targeting the bg overlay or the media well (SPEC-087 routing).
  • scrim-tone sets the overlaid content's foreground polarity (text/muted tokens), not just the wash — a dark scrim yields light text — so text colour follows the scrim, not the base surface.
  • The unvalidated raw-string overlay passthrough is deprecated with a build warning for one minor then removed, gated on scrim shipping.

Approach

overlay passthrough in engine.ts. Cover-mode scrim consumer is SPEC-089. SPEC-088 §3.

References

  • SPEC-088

Resolution

Completed: 2026-06-09

Branch: claude/spec-088-bg-gradients-scrim

What was done

  • overlay constrained to dark/light/token-reference (+ overlay-opacity); raw CSS still applies but warns (deprecated, gated on scrim shipping).
  • Structured scrim facet (universal): scrim (edge) + scrim-type (gradient|frost), scrim-strength, scrim-blur, scrim-tone. Engine emits the data-scrim-* contract + --scrim-* vars on a scrim element; bg.css renders the directional gradient / backdrop-blur frost. Scrim/overlay can stand alone (raise the layer with no image).
  • scrim-tone flips the overlaid content's foreground via data-color-scheme on the host (dark scrim → light text), reusing the palette flip; an explicit tint scheme wins.
  • Force-included bg.css in the used-CSS set (bg is now universal-attribute-driven).

Notes

  • The scrim's media-well target (vs the bg overlay) is realized by cover mode (SPEC-089, Batch 5); the facet + bg-overlay target ship here.