WORK-423
Setting up your dashboard 0 entities found · 8/33 branches scanned
ID:WORK-423Status:ready

elevation depth-ladder axis

Turn elevation into the universal chrome/depth axis from SPEC-107: an ordered semantic ladder emitted as data-elevation, superseding both §8's surface enum and today's shadow-only none/sm/md/lg scale. The foundation the rest of the milestone builds on.

Priority:highComplexity:complexMilestone:v0.23.0Source:SPEC-107

Criteria completion

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

Tracking started Jun 14 — check back for trends.

Scope

  • Recognise the value set sunken | flush | flat | raised | floating (+ optional overlay) on the universal elevation axis; emit data-elevation from the engine like the other cross-rune classifications.
  • Add defaultElevation to RuneConfig (mirroring defaultWidth / defaultDensity) so the per-rune default is theme config, overridable per instance and via context/region cascade.
  • Ship a deprecation alias mapping old → new (noneflat, smraised, mdraised, lgfloating) that resolves + warns (the SPEC-086 alias pattern). none maps to flat, never flush.
  • Honor the elevationframe-shadow boundary (SPEC-107 §1): elevation is the rune surface's box-shadow depth; leave frame-shadow's own none/sm/md/lg scale untouched (separate axis, not renamed or migrated).

Acceptance Criteria

  • elevation accepts sunken | flush | flat | raised | floating (+ optional overlay) and the engine emits data-elevation="<value>".
  • defaultElevation is read from theme RuneConfig and applied when the author sets no value; per-instance values win.
  • Old values (none/sm/md/lg) resolve via a deprecation alias with a dev warning; noneflat (not flush); tests cover the mapping.
  • frame-shadow's none/sm/md/lg scale is left untouched; only the rune-surface elevation scale migrates.
  • Unit tests cover value emission, the per-rune default, and the alias.

Dependencies

  • Best after WORK-410 (the spike sets the cut line). The chrome axis other items target.

References

  • SPEC-107 · SPEC-094 §8 · packages/transform/src/engine.ts · packages/transform/src/types.ts (RuneConfig).