@nurix/etna 0.19.3 → 0.19.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (119) hide show
  1. package/data/harness-index.json +1 -1
  2. package/data/harnesses/code/harness.json +1 -1
  3. package/data/harnesses/code/rules/frontend.md +3 -3
  4. package/data/harnesses/code/skills/design/SKILL.md +20 -8
  5. package/data/harnesses/code/skills/design/data/catalog/rules.csv +10 -5
  6. package/data/harnesses/code/skills/design/data/combinations/Readme.md +8 -4
  7. package/data/harnesses/code/skills/design/data/combinations/accent-presets.md +113 -0
  8. package/data/harnesses/code/skills/design/data/combinations/fonts-known.json +11 -0
  9. package/data/harnesses/code/skills/design/data/combinations/manifest.json +57 -10
  10. package/data/harnesses/code/skills/design/data/combinations/motion.csv +10 -0
  11. package/data/harnesses/code/skills/design/data/combinations/palettes.csv +92 -49
  12. package/data/harnesses/code/skills/design/data/combinations/styles.csv +67 -54
  13. package/data/harnesses/code/skills/design/data/combinations/typography.csv +64 -61
  14. package/data/harnesses/code/skills/design/data/design-md/library/expo.md +4 -4
  15. package/data/harnesses/code/skills/design/data/design-md/library/lovable.md +5 -5
  16. package/data/harnesses/code/skills/design/data/design-md/library/minimax.md +6 -6
  17. package/data/harnesses/code/skills/design/data/design-md/library/notion.md +4 -4
  18. package/data/harnesses/code/skills/design/data/design-md/library/runwayml.md +4 -4
  19. package/data/harnesses/code/skills/design/data/design-md/library/sentry.md +2 -2
  20. package/data/harnesses/code/skills/design/data/design-md/library/slack.md +6 -6
  21. package/data/harnesses/code/skills/design/data/design-md/library/webflow.md +5 -5
  22. package/data/harnesses/code/skills/design/data/design-md/nurix.md +11 -7
  23. package/data/harnesses/code/skills/design/data/design-tokens/SCHEMA.md +256 -141
  24. package/data/harnesses/code/skills/design/data/design-tokens/airbnb/design.tokens.json +309 -1
  25. package/data/harnesses/code/skills/design/data/design-tokens/airtable/design.tokens.json +309 -1
  26. package/data/harnesses/code/skills/design/data/design-tokens/anthropic-claude/design.tokens.json +309 -1
  27. package/data/harnesses/code/skills/design/data/design-tokens/apple/design.tokens.json +309 -1
  28. package/data/harnesses/code/skills/design/data/design-tokens/binance/design.tokens.json +309 -1
  29. package/data/harnesses/code/skills/design/data/design-tokens/bmw/design.tokens.json +309 -1
  30. package/data/harnesses/code/skills/design/data/design-tokens/cal/design.tokens.json +313 -1
  31. package/data/harnesses/code/skills/design/data/design-tokens/clay/design.tokens.json +309 -1
  32. package/data/harnesses/code/skills/design/data/design-tokens/clickhouse/design.tokens.json +309 -1
  33. package/data/harnesses/code/skills/design/data/design-tokens/cohere/design.tokens.json +309 -1
  34. package/data/harnesses/code/skills/design/data/design-tokens/coinbase/design.tokens.json +309 -1
  35. package/data/harnesses/code/skills/design/data/design-tokens/composio/design.tokens.json +309 -1
  36. package/data/harnesses/code/skills/design/data/design-tokens/cursor/design.tokens.json +309 -1
  37. package/data/harnesses/code/skills/design/data/design-tokens/elevenlabs/design.tokens.json +313 -1
  38. package/data/harnesses/code/skills/design/data/design-tokens/expo/design.tokens.json +309 -1
  39. package/data/harnesses/code/skills/design/data/design-tokens/figma/design.tokens.json +313 -1
  40. package/data/harnesses/code/skills/design/data/design-tokens/framer/design.tokens.json +309 -1
  41. package/data/harnesses/code/skills/design/data/design-tokens/goldens.json +123 -123
  42. package/data/harnesses/code/skills/design/data/design-tokens/hashicorp/design.tokens.json +309 -1
  43. package/data/harnesses/code/skills/design/data/design-tokens/ibm/design.tokens.json +309 -1
  44. package/data/harnesses/code/skills/design/data/design-tokens/intercom/design.tokens.json +309 -1
  45. package/data/harnesses/code/skills/design/data/design-tokens/kraken/design.tokens.json +313 -1
  46. package/data/harnesses/code/skills/design/data/design-tokens/linear-app/design.resolver.json +1 -1
  47. package/data/harnesses/code/skills/design/data/design-tokens/linear-app/design.tokens.dark.json +10 -0
  48. package/data/harnesses/code/skills/design/data/design-tokens/linear-app/design.tokens.json +309 -1
  49. package/data/harnesses/code/skills/design/data/design-tokens/lovable/design.tokens.json +313 -1
  50. package/data/harnesses/code/skills/design/data/design-tokens/meta/design.tokens.json +313 -1
  51. package/data/harnesses/code/skills/design/data/design-tokens/minimax/design.tokens.json +309 -1
  52. package/data/harnesses/code/skills/design/data/design-tokens/mintlify/design.tokens.json +309 -1
  53. package/data/harnesses/code/skills/design/data/design-tokens/miro/design.tokens.json +313 -1
  54. package/data/harnesses/code/skills/design/data/design-tokens/mistral-ai/design.tokens.json +309 -1
  55. package/data/harnesses/code/skills/design/data/design-tokens/mongodb/design.tokens.json +313 -1
  56. package/data/harnesses/code/skills/design/data/design-tokens/notion/design.tokens.json +309 -1
  57. package/data/harnesses/code/skills/design/data/design-tokens/nurix/design.tokens.json +307 -2
  58. package/data/harnesses/code/skills/design/data/design-tokens/nvidia/design.tokens.json +309 -1
  59. package/data/harnesses/code/skills/design/data/design-tokens/ollama/design.tokens.json +309 -1
  60. package/data/harnesses/code/skills/design/data/design-tokens/opencode-ai/design.tokens.json +309 -1
  61. package/data/harnesses/code/skills/design/data/design-tokens/posthog/design.tokens.json +309 -1
  62. package/data/harnesses/code/skills/design/data/design-tokens/raycast/design.tokens.json +309 -1
  63. package/data/harnesses/code/skills/design/data/design-tokens/replicate/design.tokens.json +309 -1
  64. package/data/harnesses/code/skills/design/data/design-tokens/resend/design.resolver.json +1 -1
  65. package/data/harnesses/code/skills/design/data/design-tokens/resend/design.tokens.dark.json +10 -0
  66. package/data/harnesses/code/skills/design/data/design-tokens/resend/design.tokens.json +309 -1
  67. package/data/harnesses/code/skills/design/data/design-tokens/revolut/design.tokens.json +309 -1
  68. package/data/harnesses/code/skills/design/data/design-tokens/runwayml/design.tokens.json +310 -2
  69. package/data/harnesses/code/skills/design/data/design-tokens/sanity/design.tokens.json +313 -1
  70. package/data/harnesses/code/skills/design/data/design-tokens/sentry/design.tokens.json +309 -1
  71. package/data/harnesses/code/skills/design/data/design-tokens/shopify/design.tokens.json +309 -1
  72. package/data/harnesses/code/skills/design/data/design-tokens/slack/design.tokens.json +309 -1
  73. package/data/harnesses/code/skills/design/data/design-tokens/spacex/design.tokens.json +309 -1
  74. package/data/harnesses/code/skills/design/data/design-tokens/spotify/design.tokens.json +313 -1
  75. package/data/harnesses/code/skills/design/data/design-tokens/stripe/design.tokens.json +313 -1
  76. package/data/harnesses/code/skills/design/data/design-tokens/supabase/design.tokens.json +309 -1
  77. package/data/harnesses/code/skills/design/data/design-tokens/superhuman/design.tokens.json +313 -1
  78. package/data/harnesses/code/skills/design/data/design-tokens/tesla/design.tokens.json +309 -1
  79. package/data/harnesses/code/skills/design/data/design-tokens/theverge/design.tokens.json +309 -1
  80. package/data/harnesses/code/skills/design/data/design-tokens/together-ai/design.tokens.json +313 -1
  81. package/data/harnesses/code/skills/design/data/design-tokens/uber/design.tokens.json +309 -1
  82. package/data/harnesses/code/skills/design/data/design-tokens/vercel/design.tokens.json +309 -1
  83. package/data/harnesses/code/skills/design/data/design-tokens/voltagent/design.resolver.json +1 -1
  84. package/data/harnesses/code/skills/design/data/design-tokens/voltagent/design.tokens.dark.json +10 -0
  85. package/data/harnesses/code/skills/design/data/design-tokens/voltagent/design.tokens.json +309 -1
  86. package/data/harnesses/code/skills/design/data/design-tokens/warp/design.tokens.json +309 -1
  87. package/data/harnesses/code/skills/design/data/design-tokens/webflow/design.tokens.json +309 -1
  88. package/data/harnesses/code/skills/design/data/design-tokens/wired/design.tokens.json +309 -1
  89. package/data/harnesses/code/skills/design/data/design-tokens/wise/design.tokens.json +309 -1
  90. package/data/harnesses/code/skills/design/data/design-tokens/x-ai/design.tokens.json +309 -1
  91. package/data/harnesses/code/skills/design/data/design-tokens/zapier/design.tokens.json +309 -1
  92. package/data/harnesses/code/skills/design/data/operator-pack/exemplars/command-center.tsx +25 -25
  93. package/data/harnesses/code/skills/design/data/operator-pack/exemplars/create-edit.tsx +18 -18
  94. package/data/harnesses/code/skills/design/data/operator-pack/exemplars/dashboard.tsx +82 -105
  95. package/data/harnesses/code/skills/design/data/operator-pack/exemplars/entity-detail.tsx +97 -93
  96. package/data/harnesses/code/skills/design/data/operator-pack/exemplars/list-detail.tsx +16 -15
  97. package/data/harnesses/code/skills/design/data/operator-pack/exemplars/log-stream.tsx +34 -34
  98. package/data/harnesses/code/skills/design/data/operator-pack/surface-catalog.md +5 -5
  99. package/data/harnesses/code/skills/design/references/create.md +49 -7
  100. package/data/harnesses/code/skills/design/references/diagnosis.md +3 -3
  101. package/data/harnesses/code/skills/design/references/hard-rules.md +25 -3
  102. package/data/harnesses/code/skills/design/references/improve.md +32 -3
  103. package/data/harnesses/code/skills/design/references/interaction.md +3 -3
  104. package/data/harnesses/code/skills/design/references/introspect.md +1 -1
  105. package/data/harnesses/code/skills/design/references/lifecycle.md +2 -2
  106. package/data/harnesses/code/skills/design/references/personality.md +280 -133
  107. package/data/harnesses/code/skills/design/references/structure.md +22 -1
  108. package/data/harnesses/code/skills/design/scripts/convert-design-md.mjs +306 -26
  109. package/data/harnesses/code/skills/design/scripts/derive-personality.mjs +596 -104
  110. package/data/harnesses/code/skills/design/scripts/lib/checks.mjs +200 -11
  111. package/data/harnesses/code/skills/design/scripts/lib/vocabulary.mjs +65 -0
  112. package/data/harnesses/code/skills/design/scripts/phase-gate.mjs +95 -11
  113. package/data/harnesses/code/skills/design/scripts/preship-sweep.mjs +50 -5
  114. package/data/harnesses/code/skills/design/scripts/render-rung.mjs +214 -14
  115. package/data/harnesses/code/skills/design/scripts/scaffold.mjs +242 -25
  116. package/data/harnesses/code/skills/design/scripts/self-integrity.mjs +81 -6
  117. package/data/harnesses/code/skills/design/scripts/snapshot-goldens.mjs +101 -5
  118. package/data/harnesses/code/skills/design/scripts/validate-combinations.mjs +142 -17
  119. package/package.json +1 -1
