WORK-359
ID:WORK-359Status:ready

Per-instance variant resolution and merge over base config

Resolve each variant axis per instance and merge matching deltas over the base config before layout assembly, reusing the existing mergeThemeConfig machinery.

Priority:highComplexity:complexMilestone:v0.20.0Source:SPEC-091
claude/mcp-server-verify-4lnxej View source

Criteria completion

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

Tracking started Jun 9 — check back for trends.

Branches 2
claude/mcp-server-verify-4lnxej current ready
claude/spec-091-engine-variants donemain done
History 1
  1. 1da59d6
    Created (ready)by bjornolofandersson

Acceptance Criteria

  • Per instance the engine resolves modifier values (with default fallback) and merges variants[axis][value] over base before assembly; no separate condition language and no defaultVariants.
  • Merge reuses mergeThemeConfig by-key semantics (delta layout.root replaces; new wrapper keys add) in variants declaration order; the layout assembler is unchanged.
  • Themes can add/override a rune's variants via mergeThemeConfig.

Approach

Resolution is per-instance and happens before layout assembly; the static layout primitive is untouched. mergeThemeConfig in packages/transform/src/merge.ts. SPEC-091 §2–§3, §6.

References

  • SPEC-091