@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": "Mintlify — the mint-accent documentation-platform operator design\n[feedback] derived: corpus is quiet (no-hover policy, unextracted motion); gentle present feedback, not austere silence\n[density-tier] derived: docs are layout-dense but insist on readable 16px/1.5 prose; an honest standard operator tier",
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": "Mintlify",
8
8
  "provenance": "library",
9
9
  "sourced": "2026-07-04",
10
+ "theme-default": "light",
10
11
  "product-traits": [
11
12
  "dev-tools",
12
13
  "documentation",
@@ -190,6 +191,14 @@
190
191
  }
191
192
  }
192
193
  },
194
+ "stagger-unit": {
195
+ "$type": "duration",
196
+ "$value": {
197
+ "value": 30,
198
+ "unit": "ms"
199
+ },
200
+ "$description": "derived: v1→v2 migration — the 30ms default stagger base (0–60ms legal)"
201
+ },
193
202
  "contrast-boost": {
194
203
  "$type": "number",
195
204
  "$value": 1,
@@ -569,6 +578,16 @@
569
578
  }
570
579
  }
571
580
  },
581
+ "surface-raised": {
582
+ "$type": "color",
583
+ "$value": "{color.card}",
584
+ "$description": "derived: v1→v2 migration — light aliases card; dark looks carry the surface-lightness ladder"
585
+ },
586
+ "surface-overlay": {
587
+ "$type": "color",
588
+ "$value": "{color.popover}",
589
+ "$description": "derived: v1→v2 migration — light aliases popover; dark looks carry the surface-lightness ladder"
590
+ },
572
591
  "popover": {
573
592
  "$type": "color",
574
593
  "$value": {
@@ -970,6 +989,295 @@
970
989
  }
971
990
  }
972
991
  }