@@ -2,11 +2,12 @@
2
2
  "$description": "Cursor — the warm-cream editorial dev-tool operator design\n[feedback] derived: corpus is quiet (\"hover state never documented\"); warm editorial voice wants gentle present feedback, not austere silence\n[density-tier] derived: an editorial-spacious brand read down to an honest operator tier; warmth carried by palette/radius, not whitespace",
3
3
  "$extensions": {
4
4
  "com.nurix.design": {
5
- "schema": "design-tokens/v1",
5
+ "schema": "design-tokens/v2",
6
6
  "dtcg": "2025.10",
7
7
  "product": "Cursor",
8
8
  "provenance": "library",
9
9
  "sourced": "2026-07-04",
10
+ "theme-default": "light",
10
11
  "product-traits": [
11
12
  "dev-tools",
12
13
  "code-editor",
@@ -188,6 +189,14 @@
188
189
  }
189
190
  }
190
191
  },
192
+ "stagger-unit": {
193
+ "$type": "duration",
194
+ "$value": {
195
+ "value": 30,
196
+ "unit": "ms"
197
+ },
198
+ "$description": "derived: v1→v2 migration — the 30ms default stagger base (0–60ms legal)"
199
+ },
191
200
  "contrast-boost": {
192
201
  "$type": "number",
193
202
  "$value": 1,
@@ -564,6 +573,16 @@
564
573
  }
