@webmate-studio/builder 0.2.141 → 0.2.142

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webmate-studio/builder",
3
- "version": "0.2.141",
3
+ "version": "0.2.142",
4
4
  "type": "module",
5
5
  "description": "Webmate Studio Component Builder",
6
6
  "keywords": [
@@ -74,6 +74,14 @@ export function generateColorScale(baseHex, curve) {
74
74
  c = base.c;
75
75
  } else {
76
76
  c = computeChroma(L[i], L[8], base.c, stdDev, chromaScale);
77
+
78
+ // Neutraltöne: Helle Stufen extra dämpfen, damit Steps 2-5
79
+ // nicht zu farbig wirken. Nahe der Base bleibt volle Chroma.
80
+ if (isLowChroma && L[i] > L[8]) {
81
+ const distFromBase = (L[i] - L[8]) / (0.985 - L[8]); // 0 bei Base, 1 bei Step 1
82
+ const damping = 1.0 - 0.55 * distFromBase * distFromBase;
83
+ c *= damping;
84
+ }
77
85
  }
78
86
 
79
87
  const mapped = gamutMapOklch(L[i], c, base.h);
@@ -249,10 +257,10 @@ function buildLightnessRamp(baseL, isLowChroma = false) {
249
257
 
250
258
  if (isLowChroma) {
251
259
  // Neutraltöne: Step 12 muss sehr dunkel sein (Hauptschriftfarbe),
252
- // Step 11 = Low-Contrast Text, volle Spreizung nach unten
260
+ // Step 11 = Low-Contrast Text, gleichmäßigere Verteilung nach unten
253
261
  const bottomL = 0.25;
254
262
  const darkRange = safeBaseL - bottomL;
255
- step10L = safeBaseL - darkRange * 0.12;
263
+ step10L = safeBaseL - darkRange * 0.20;
256
264
  step11L = safeBaseL - darkRange * 0.55;
257
265
  step12L = bottomL;
258
266
  } else {