992
+ },
993
+ "display": {
994
+ "$type": "typography",
995
+ "$value": {
996
+ "fontFamily": "{typography.family.heading}",
997
+ "fontSize": {
998
+ "value": 42,
999
+ "unit": "px"
1000
+ },
1001
+ "lineHeight": 1.3,
1002
+ "fontWeight": "{primitive.font-weight-strong}",
1003
+ "letterSpacing": "{primitive.heading-tracking}"
1004
+ },
1005
+ "$description": "derived: v1→v2 migration — provisional display step (h1 × 1.75, strong weight)",
1006
+ "$extensions": {
1007
+ "com.nurix.design": {
1008
+ "hint": "display step unset — resolve from the product's design.md or leave for budget-time"
1009
+ }
1010
+ }
1011
+ }
1012
+ }
1013
+ },
1014
+ "elevation": {
1015
+ "sm": {
1016
+ "$type": "shadow",
1017
+ "$value": [
1018
+ {
1019
+ "color": {
1020
+ "colorSpace": "srgb",
1021
+ "components": [
1022
+ 0.05882,
1023
+ 0.0902,
1024
+ 0.16471
1025
+ ],
1026
+ "hex": "#0f172a",
1027
+ "alpha": 0.1
1028
+ },
1029
+ "offsetX": {
1030
+ "value": 0,
1031
+ "unit": "px"
1032
+ },
1033
+ "offsetY": {
1034
+ "value": 1,
1035
+ "unit": "px"
1036
+ },
1037
+ "blur": {
1038
+ "value": 3,
1039
+ "unit": "px"
1040
+ },
1041
+ "spread": {
1042
+ "value": 0,
1043
+ "unit": "px"
1044
+ }
1045
+ },
1046
+ {
1047
+ "color": {
1048
+ "colorSpace": "srgb",
1049
+ "components": [
1050
+ 0.05882,
1051
+ 0.0902,
1052
+ 0.16471
1053
+ ],
1054
+ "hex": "#0f172a",
1055
+ "alpha": 0.1
1056
+ },
1057
+ "offsetX": {
1058
+ "value": 0,
1059
+ "unit": "px"
1060
+ },
1061
+ "offsetY": {
1062
+ "value": 1,
1063
+ "unit": "px"
1064
+ },
1065
+ "blur": {
1066
+ "value": 2,
1067
+ "unit": "px"
1068
+ },
1069
+ "spread": {
1070
+ "value": -1,
1071
+ "unit": "px"
1072
+ }
1073
+ }
1074
+ ],
1075
+ "$description": "derived: v1 shadow-intensity migration",
1076
+ "$extensions": {
1077
+ "com.nurix.design": {
1078
+ "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)))"
1079
+ }
1080
+ }
1081
+ },
1082
+ "md": {
1083
+ "$type": "shadow",
1084
+ "$value": [
1085
+ {
1086
+ "color": {
1087
+ "colorSpace": "srgb",
1088
+ "components": [
1089
+ 0.05882,
1090
+ 0.0902,
1091
+ 0.16471
1092
+ ],
1093
+ "hex": "#0f172a",
1094
+ "alpha": 0.1
1095
+ },
1096
+ "offsetX": {
1097
+ "value": 0,
1098
+ "unit": "px"
1099
+ },
1100
+ "offsetY": {
1101
+ "value": 4,
1102
+ "unit": "px"
1103
+ },
1104
+ "blur": {
1105
+ "value": 6,
1106
+ "unit": "px"
1107
+ },
1108
+ "spread": {
1109
+ "value": -1,
1110
+ "unit": "px"
1111
+ }
1112
+ },
1113
+ {
1114
+ "color": {
1115
+ "colorSpace": "srgb",
1116
+ "components": [
1117
+ 0.05882,
1118
+ 0.0902,
1119
+ 0.16471
1120
+ ],
1121
+ "hex": "#0f172a",
1122
+ "alpha": 0.1
1123
+ },
1124
+ "offsetX": {
1125
+ "value": 0,
1126
+ "unit": "px"
1127
+ },
1128
+ "offsetY": {
1129
+ "value": 2,
1130
+ "unit": "px"
1131
+ },
1132
+ "blur": {
1133
+ "value": 4,
1134
+ "unit": "px"
1135
+ },
1136
+ "spread": {
1137
+ "value": -2,
1138
+ "unit": "px"
1139
+ }
1140
+ }
1141
+ ],
1142
+ "$description": "derived: v1 shadow-intensity migration",
1143
+ "$extensions": {
1144
+ "com.nurix.design": {
1145
+ "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)))"
1146
+ }
1147
+ }
1148
+ },
1149
+ "lg": {
1150
+ "$type": "shadow",
1151
+ "$value": [
1152
+ {
1153
+ "color": {
1154
+ "colorSpace": "srgb",
1155
+ "components": [
1156
+ 0.05882,
1157
+ 0.0902,
1158
+ 0.16471
1159
+ ],
1160
+ "hex": "#0f172a",
1161
+ "alpha": 0.1
1162
+ },
1163
+ "offsetX": {
1164
+ "value": 0,
1165
+ "unit": "px"
1166
+ },
1167
+ "offsetY": {
1168
+ "value": 10,
1169
+ "unit": "px"
1170
+ },
1171
+ "blur": {
1172
+ "value": 15,
1173
+ "unit": "px"
1174
+ },
1175
+ "spread": {
1176
+ "value": -3,
1177
+ "unit": "px"
1178
+ }
1179
+ },
1180
+ {
1181
+ "color": {
1182
+ "colorSpace": "srgb",
1183
+ "components": [
1184
+ 0.05882,
1185
+ 0.0902,
1186
+ 0.16471
1187
+ ],
1188
+ "hex": "#0f172a",
1189
+ "alpha": 0.1
1190
+ },
1191
+ "offsetX": {
1192
+ "value": 0,
1193
+ "unit": "px"
1194
+ },
1195
+ "offsetY": {
1196
+ "value": 4,
1197
+ "unit": "px"
1198
+ },
1199
+ "blur": {
1200
+ "value": 6,
1201
+ "unit": "px"
1202
+ },
1203
+ "spread": {
1204
+ "value": -4,
1205
+ "unit": "px"
1206
+ }
1207
+ }
1208
+ ],
1209
+ "$description": "derived: v1 shadow-intensity migration",
1210
+ "$extensions": {
1211
+ "com.nurix.design": {
1212
+ "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)))"
1213
+ }
1214
+ }
1215
+ },
1216
+ "overlay": {
1217
+ "$type": "shadow",
1218
+ "$value": [
1219
+ {
1220
+ "color": {
1221
+ "colorSpace": "srgb",
1222
+ "components": [
1223
+ 0.05882,
1224
+ 0.0902,
1225
+ 0.16471
1226
+ ],
1227
+ "hex": "#0f172a",
1228
+ "alpha": 0.1
1229
+ },
1230
+ "offsetX": {
1231
+ "value": 0,
1232
+ "unit": "px"
1233
+ },
1234
+ "offsetY": {
1235
+ "value": 20,
1236
+ "unit": "px"
1237
+ },
1238
+ "blur": {
1239
+ "value": 25,
1240
+ "unit": "px"
1241
+ },
1242
+ "spread": {
1243
+ "value": -5,
1244
+ "unit": "px"
1245
+ }
1246
+ },
1247
+ {
1248
+ "color": {
1249
+ "colorSpace": "srgb",
1250
+ "components": [
1251
+ 0.05882,
1252
+ 0.0902,
1253
+ 0.16471
1254
+ ],
1255
+ "hex": "#0f172a",
1256
+ "alpha": 0.1
1257
+ },
1258
+ "offsetX": {
1259
+ "value": 0,
1260
+ "unit": "px"
1261
+ },
1262
+ "offsetY": {
1263
+ "value": 8,
1264
+ "unit": "px"
1265
+ },
1266
+ "blur": {
1267
+ "value": 10,
1268
+ "unit": "px"
1269
+ },
1270
+ "spread": {
1271
+ "value": -6,
1272
+ "unit": "px"
1273
+ }
1274
+ }
1275
+ ],
1276
+ "$description": "derived: v1 shadow-intensity migration",
1277
+ "$extensions": {
1278
+ "com.nurix.design": {
1279
+ "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)))"
1280
+ }
973
1281
  }
974
1282
  }
975
1283
  }