565
574
  }
566
575
  },
576
+ "surface-raised": {
577
+ "$type": "color",
578
+ "$value": "{color.card}",
579
+ "$description": "derived: v1→v2 migration — light aliases card; dark looks carry the surface-lightness ladder"
580
+ },
581
+ "surface-overlay": {
582
+ "$type": "color",
583
+ "$value": "{color.popover}",
584
+ "$description": "derived: v1→v2 migration — light aliases popover; dark looks carry the surface-lightness ladder"
585
+ },
567
586
  "popover": {
568
587
  "$type": "color",
569
588
  "$value": {
@@ -962,6 +981,295 @@
962
981
  }
963
982
  }
964
983
  }
984
+ },
985
+ "display": {
986
+ "$type": "typography",
987
+ "$value": {
988
+ "fontFamily": "{typography.family.heading}",
989
+ "fontSize": {
990
+ "value": 42,
991
+ "unit": "px"
992
+ },
993
+ "lineHeight": 1.2,
994
+ "fontWeight": "{primitive.font-weight-strong}",
995
+ "letterSpacing": "{primitive.heading-tracking}"
996
+ },
997
+ "$description": "derived: v1→v2 migration — provisional display step (h1 × 1.75, strong weight)",
998
+ "$extensions": {
999
+ "com.nurix.design": {
1000
+ "hint": "display step unset — resolve from the product's design.md or leave for budget-time"
1001
+ }
1002
+ }
1003
+ }
1004
+ }
1005
+ },
1006
+ "elevation": {
1007
+ "sm": {
1008
+ "$type": "shadow",
1009
+ "$value": [
1010
+ {
1011
+ "color": {
1012
+ "colorSpace": "srgb",
1013
+ "components": [
1014
+ 0.05882,
1015
+ 0.0902,
1016
+ 0.16471
1017
+ ],
1018
+ "hex": "#0f172a",
1019
+ "alpha": 0.1
1020
+ },
1021
+ "offsetX": {
1022
+ "value": 0,
1023
+ "unit": "px"
1024
+ },
1025
+ "offsetY": {
1026
+ "value": 1,
1027
+ "unit": "px"
1028
+ },
1029
+ "blur": {
1030
+ "value": 3,
1031
+ "unit": "px"
1032
+ },
1033
+ "spread": {
1034
+ "value": 0,
1035
+ "unit": "px"
1036
+ }
1037
+ },
1038
+ {
1039
+ "color": {
1040
+ "colorSpace": "srgb",
1041
+ "components": [
1042
+ 0.05882,
1043
+ 0.0902,
1044
+ 0.16471
1045
+ ],
1046
+ "hex": "#0f172a",
1047
+ "alpha": 0.1
1048
+ },
1049
+ "offsetX": {
1050
+ "value": 0,
1051
+ "unit": "px"
1052
+ },
1053
+ "offsetY": {
1054
+ "value": 1,
1055
+ "unit": "px"
1056
+ },
1057
+ "blur": {
1058
+ "value": 2,
1059
+ "unit": "px"
1060
+ },
1061
+ "spread": {
1062
+ "value": -1,
1063
+ "unit": "px"
1064
+ }
1065
+ }
1066
+ ],
1067
+ "$description": "derived: v1 shadow-intensity migration",
1068
+ "$extensions": {
1069
+ "com.nurix.design": {
1070
+ "css": "0 1px 3px 0 rgb(15 23 42 / calc(0.10 * var(--shadow-intensity))), 0 1px 2px -1px rgb(15 23 42 / calc(0.10 * var(--shadow-intensity)))"
1071
+ }
1072
+ }
1073
+ },
1074
+ "md": {
1075
+ "$type": "shadow",
1076
+ "$value": [
1077
+ {
1078
+ "color": {
1079
+ "colorSpace": "srgb",
1080
+ "components": [
1081
+ 0.05882,
1082
+ 0.0902,
1083
+ 0.16471
1084
+ ],
1085
+ "hex": "#0f172a",
1086
+ "alpha": 0.1
1087
+ },
1088
+ "offsetX": {
1089
+ "value": 0,
1090
+ "unit": "px"
1091
+ },
1092
+ "offsetY": {
1093
+ "value": 4,
1094
+ "unit": "px"
1095
+ },
1096
+ "blur": {
1097
+ "value": 6,
1098
+ "unit": "px"
1099
+ },
1100
+ "spread": {
1101
+ "value": -1,
1102
+ "unit": "px"
1103
+ }
1104
+ },
1105
+ {
1106
+ "color": {
1107
+ "colorSpace": "srgb",
1108
+ "components": [
1109
+ 0.05882,
1110
+ 0.0902,
1111
+ 0.16471
1112
+ ],
1113
+ "hex": "#0f172a",
1114
+ "alpha": 0.1
1115
+ },
1116
+ "offsetX": {
1117
+ "value": 0,
1118
+ "unit": "px"
1119
+ },
1120
+ "offsetY": {
1121
+ "value": 2,
1122
+ "unit": "px"
1123
+ },
1124
+ "blur": {
1125
+ "value": 4,
1126
+ "unit": "px"
1127
+ },
1128
+ "spread": {
1129
+ "value": -2,
1130
+ "unit": "px"
1131
+ }
1132
+ }
1133
+ ],
1134
+ "$description": "derived: v1 shadow-intensity migration",
1135
+ "$extensions": {
1136
+ "com.nurix.design": {
1137
+ "css": "0 4px 6px -1px rgb(15 23 42 / calc(0.10 * var(--shadow-intensity))), 0 2px 4px -2px rgb(15 23 42 / calc(0.10 * var(--shadow-intensity)))"
1138
+ }
1139
+ }
1140
+ },
1141
+ "lg": {
1142
+ "$type": "shadow",
1143
+ "$value": [
1144
+ {
1145
+ "color": {
1146
+ "colorSpace": "srgb",
1147
+ "components": [
1148
+ 0.05882,
1149
+ 0.0902,
1150
+ 0.16471
1151
+ ],
1152
+ "hex": "#0f172a",
1153
+ "alpha": 0.1
1154
+ },
1155
+ "offsetX": {
1156
+ "value": 0,
1157
+ "unit": "px"
1158
+ },
1159
+ "offsetY": {
1160
+ "value": 10,
1161
+ "unit": "px"
1162
+ },
1163
+ "blur": {
1164
+ "value": 15,
1165
+ "unit": "px"
1166
+ },
1167
+ "spread": {
1168
+ "value": -3,
1169
+ "unit": "px"
1170
+ }
1171
+ },
1172
+ {
1173
+ "color": {
1174
+ "colorSpace": "srgb",
1175
+ "components": [
1176
+ 0.05882,
1177
+ 0.0902,
1178
+ 0.16471
1179
+ ],
1180
+ "hex": "#0f172a",
1181
+ "alpha": 0.1
1182
+ },
1183
+ "offsetX": {
1184
+ "value": 0,
1185
+ "unit": "px"
1186
+ },
1187
+ "offsetY": {
1188
+ "value": 4,
1189
+ "unit": "px"
1190
+ },
1191
+ "blur": {
1192
+ "value": 6,
1193
+ "unit": "px"
1194
+ },
1195
+ "spread": {
1196
+ "value": -4,
1197
+ "unit": "px"
1198
+ }
1199
+ }
1200
+ ],
1201
+ "$description": "derived: v1 shadow-intensity migration",
1202
+ "$extensions": {
1203
+ "com.nurix.design": {
1204
+ "css": "0 10px 15px -3px rgb(15 23 42 / calc(0.10 * var(--shadow-intensity))), 0 4px 6px -4px rgb(15 23 42 / calc(0.10 * var(--shadow-intensity)))"
1205
+ }
1206
+ }
1207
+ },
1208
+ "overlay": {
1209
+ "$type": "shadow",
1210
+ "$value": [
1211
+ {
1212
+ "color": {
1213
+ "colorSpace": "srgb",
1214
+ "components": [
1215
+ 0.05882,
1216
+ 0.0902,
1217
+ 0.16471
1218
+ ],
1219
+ "hex": "#0f172a",
1220
+ "alpha": 0.1
1221
+ },
1222
+ "offsetX": {
1223
+ "value": 0,
1224
+ "unit": "px"
1225
+ },
1226
+ "offsetY": {
1227
+ "value": 20,
1228
+ "unit": "px"
1229
+ },
1230
+ "blur": {
1231
+ "value": 25,
1232
+ "unit": "px"
1233
+ },
1234
+ "spread": {
1235
+ "value": -5,
1236
+ "unit": "px"
1237
+ }
1238
+ },
1239
+ {
1240
+ "color": {
1241
+ "colorSpace": "srgb",
1242
+ "components": [
1243
+ 0.05882,
1244
+ 0.0902,
1245
+ 0.16471
1246
+ ],
1247
+ "hex": "#0f172a",
1248
+ "alpha": 0.1
1249
+ },
1250
+ "offsetX": {
1251
+ "value": 0,
1252
+ "unit": "px"
1253
+ },
1254
+ "offsetY": {
1255
+ "value": 8,
1256
+ "unit": "px"
1257
+ },
1258
+ "blur": {
1259
+ "value": 10,
1260
+ "unit": "px"
1261
+ },
1262
+ "spread": {
1263
+ "value": -6,
1264
+ "unit": "px"
1265
+ }
1266
+ }
1267
+ ],
1268
+ "$description": "derived: v1 shadow-intensity migration",
1269
+ "$extensions": {
1270
+ "com.nurix.design": {
1271
+ "css": "0 20px 25px -5px rgb(15 23 42 / calc(0.10 * var(--shadow-intensity))), 0 8px 10px -6px rgb(15 23 42 / calc(0.10 * var(--shadow-intensity)))"
1272
+ }
965
1273
  }
966
1274
  }
967
1275
  }
