WORK-198
ID:WORK-198Status:ready

Migrate Lumina and plugin tint configs

Apply the SPEC-053 field renames to every concrete tint definition that ships with refrakt. Primary scope: Lumina's five tints (base, subtle, warm, cool, dark). Secondary scope: any plugin under plugins/ that defines its own tints. End state: every shipped tint uses the new vocabulary; everything renders identically to before.

Priority:highComplexity:smallMilestone:v0.14.0Source:SPEC-053
claude/spec-053-tint-authoring-notes View source

Criteria completion

Criteria completion: 0 of 5 (0%) checked; tracking started on May 18, no incremental history yet0%25%50%75%100%May 18Jun 15

Tracking started May 18 — check back for trends.

Branches 2
claude/spec-053-tint-authoring-notes current ready
main doneclaude/v0.14.0-spec-053-tint-vocab done
History 1
  1. 8df92a3
    Created (ready)by bjornolofandersson

Acceptance Criteria

  • packages/lumina/src/config.ts tint configs migrated: background → bg, primary → text, secondary → muted, accent → primary, mode: 'dark' → lockMode: 'dark', drop mode: 'auto' entries
  • All five Lumina tints (base, subtle, warm, cool, dark) updated; the dark tint specifically becomes { lockMode: 'dark', dark: { … } } with the renamed fields inside
  • Each plugin under plugins/ audited via grep for tints: — any that ship tint definitions get migrated. Likely candidates: marketing, docs, design (worth verifying)
  • Visual regression: a test site that explicitly applies each Lumina tint via tint="base", tint="warm", tint="cool", tint="subtle", tint="dark" renders identically pre and post migration
  • No grep hits for old field names (background:, primary: as a tint field, secondary:, accent:) inside tints: { … } blocks anywhere in the codebase

Approach

This is the work item that depends on the previous three in the SPEC-053 chain (WORK-195, WORK-196, WORK-197) being merged. Once the types, merge, and CSS bridge speak the new vocabulary, the actual config files migrate.

For Lumina's config.ts, the migration is a careful find-and-replace within tints: { … } blocks — semantic, not regex-blind, because the same field names appear in other contexts (e.g., a CSS color token name might happen to contain "primary" too). Walk each tint definition explicitly.

Plugin audit: grep -rl "tints:" plugins/ to find candidates, then migrate each in the same way.

Dependencies

  • WORK-195 — types ready.
  • WORK-196 — merge logic ready.
  • WORK-197 — CSS bridge ready.

References

  • SPEC-053 — rename map and before/after examples
  • packages/lumina/src/config.ts — primary file to migrate
  • plugins/*/src/ — secondary audit scope