@@ -2,11 +2,12 @@
2
2
  "$description": "Miro — the operator reading\n[feedback] rationale: Miro's friendly, responsive brand wants present-but-tasteful feedback\n[density-tier] rationale: a spacious, airy consumer brand read down to an honest operator tier, leaning roomy; density earned per archetype",
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": "Miro",
8
8
  "provenance": "library",
9
9
  "sourced": "2026-07-04",
10
+ "theme-default": "light",
10
11
  "product-traits": [
11
12
  "saas",
12
13
  "collaboration",
@@ -187,6 +188,14 @@
187
188
  }
188
189
  }
189
190
  },
191
+ "stagger-unit": {
192
+ "$type": "duration",
193
+ "$value": {
194
+ "value": 30,
195
+ "unit": "ms"
196
+ },
197
+ "$description": "derived: v1→v2 migration — the 30ms default stagger base (0–60ms legal)"
198
+ },
190
199
  "contrast-boost": {
191
200
  "$type": "number",
192
201
  "$value": 1,
@@ -568,6 +577,16 @@
568
577
  }
569
578
  }
570
579
  },
580
+ "surface-raised": {
581
+ "$type": "color",
582
+ "$value": "{color.card}",
583
+ "$description": "derived: v1→v2 migration — light aliases card; dark looks carry the surface-lightness ladder"
584
+ },
585
+ "surface-overlay": {
586
+ "$type": "color",
587
+ "$value": "{color.popover}",
588
+ "$description": "derived: v1→v2 migration — light aliases popover; dark looks carry the surface-lightness ladder"
589
+ },
571
590
  "popover": {
572
591
  "$type": "color",
573
592
  "$value": {
@@ -973,6 +992,299 @@
973
992
  }
974
993
  }
975
994
  }