@@ -2,11 +2,12 @@
2
2
  "$description": "ElevenLabs — editorial voice-AI, warmed to an operator console\n[feedback] rationale: the calm editorial voice wants gentle, present feedback — not austere silence\n[density-tier] rationale: the brand reads unmistakably spacious (print-magazine pacing); the operator honors it rather than cramming",
3
3
  "$extensions": {
4
4
  "com.nurix.design": {
5
- "schema": "design-tokens/v1",
5
+ "schema": "design-tokens/v2",
6
6
  "dtcg": "2025.10",
7
7
  "product": "ElevenLabs",
8
8
  "provenance": "library",
9
9
  "sourced": "2026-07-04",
10
+ "theme-default": "light",
10
11
  "product-traits": [
11
12
  "saas",
12
13
  "content-studio",
@@ -185,6 +186,14 @@
185
186
  }
186
187
  }
187
188
  },
189
+ "stagger-unit": {
190
+ "$type": "duration",
191
+ "$value": {
192
+ "value": 30,
193
+ "unit": "ms"
194
+ },
195
+ "$description": "derived: v1→v2 migration — the 30ms default stagger base (0–60ms legal)"
196
+ },
188
197
  "contrast-boost": {
189
198
  "$type": "number",
190
199
  "$value": 1,
@@ -561,6 +570,16 @@
561
570
  }
562
571
  }
563
572
  },
573
+ "surface-raised": {
574
+ "$type": "color",
575
+ "$value": "{color.card}",
576
+ "$description": "derived: v1→v2 migration — light aliases card; dark looks carry the surface-lightness ladder"
577
+ },
578
+ "surface-overlay": {
579
+ "$type": "color",
580
+ "$value": "{color.popover}",
581
+ "$description": "derived: v1→v2 migration — light aliases popover; dark looks carry the surface-lightness ladder"
582
+ },
564
583
  "popover": {
565
584
  "$type": "color",
566
585
  "$value": {
@@ -975,6 +994,299 @@
975
994
  }
976
995
  }
977
996
  }
997
+ },
998
+ "display": {
999
+ "$type": "typography",
1000
+ "$value": {
1001
+ "fontFamily": "{typography.family.heading}",
1002
+ "fontSize": {
1003
+ "value": 49,
1004
+ "unit": "px"
1005
+ },
1006
+ "lineHeight": 1.15,
1007
+ "fontWeight": "{primitive.font-weight-strong}",
1008
+ "letterSpacing": "{primitive.heading-tracking}"
1009
+ },
1010
+ "$description": "derived: v1→v2 migration — provisional display step (h1 × 1.75, strong weight)",
1011
+ "$extensions": {
1012
+ "com.nurix.design": {
1013
+ "hint": "display step unset — resolve from the product's design.md or leave for budget-time"
1014
+ }
1015
+ }
1016
+ }
1017
+ }
1018
+ },
1019
+ "elevation": {
1020
+ "sm": {
1021
+ "$type": "shadow",
1022
+ "$value": [
1023
+ {
1024
+ "color": {
1025
+ "colorSpace": "srgb",
1026
+ "components": [
1027
+ 0.05882,
1028
+ 0.0902,
1029
+ 0.16471
1030
+ ],
1031
+ "hex": "#0f172a",
1032
+ "alpha": 0.1
1033
+ },
1034
+ "offsetX": {
1035
+ "value": 0,
1036
+ "unit": "px"
1037
+ },
1038
+ "offsetY": {
1039
+ "value": 1,
1040
+ "unit": "px"
1041
+ },
1042
+ "blur": {
1043
+ "value": 3,
1044
+ "unit": "px"
1045
+ },
1046
+ "spread": {
1047
+ "value": 0,
1048
+ "unit": "px"
1049
+ }
1050
+ },
1051
+ {
1052
+ "color": {
1053
+ "colorSpace": "srgb",
1054
+ "components": [
1055
+ 0.05882,
1056
+ 0.0902,
1057
+ 0.16471
1058
+ ],
1059
+ "hex": "#0f172a",
1060
+ "alpha": 0.1
1061
+ },
1062
+ "offsetX": {
1063
+ "value": 0,
1064
+ "unit": "px"
1065
+ },
1066
+ "offsetY": {
1067
+ "value": 1,
1068
+ "unit": "px"
1069
+ },
1070
+ "blur": {
1071
+ "value": 2,
1072
+ "unit": "px"
1073
+ },
1074
+ "spread": {
1075
+ "value": -1,
1076
+ "unit": "px"
1077
+ }
1078
+ }
1079
+ ],
1080
+ "$description": "derived: v1 shadow-intensity migration",
1081
+ "$extensions": {
1082
+ "com.nurix.design": {
1083
+ "css": "0 1px 3px 0 rgb(15 23 42 / calc(0.10 * var(--shadow-intensity))), 0 1px 2px -1px rgb(15 23 42 / calc(0.10 * var(--shadow-intensity)))",
1084
+ "hint": "elevation unset — the design.md names real shadow values (`0 4px 16px rgba(0,0,0,0.04)`); resolve the composites from that prose at the data build"
1085
+ }
1086
+ }
1087
+ },
1088
+ "md": {
1089
+ "$type": "shadow",
1090
+ "$value": [
1091
+ {
1092
+ "color": {
1093
+ "colorSpace": "srgb",
1094
+ "components": [
1095
+ 0.05882,
1096
+ 0.0902,
1097
+ 0.16471
1098
+ ],
1099
+ "hex": "#0f172a",
1100
+ "alpha": 0.1
1101
+ },
1102
+ "offsetX": {
1103
+ "value": 0,
1104
+ "unit": "px"
1105
+ },
1106
+ "offsetY": {
1107
+ "value": 4,
1108
+ "unit": "px"
1109
+ },
1110
+ "blur": {
1111
+ "value": 6,
1112
+ "unit": "px"
1113
+ },
1114
+ "spread": {
1115
+ "value": -1,
1116
+ "unit": "px"
1117
+ }
1118
+ },
1119
+ {
1120
+ "color": {
1121
+ "colorSpace": "srgb",
1122
+ "components": [
1123
+ 0.05882,
1124
+ 0.0902,
1125
+ 0.16471
1126
+ ],
1127
+ "hex": "#0f172a",
1128
+ "alpha": 0.1
1129
+ },
1130
+ "offsetX": {
1131
+ "value": 0,
1132
+ "unit": "px"
1133
+ },
1134
+ "offsetY": {
1135
+ "value": 2,
1136
+ "unit": "px"
1137
+ },
1138
+ "blur": {
1139
+ "value": 4,
1140
+ "unit": "px"
1141
+ },
1142
+ "spread": {
1143
+ "value": -2,
1144
+ "unit": "px"
1145
+ }
1146
+ }
1147
+ ],
1148
+ "$description": "derived: v1 shadow-intensity migration",
1149
+ "$extensions": {
1150
+ "com.nurix.design": {
1151
+ "css": "0 4px 6px -1px rgb(15 23 42 / calc(0.10 * var(--shadow-intensity))), 0 2px 4px -2px rgb(15 23 42 / calc(0.10 * var(--shadow-intensity)))",
1152
+ "hint": "elevation unset — the design.md names real shadow values (`0 4px 16px rgba(0,0,0,0.04)`); resolve the composites from that prose at the data build"
1153
+ }
1154
+ }
1155
+ },
1156
+ "lg": {
1157
+ "$type": "shadow",
1158
+ "$value": [
1159
+ {
1160
+ "color": {
1161
+ "colorSpace": "srgb",
1162
+ "components": [
1163
+ 0.05882,
1164
+ 0.0902,
1165
+ 0.16471
1166
+ ],
1167
+ "hex": "#0f172a",
1168
+ "alpha": 0.1
1169
+ },
1170
+ "offsetX": {
1171
+ "value": 0,
1172
+ "unit": "px"
1173
+ },
1174
+ "offsetY": {
1175
+ "value": 10,
1176
+ "unit": "px"
1177
+ },
1178
+ "blur": {
1179
+ "value": 15,
1180
+ "unit": "px"
1181
+ },
1182
+ "spread": {
1183
+ "value": -3,
1184
+ "unit": "px"
1185
+ }
1186
+ },
1187
+ {
1188
+ "color": {
1189
+ "colorSpace": "srgb",
1190
+ "components": [
1191
+ 0.05882,
1192
+ 0.0902,
1193
+ 0.16471
1194
+ ],
1195
+ "hex": "#0f172a",
1196
+ "alpha": 0.1
1197
+ },
1198
+ "offsetX": {
1199
+ "value": 0,
1200
+ "unit": "px"
1201
+ },
1202
+ "offsetY": {
1203
+ "value": 4,
1204
+ "unit": "px"
1205
+ },
1206
+ "blur": {
1207
+ "value": 6,
1208
+ "unit": "px"
1209
+ },
1210
+ "spread": {
1211
+ "value": -4,
1212
+ "unit": "px"
1213
+ }
1214
+ }
1215
+ ],
1216
+ "$description": "derived: v1 shadow-intensity migration",
1217
+ "$extensions": {
1218
+ "com.nurix.design": {
1219
+ "css": "0 10px 15px -3px rgb(15 23 42 / calc(0.10 * var(--shadow-intensity))), 0 4px 6px -4px rgb(15 23 42 / calc(0.10 * var(--shadow-intensity)))",
1220
+ "hint": "elevation unset — the design.md names real shadow values (`0 4px 16px rgba(0,0,0,0.04)`); resolve the composites from that prose at the data build"
1221
+ }
1222
+ }
1223
+ },
1224
+ "overlay": {
1225
+ "$type": "shadow",
1226
+ "$value": [
1227
+ {
1228
+ "color": {
1229
+ "colorSpace": "srgb",
1230
+ "components": [
1231
+ 0.05882,
1232
+ 0.0902,
1233
+ 0.16471
1234
+ ],
1235
+ "hex": "#0f172a",
1236
+ "alpha": 0.1
1237
+ },
1238
+ "offsetX": {
1239
+ "value": 0,
1240
+ "unit": "px"
1241
+ },
1242
+ "offsetY": {
1243
+ "value": 20,
1244
+ "unit": "px"
1245
+ },
1246
+ "blur": {
1247
+ "value": 25,
1248
+ "unit": "px"
1249
+ },
1250
+ "spread": {
1251
+ "value": -5,
1252
+ "unit": "px"
1253
+ }
1254
+ },
1255
+ {
1256
+ "color": {
1257
+ "colorSpace": "srgb",
1258
+ "components": [
1259
+ 0.05882,
1260
+ 0.0902,
1261
+ 0.16471
1262
+ ],
1263
+ "hex": "#0f172a",
1264
+ "alpha": 0.1
1265
+ },
1266
+ "offsetX": {
1267
+ "value": 0,
1268
+ "unit": "px"
1269
+ },
1270
+ "offsetY": {
1271
+ "value": 8,
1272
+ "unit": "px"
1273
+ },
1274
+ "blur": {
1275
+ "value": 10,
1276
+ "unit": "px"
1277
+ },
1278
+ "spread": {
1279
+ "value": -6,
1280
+ "unit": "px"
1281
+ }
1282
+ }
1283
+ ],
1284
+ "$description": "derived: v1 shadow-intensity migration",
1285
+ "$extensions": {
1286
+ "com.nurix.design": {
1287
+ "css": "0 20px 25px -5px rgb(15 23 42 / calc(0.10 * var(--shadow-intensity))), 0 8px 10px -6px rgb(15 23 42 / calc(0.10 * var(--shadow-intensity)))",
1288
+ "hint": "elevation unset — the design.md names real shadow values (`0 4px 16px rgba(0,0,0,0.04)`); resolve the composites from that prose at the data build"
1289
+ }
978
1290
  }
979
1291
  }
980
1292
  }