995
+ },
996
+ "display": {
997
+ "$type": "typography",
998
+ "$value": {
999
+ "fontFamily": "{typography.family.heading}",
1000
+ "fontSize": {
1001
+ "value": 42,
1002
+ "unit": "px"
1003
+ },
1004
+ "lineHeight": 1.25,
1005
+ "fontWeight": "{primitive.font-weight-strong}",
1006
+ "letterSpacing": "{primitive.heading-tracking}"
1007
+ },
1008
+ "$description": "derived: v1→v2 migration — provisional display step (h1 × 1.75, strong weight)",
1009
+ "$extensions": {
1010
+ "com.nurix.design": {
1011
+ "hint": "display step unset — resolve from the product's design.md or leave for budget-time"
1012
+ }
1013
+ }
1014
+ }
1015
+ }
1016
+ },
1017
+ "elevation": {
1018
+ "sm": {
1019
+ "$type": "shadow",
1020
+ "$value": [
1021
+ {
1022
+ "color": {
1023
+ "colorSpace": "srgb",
1024
+ "components": [
1025
+ 0.05882,
1026
+ 0.0902,
1027
+ 0.16471
1028
+ ],
1029
+ "hex": "#0f172a",
1030
+ "alpha": 0.1
1031
+ },
1032
+ "offsetX": {
1033
+ "value": 0,
1034
+ "unit": "px"
1035
+ },
1036
+ "offsetY": {
1037
+ "value": 1,
1038
+ "unit": "px"
1039
+ },
1040
+ "blur": {
1041
+ "value": 3,
1042
+ "unit": "px"
1043
+ },
1044
+ "spread": {
1045
+ "value": 0,
1046
+ "unit": "px"
1047
+ }
1048
+ },
1049
+ {
1050
+ "color": {
1051
+ "colorSpace": "srgb",
1052
+ "components": [
1053
+ 0.05882,
1054
+ 0.0902,
1055
+ 0.16471
1056
+ ],
1057
+ "hex": "#0f172a",
1058
+ "alpha": 0.1
1059
+ },
1060
+ "offsetX": {
1061
+ "value": 0,
1062
+ "unit": "px"
1063
+ },
1064
+ "offsetY": {
1065
+ "value": 1,
1066
+ "unit": "px"
1067
+ },
1068
+ "blur": {
1069
+ "value": 2,
1070
+ "unit": "px"
1071
+ },
1072
+ "spread": {
1073
+ "value": -1,
1074
+ "unit": "px"
1075
+ }
1076
+ }
1077
+ ],
1078
+ "$description": "derived: v1 shadow-intensity migration",
1079
+ "$extensions": {
1080
+ "com.nurix.design": {
1081
+ "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)))",
1082
+ "hint": "elevation unset — the design.md names real shadow values (`rgba(5,0,56,…)`; `rgba(5,0,56,0.08)`); resolve the composites from that prose at the data build"
1083
+ }
1084
+ }
1085
+ },
1086
+ "md": {
1087
+ "$type": "shadow",
1088
+ "$value": [
1089
+ {
1090
+ "color": {
1091
+ "colorSpace": "srgb",
1092
+ "components": [
1093
+ 0.05882,
1094
+ 0.0902,
1095
+ 0.16471
1096
+ ],
1097
+ "hex": "#0f172a",
1098
+ "alpha": 0.1
1099
+ },
1100
+ "offsetX": {
1101
+ "value": 0,
1102
+ "unit": "px"
1103
+ },
1104
+ "offsetY": {
1105
+ "value": 4,
1106
+ "unit": "px"
1107
+ },
1108
+ "blur": {
1109
+ "value": 6,
1110
+ "unit": "px"
1111
+ },
1112
+ "spread": {
1113
+ "value": -1,
1114
+ "unit": "px"
1115
+ }
1116
+ },
1117
+ {
1118
+ "color": {
1119
+ "colorSpace": "srgb",
1120
+ "components": [
1121
+ 0.05882,
1122
+ 0.0902,
1123
+ 0.16471
1124
+ ],
1125
+ "hex": "#0f172a",
1126
+ "alpha": 0.1
1127
+ },
1128
+ "offsetX": {
1129
+ "value": 0,
1130
+ "unit": "px"
1131
+ },
1132
+ "offsetY": {
1133
+ "value": 2,
1134
+ "unit": "px"
1135
+ },
1136
+ "blur": {
1137
+ "value": 4,
1138
+ "unit": "px"
1139
+ },
1140
+ "spread": {
1141
+ "value": -2,
1142
+ "unit": "px"
1143
+ }
1144
+ }
1145
+ ],
1146
+ "$description": "derived: v1 shadow-intensity migration",
1147
+ "$extensions": {
1148
+ "com.nurix.design": {
1149
+ "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)))",
1150
+ "hint": "elevation unset — the design.md names real shadow values (`rgba(5,0,56,…)`; `rgba(5,0,56,0.08)`); resolve the composites from that prose at the data build"
1151
+ }
1152
+ }
1153
+ },
1154
+ "lg": {
1155
+ "$type": "shadow",
1156
+ "$value": [
1157
+ {
1158
+ "color": {
1159
+ "colorSpace": "srgb",
1160
+ "components": [
1161
+ 0.05882,
1162
+ 0.0902,
1163
+ 0.16471
1164
+ ],
1165
+ "hex": "#0f172a",
1166
+ "alpha": 0.1
1167
+ },
1168
+ "offsetX": {
1169
+ "value": 0,
1170
+ "unit": "px"
1171
+ },
1172
+ "offsetY": {
1173
+ "value": 10,
1174
+ "unit": "px"
1175
+ },
1176
+ "blur": {
1177
+ "value": 15,
1178
+ "unit": "px"
1179
+ },
1180
+ "spread": {
1181
+ "value": -3,
1182
+ "unit": "px"
1183
+ }
1184
+ },
1185
+ {
1186
+ "color": {
1187
+ "colorSpace": "srgb",
1188
+ "components": [
1189
+ 0.05882,
1190
+ 0.0902,
1191
+ 0.16471
1192
+ ],
1193
+ "hex": "#0f172a",
1194
+ "alpha": 0.1
1195
+ },
1196
+ "offsetX": {
1197
+ "value": 0,
1198
+ "unit": "px"
1199
+ },
1200
+ "offsetY": {
1201
+ "value": 4,
1202
+ "unit": "px"
1203
+ },
1204
+ "blur": {
1205
+ "value": 6,
1206
+ "unit": "px"
1207
+ },
1208
+ "spread": {
1209
+ "value": -4,
1210
+ "unit": "px"
1211
+ }
1212
+ }
1213
+ ],
1214
+ "$description": "derived: v1 shadow-intensity migration",
1215
+ "$extensions": {
1216
+ "com.nurix.design": {
1217
+ "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)))",
1218
+ "hint": "elevation unset — the design.md names real shadow values (`rgba(5,0,56,…)`; `rgba(5,0,56,0.08)`); resolve the composites from that prose at the data build"
1219
+ }
1220
+ }
1221
+ },
1222
+ "overlay": {
1223
+ "$type": "shadow",
1224
+ "$value": [
1225
+ {
1226
+ "color": {
1227
+ "colorSpace": "srgb",
1228
+ "components": [
1229
+ 0.05882,
1230
+ 0.0902,
1231
+ 0.16471
1232
+ ],
1233
+ "hex": "#0f172a",
1234
+ "alpha": 0.1
1235
+ },
1236
+ "offsetX": {
1237
+ "value": 0,
1238
+ "unit": "px"
1239
+ },
1240
+ "offsetY": {
1241
+ "value": 20,
1242
+ "unit": "px"
1243
+ },
1244
+ "blur": {
1245
+ "value": 25,
1246
+ "unit": "px"
1247
+ },
1248
+ "spread": {
1249
+ "value": -5,
1250
+ "unit": "px"
1251
+ }
1252
+ },
1253
+ {
1254
+ "color": {
1255
+ "colorSpace": "srgb",
1256
+ "components": [
1257
+ 0.05882,
1258
+ 0.0902,
1259
+ 0.16471
1260
+ ],
1261
+ "hex": "#0f172a",
1262
+ "alpha": 0.1
1263
+ },
1264
+ "offsetX": {
1265
+ "value": 0,
1266
+ "unit": "px"
1267
+ },
1268
+ "offsetY": {
1269
+ "value": 8,
1270
+ "unit": "px"
1271
+ },
1272
+ "blur": {
1273
+ "value": 10,
1274
+ "unit": "px"
1275
+ },
1276
+ "spread": {
1277
+ "value": -6,
1278
+ "unit": "px"
1279
+ }
1280
+ }
1281
+ ],
1282
+ "$description": "derived: v1 shadow-intensity migration",
1283
+ "$extensions": {
1284
+ "com.nurix.design": {
1285
+ "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)))",
1286
+ "hint": "elevation unset — the design.md names real shadow values (`rgba(5,0,56,…)`; `rgba(5,0,56,0.08)`); resolve the composites from that prose at the data build"
1287
+ }
976
1288
  }
977
1289
  }
978
1290
  }