@sltsh/aion-tokens 1.1.7 → 1.3.0

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/dist/palette.js CHANGED
@@ -36,14 +36,8 @@ export const ONE_DARK_PRO_HUE = {
36
36
  variable: 17.0, number: 63.8, constant: 63.8, type: 82.3,
37
37
  string: 133.0, operator: 206.3, escape: 206.3, function: 245.3, keyword: 318.2,
38
38
  };
39
- // The comment is the dimmest thing a reader has to read, so it sets the budget for every
40
- // decoration that can sit under it. It is solved against the lightest supported stack —
41
- // a selected word inside a highlighted current line — not against the plain editor.
42
- //
43
- // It stops one notch under `variable`, the dimmest accent. Below that the comment alone
44
- // caps every decoration; above it `variable` binds instead and the extra lightness buys
45
- // nothing. At 0.672 the diff fill could reach 1.07:1 against the editor, which no reader
46
- // could see; here it reaches 1.22:1.
39
+ // The comment is the dimmest reading colour. Hold it fixed while solving the named
40
+ // renderer stacks; moving it would change the syntax hierarchy to buy overlay contrast.
47
41
  export const comment = [0.704, BASE_CHROMA + 0.008, BASE_HUE];
48
42
  // Step 10 is a solid-hover step in the Radix model, not a text step. Line numbers borrow
49
43
  // it under a documented exemption. Dimmed UI text cannot: it sits on the widget surface
@@ -80,7 +74,37 @@ export const diff = {
80
74
  addedGutter: ACCENTS.green,
81
75
  removedGutter: ACCENTS.coral,
82
76
  };
83
- // Every alpha here is a contrast budget, not a taste. These three stack under running
77
+ // These fills are solved against the covered stacks in renderer order. Selection
78
+ // highlight has its parsed alpha halved by VS Code before CSS formatting.
79
+ export const decoration = {
80
+ selectionHighlight: { color: [0.350, 0.200, 264], alpha: 0.950 },
81
+ inactiveSelection: { color: neutral.border, alpha: 0.08 },
82
+ findRange: { color: [0.350, 0.200, 264], alpha: 0.450 },
83
+ rangeHighlight: { color: [0.360, 0.200, 264], alpha: 0.450 },
84
+ fold: { color: [0.350, 0.200, 264], alpha: 0.450 },
85
+ };
86
+ export const secondaryDecoration = {
87
+ hover: { color: [0.340, 0.100, 255], alpha: 0.45 },
88
+ symbol: { color: [0.350, 0.070, 90], alpha: 0.40 },
89
+ strongWord: { color: [0.340, 0.010, 192], alpha: 0.45 },
90
+ stackFrame: { color: [0.280, 0.060, 90], alpha: 0.40 },
91
+ focusedStackFrame: { color: [0.280, 0.080, 148], alpha: 0.45 },
92
+ bracketMatch: { color: [0.320, 0.070, 90], alpha: 0.40 },
93
+ commentRange: { color: [0.350, 0.070, 90], alpha: 0.40 },
94
+ activeCommentRange: { color: [0.350, 0.070, 90], alpha: 0.40 },
95
+ unchangedCode: { color: neutral.hover, alpha: 0.3 },
96
+ mergeCurrentHeader: { color: [0.280, 0.080, 148], alpha: 0.45 },
97
+ mergeIncomingHeader: { color: [0.310, 0.110, 255], alpha: 0.450 },
98
+ mergeCommonHeader: { color: [0.350, 0.200, 264], alpha: 0.450 },
99
+ mergeChange: { color: [0.370, 0.100, 148], alpha: 0.45 },
100
+ mergeChangeWord: { color: [0.370, 0.100, 148], alpha: 0.45 },
101
+ searchMatch: { color: [0.350, 0.070, 90], alpha: 0.40 },
102
+ covered: { color: [0.330, 0.100, 148], alpha: 0.45 },
103
+ uncovered: { color: [0.390, 0.160, 22], alpha: 0.40 },
104
+ };
105
+ // The secondary fills above keep the selection cue visible through each one. Their
106
+ // original bright accents exhausted the comment budget over a selected diff word.
107
+ // Every alpha here is a contrast budget, not a taste. These overlays stack under running
84
108
  // code, so the gate composites them and measures the syntax colours on the result.
85
109
  // `lineHighlight` blends toward `hairline` at a low alpha rather than toward a near
86
110
  // surface at a high one: `sidebar` is one step off the editor, so no alpha of it
@@ -102,8 +126,8 @@ export const overlay = {
102
126
  // The other matches take the same dark-wash treatment as the selection, for the same
103
127
  // reason: a pale gold at a low alpha is what the budget allows and it reads as nothing.
104
128
  // This is solved to keep the selection reading through it at half its plain-line shift.
105
- findMatchOther: { color: [0.400, 0.075, ACCENTS.gold[2]], alpha: 0.40 },
106
- wordHighlight: { color: neutral.hover, alpha: 0.28 },
129
+ findMatchOther: { color: [0.360, 0.070, 90], alpha: 0.400 },
130
+ wordHighlight: { color: [0.380, 0.200, 264], alpha: 0.450 },
107
131
  lineHighlight: { color: neutral.hairline, alpha: 0.36 },
108
132
  };
109
133
  // A find match keeps the syntax colours under it. It used to replace them, through
@@ -1 +1 @@
1
- {"version":3,"file":"palette.js","sourceRoot":"","sources":["../src/palette.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"palette.js","sourceRoot":"","sources":["../src/palette.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,CAAC;AAC5B,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,CAAC;AAEjC,sFAAsF;AACtF,yFAAyF;AACzF,6EAA6E;AAC7E,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK;IAC7D,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK;IAC3D,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK;CAC7D,CAAC;AAIX,MAAM,CAAC,MAAM,OAAO,GAA+B,SAAS,CAC1D,iBAAiB,EACjB,CAAC,CAAC,EAAS,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,CACzC,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,KAAK,EAAG,CAAC,KAAK,EAAE,MAAM,EAAG,EAAE,CAAC;IAC5B,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,EAAG,EAAE,CAAC;IAC5B,IAAI,EAAI,CAAC,KAAK,EAAE,MAAM,EAAG,EAAE,CAAC;IAC5B,KAAK,EAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC;IAC5B,IAAI,EAAI,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC;IAC5B,IAAI,EAAI,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC;IAC5B,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC;CACY,CAAC;AAI3C,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAiB,CAAC;AAQjE,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,CAAC;AAC7C,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,CAAC;AAE7C,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAQ,EAAe,EAAE,CAAC,CAAC;IACzD,MAAM,EAAE,CAAC,uBAAuB,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;IAC/D,MAAM,EAAE,CAAC,uBAAuB,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;IAC/D,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;CACjB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAgB,EAAe,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AAErF,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM;IACrE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ;CACzC,CAAC;AAIhD,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IACxD,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK;CACjC,CAAC;AAEhD,mFAAmF;AACnF,wFAAwF;AACxF,MAAM,CAAC,MAAM,OAAO,GAAU,CAAC,KAAK,EAAE,WAAW,GAAG,KAAK,EAAE,QAAQ,CAAC,CAAC;AAErE,yFAAyF;AACzF,wFAAwF;AACxF,oFAAoF;AACpF,MAAM,CAAC,MAAM,OAAO,GAAU,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;AAE7D,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM;CACpB,CAAC;AAIhD,0FAA0F;AAC1F,2FAA2F;AAC3F,+EAA+E;AAC/E,EAAE;AACF,0FAA0F;AAC1F,0FAA0F;AAC1F,0FAA0F;AAC1F,2FAA2F;AAC3F,iFAAiF;AACjF,EAAE;AACF,uFAAuF;AACvF,wFAAwF;AACxF,qFAAqF;AACrF,mCAAmC;AACnC,MAAM,UAAU,GAAU,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3D,MAAM,YAAY,GAAU,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAE7D,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,SAAS,EAAI,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE;IAC/C,SAAS,EAAI,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE;IAC/C,WAAW,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE;IACjD,WAAW,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE;CACP,CAAC;AAI7C,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,UAAU,EAAK,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC/C,YAAY,EAAG,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC/C,WAAW,EAAI,OAAO,CAAC,KAAK;IAC5B,aAAa,EAAE,OAAO,CAAC,KAAK;CACY,CAAC;AAkB3C,iFAAiF;AACjF,0EAA0E;AAC1E,MAAM,CAAC,MAAM,UAAU,GAAoC;IACzD,kBAAkB,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE;IAChE,iBAAiB,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE;IACzD,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE;IACvD,cAAc,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE;IAC5D,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE;CACnD,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAA6C;IAC3E,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE;IAClD,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE;IAClD,UAAU,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE;IACvD,UAAU,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE;IACtD,iBAAiB,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE;IAC9D,YAAY,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE;IACxD,YAAY,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE;IACxD,kBAAkB,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE;IAC9D,aAAa,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;IACnD,kBAAkB,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE;IAC/D,mBAAmB,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE;IACjE,iBAAiB,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE;IAC/D,WAAW,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE;IACxD,eAAe,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE;IAC5D,WAAW,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE;IACvD,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE;IACpD,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE;CACtD,CAAC;AAEF,mFAAmF;AACnF,kFAAkF;AAElF,yFAAyF;AACzF,mFAAmF;AACnF,oFAAoF;AACpF,iFAAiF;AACjF,0FAA0F;AAC1F,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,sFAAsF;IACtF,mFAAmF;IACnF,8DAA8D;IAC9D,EAAE;IACF,yFAAyF;IACzF,qFAAqF;IACrF,wFAAwF;IACxF,mFAAmF;IACnF,+EAA+E;IAC/E,EAAE;IACF,mFAAmF;IACnF,qFAAqF;IACrF,SAAS,EAAO,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE;IAC3D,qFAAqF;IACrF,wFAAwF;IACxF,wFAAwF;IACxF,cAAc,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE;IAC3D,aAAa,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE;IAC3D,aAAa,EAAG,EAAE,KAAK,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE;CACd,CAAC;AAK7C,mFAAmF;AACnF,0FAA0F;AAC1F,6FAA6F;AAC7F,sFAAsF;AACtF,2FAA2F;AAC3F,yFAAyF;AACzF,EAAE;AACF,wFAAwF;AACxF,0FAA0F;AAC1F,mFAAmF;AACnF,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;CACA,CAAC;AAE3C,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAA0C,CAAC;AAChG,MAAM,CAAC,MAAM,MAAM,GAAU,OAAO,CAAC,IAAI,CAAC;AAE1C,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAErC,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM;IAC5C,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM;CACA,CAAC;AAIhD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAmB,KAAQ,EAAiB,EAAE,CACtE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAkB,CAAC;AAOpE,MAAM,CAAC,MAAM,IAAI,GAA4B,CAAC,GAAG,EAAE;IACjD,MAAM,GAAG,GAAG,EAA6B,CAAC;IAC1C,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAsC,EAAE,CAAC;QAC3F,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAClC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,gBAAgB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACzC,GAAG,CAAC,SAAS,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/C,CAAC;IACD,mFAAmF;IACnF,uFAAuF;IACvF,uFAAuF;IACvF,wFAAwF;IACxF,qFAAqF;IACrF,GAAG,CAAC,KAAK,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;IAC3C,GAAG,CAAC,WAAW,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;IACjD,GAAG,CAAC,KAAK,GAAG,OAAO,CAAC,aAAa,CAAC;IAClC,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IACtC,OAAO,GAAG,CAAC;AACb,CAAC,CAAC,EAAE,CAAC;AAEL,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO;IACrE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc;IACzD,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,aAAa;CACpB,CAAC;AAEzC,qFAAqF;AACrF,4EAA4E;AAC5E,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,UAAU,EAAE,OAAO,CAAC,MAAM;IAC1B,WAAW,EAAE,OAAO,CAAC,QAAQ;CACW,CAAC;AAI3C,MAAM,CAAC,MAAM,kBAAkB,GAAU,oBAAoB,CAAC,UAAU,CAAC;AAEzE,uFAAuF;AACvF,yFAAyF;AACzF,2FAA2F;AAC3F,MAAM,CAAC,MAAM,iBAAiB,GAAU,WAAW,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;AAEnE,wFAAwF;AACxF,wFAAwF;AACxF,wFAAwF;AACxF,0FAA0F;AAC1F,mFAAmF;AACnF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,OAAO,EAAE,aAAa,CAAwC,CAAC;AAE/F,uFAAuF;AACvF,2FAA2F;AAC3F,wFAAwF;AACxF,yFAAyF;AACzF,uFAAuF;AACvF,uFAAuF;AACvF,0CAA0C;AAC1C,MAAM,CAAC,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAElF,MAAM,CAAC,MAAM,cAAc,GAAwC;IACjE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI;CAClD,CAAC;AACF,MAAM,CAAC,MAAM,cAAc,GAA8B,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACtE,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,CAAC;AAClC,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAC;AAClC,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAC;AAClC,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC;AACrC,sFAAsF;AACtF,mFAAmF;AACnF,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC"}
package/dist/preview.d.ts CHANGED
@@ -1,5 +1,6 @@
1
- import type { AccentName, AccentScale, AnsiSlot, NeutralName, StatusName, SyntaxRole } from './palette.js';
1
+ import type { AccentName, AccentScale, AnsiSlot, NeutralName, SecondaryDecorationName, StatusName, SyntaxRole } from './palette.js';
2
2
  import { diff as shippedDiff, diffWash as shippedWash, findMatch as shippedFindMatch, overlay as shippedOverlay } from './palette.js';
3
+ import type { LightDecorationName } from './light.js';
3
4
  import type { StatusScale } from './status.js';
4
5
  import type { Oklch, Overlay } from './index.js';
5
6
  export interface PreviewOptions {
@@ -29,6 +30,9 @@ export interface Palette {
29
30
  readonly cursor: Oklch;
30
31
  readonly terminalSelection: Oklch;
31
32
  readonly statuses: Record<StatusName, StatusScale>;
33
+ readonly decoration: Record<LightDecorationName, Overlay>;
34
+ readonly secondaryDecoration: Record<SecondaryDecorationName, Overlay>;
35
+ readonly coverageGutter?: Record<'covered' | 'uncovered', Oklch>;
32
36
  }
33
37
  export declare function buildPalette(overrides?: Partial<PreviewOptions>): Palette;
34
38
  /** Build the native light palette used by the light preview and VS Code adapter. */
@@ -1 +1 @@
1
- {"version":3,"file":"preview.d.ts","sourceRoot":"","sources":["../src/preview.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EAAE,WAAW,EAAqB,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAC1F,MAAM,cAAc,CAAC;AACtB,OAAO,EAEgD,IAAI,IAAI,WAAW,EACxE,QAAQ,IAAI,WAAW,EACvB,SAAS,IAAI,gBAAgB,EAC7B,OAAO,IAAI,cAAc,EAC1B,MAAM,cAAc,CAAC;AAMtB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAOjD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;CACnC;AAED,eAAO,MAAM,gBAAgB,EAAE,cAO9B,CAAC;AAKF,MAAM,MAAM,mBAAmB,GAAG,cAAc,CAAC;AACjD,eAAO,MAAM,sBAAsB,EAAE,mBAOpC,CAAC;AAEF,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAC7C,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC5C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IACjD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC3C,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACvC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,OAAO,WAAW,EAAE,KAAK,CAAC,CAAC;IACvD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,OAAO,WAAW,EAAE,OAAO,CAAC,CAAC;IAC7D,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,OAAO,cAAc,EAAE,OAAO,CAAC,CAAC;IAC/D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,OAAO,gBAAgB,EAAE,KAAK,CAAC,CAAC;IACjE,QAAQ,CAAC,QAAQ,EAAE,SAAS,KAAK,EAAE,CAAC;IACpC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC;IACvB,QAAQ,CAAC,iBAAiB,EAAE,KAAK,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;CACpD;AAID,wBAAgB,YAAY,CAAC,SAAS,GAAE,OAAO,CAAC,cAAc,CAAM,GAAG,OAAO,CAqE7E;AAYD,oFAAoF;AACpF,wBAAgB,iBAAiB,CAAC,SAAS,GAAE,OAAO,CAAC,mBAAmB,CAAM,GAAG,OAAO,CAqEvF;AAID,eAAO,MAAM,YAAY,EAAE,OAA6B,CAAC;AAEzD,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,OAAO,CAAC;AAC5C,eAAO,MAAM,kBAAkB,GAC7B,QAAQ,YAAY,EACpB,YAAW,OAAO,CAAC,cAAc,CAAM,KACtC,OAAsF,CAAC"}
1
+ {"version":3,"file":"preview.d.ts","sourceRoot":"","sources":["../src/preview.ts"],"names":[],"mappings":"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"}
package/dist/preview.js CHANGED
@@ -1,5 +1,5 @@
1
- import { ACCENTS, ANSI_HUE, BASE_CHROMA, BASE_HUE, BRIGHT_TO_NORMAL, NEUTRAL_LIGHTNESS, STATUS, SYNTAX, bracketPairs, capitalise, comment as shippedComment, diff as shippedDiff, diffWash as shippedWash, findMatch as shippedFindMatch, overlay as shippedOverlay, dimText as shippedDim, scaleOf, terminalSelection, } from './palette.js';
2
- import { lightAccents, lightAnsi, lightBrackets, lightComment, lightDiff, lightDiffWash, lightDimText, lightEditorNeutral, lightFindMatch, lightOverlay, lightAccentScale, lightCursor, lightTerminalSelection, } from './light.js';
1
+ import { ACCENTS, ANSI_HUE, BASE_CHROMA, BASE_HUE, BRIGHT_TO_NORMAL, NEUTRAL_LIGHTNESS, STATUS, SYNTAX, bracketPairs, capitalise, comment as shippedComment, decoration as shippedDecoration, secondaryDecoration as shippedSecondaryDecoration, diff as shippedDiff, diffWash as shippedWash, findMatch as shippedFindMatch, overlay as shippedOverlay, dimText as shippedDim, scaleOf, terminalSelection, } from './palette.js';
2
+ import { lightAccents, lightAnsi, lightBrackets, lightComment, lightDiff, lightDiffWash, lightDecoration, lightDimText, lightEditorNeutral, lightFindMatch, lightOverlay, lightAccentScale, lightSecondaryDecoration, lightCoverageGutter, lightCursor, lightTerminalSelection, } from './light.js';
3
3
  import { statusLightFor } from './status.js';
4
4
  import { mapValues } from './util.js';
5
5
  const reHue = (marker, accent) => [marker[0], marker[1], accent[2]];
@@ -57,9 +57,41 @@ export function buildPalette(overrides = {}) {
57
57
  o.baseHue - BASE_HUE + shippedOverlay.selection.color[2]], alpha: shippedOverlay.selection.alpha },
58
58
  findMatchOther: { color: reHue(shippedOverlay.findMatchOther.color, accents.gold),
59
59
  alpha: shippedOverlay.findMatchOther.alpha },
60
- wordHighlight: { color: neutral.hover, alpha: shippedOverlay.wordHighlight.alpha },
60
+ wordHighlight: { color: [shift(shippedOverlay.wordHighlight.color[0]),
61
+ shippedOverlay.wordHighlight.color[1] * o.baseChroma / BASE_CHROMA, o.baseHue],
62
+ alpha: shippedOverlay.wordHighlight.alpha },
61
63
  lineHighlight: { color: neutral.hairline, alpha: shippedOverlay.lineHighlight.alpha },
62
64
  };
65
+ const decoration = mapValues(shippedDecoration, (value) => ({
66
+ color: [shift(value.color[0]), value.color[1] * o.baseChroma / BASE_CHROMA,
67
+ value.color[2] + o.baseHue - BASE_HUE],
68
+ alpha: value.alpha,
69
+ }));
70
+ const secondaryColour = (name, accent) => [shippedSecondaryDecoration[name].color[0] + o.surfaceShift,
71
+ shippedSecondaryDecoration[name].color[1] * o.accentChroma, accent[2]];
72
+ const secondaryDecoration = {
73
+ hover: { color: secondaryColour('hover', accents.blue), alpha: shippedSecondaryDecoration.hover.alpha },
74
+ symbol: { color: secondaryColour('symbol', accents.gold), alpha: shippedSecondaryDecoration.symbol.alpha },
75
+ strongWord: { color: secondaryColour('strongWord', accents.teal), alpha: shippedSecondaryDecoration.strongWord.alpha },
76
+ stackFrame: { color: secondaryColour('stackFrame', accents.gold), alpha: shippedSecondaryDecoration.stackFrame.alpha },
77
+ focusedStackFrame: { color: secondaryColour('focusedStackFrame', accents.green), alpha: shippedSecondaryDecoration.focusedStackFrame.alpha },
78
+ bracketMatch: { color: secondaryColour('bracketMatch', accents.gold), alpha: shippedSecondaryDecoration.bracketMatch.alpha },
79
+ commentRange: { color: secondaryColour('commentRange', accents.gold), alpha: shippedSecondaryDecoration.commentRange.alpha },
80
+ activeCommentRange: { color: secondaryColour('activeCommentRange', accents.gold), alpha: shippedSecondaryDecoration.activeCommentRange.alpha },
81
+ unchangedCode: { color: [shift(shippedSecondaryDecoration.unchangedCode.color[0]),
82
+ shippedSecondaryDecoration.unchangedCode.color[1] * o.baseChroma / BASE_CHROMA, o.baseHue],
83
+ alpha: shippedSecondaryDecoration.unchangedCode.alpha },
84
+ mergeCurrentHeader: { color: secondaryColour('mergeCurrentHeader', accents.green), alpha: shippedSecondaryDecoration.mergeCurrentHeader.alpha },
85
+ mergeIncomingHeader: { color: secondaryColour('mergeIncomingHeader', accents.blue), alpha: shippedSecondaryDecoration.mergeIncomingHeader.alpha },
86
+ mergeCommonHeader: { color: [shift(shippedSecondaryDecoration.mergeCommonHeader.color[0]),
87
+ shippedSecondaryDecoration.mergeCommonHeader.color[1] * o.baseChroma / BASE_CHROMA, o.baseHue],
88
+ alpha: shippedSecondaryDecoration.mergeCommonHeader.alpha },
89
+ mergeChange: { color: secondaryColour('mergeChange', accents.green), alpha: shippedSecondaryDecoration.mergeChange.alpha },
90
+ mergeChangeWord: { color: secondaryColour('mergeChangeWord', accents.green), alpha: shippedSecondaryDecoration.mergeChangeWord.alpha },
91
+ searchMatch: { color: secondaryColour('searchMatch', accents.gold), alpha: shippedSecondaryDecoration.searchMatch.alpha },
92
+ covered: { color: secondaryColour('covered', accents.green), alpha: shippedSecondaryDecoration.covered.alpha },
93
+ uncovered: { color: secondaryColour('uncovered', accents.coral), alpha: shippedSecondaryDecoration.uncovered.alpha },
94
+ };
63
95
  return {
64
96
  neutral,
65
97
  dim,
@@ -86,6 +118,8 @@ export function buildPalette(overrides = {}) {
86
118
  cursor: accents.gold,
87
119
  terminalSelection,
88
120
  statuses,
121
+ decoration,
122
+ secondaryDecoration,
89
123
  };
90
124
  }
91
125
  const clamp = (value) => Math.min(1, Math.max(0, value));
@@ -132,6 +166,13 @@ export function buildLightPalette(overrides = {}) {
132
166
  lineHighlight: shiftOverlay(lightOverlay.lineHighlight, hueDelta, chromaScale),
133
167
  };
134
168
  const diffWash = mapValues(lightDiffWash, (value) => shiftOverlay(value, 0, accentChromaScale));
169
+ const decoration = mapValues(lightDecoration, (value, name) => shiftOverlay(value, name === 'selectionHighlight' || name === 'inactiveSelection' ? 0 : hueDelta, chromaScale));
170
+ const linked = (name) => ({
171
+ color: shiftHue(lightSecondaryDecoration[name].color, 0, accentLightnessDelta * 0.2, accentChromaScale),
172
+ alpha: lightSecondaryDecoration[name].alpha,
173
+ });
174
+ const secondaryDecoration = mapValues(lightSecondaryDecoration, (value, name) => name === 'unchangedCode' || name === 'mergeCommonHeader'
175
+ ? shiftOverlay(value, hueDelta, chromaScale) : linked(name));
135
176
  const diff = mapValues(lightDiff, (value) => shiftHue(value, 0, accentLightnessDelta, accentChromaScale));
136
177
  const findMatch = mapValues(lightFindMatch, (value) => shiftHue(value, 0, accentLightnessDelta * 0.2, accentChromaScale));
137
178
  return {
@@ -150,6 +191,9 @@ export function buildLightPalette(overrides = {}) {
150
191
  cursor: shiftHue(lightCursor, 0, accentLightnessDelta, accentChromaScale),
151
192
  terminalSelection: shiftHue(lightTerminalSelection, hueDelta, surfaceDelta, chromaScale),
152
193
  statuses,
194
+ decoration,
195
+ secondaryDecoration,
196
+ coverageGutter: mapValues(lightCoverageGutter, (value) => shiftHue(value, 0, accentLightnessDelta, accentChromaScale)),
153
197
  };
154
198
  }
155
199
  // The default is the single source used by the VS Code light theme. Keep this export
@@ -1 +1 @@
1
- {"version":3,"file":"preview.js","sourceRoot":"","sources":["../src/preview.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"preview.js","sourceRoot":"","sources":["../src/preview.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { type Oklch } from './oklch.js';
2
+ type Channels = readonly [number, number, number];
3
+ /** Clamped, gamma-encoded sRGB channels before and after the emitter's byte rounding. */
4
+ export declare function srgbChannels(c: Oklch): {
5
+ exact: Channels;
6
+ bytes: Channels;
7
+ };
8
+ /** Largest observed rounding shift on the documented strict-gamut grid near the floor. */
9
+ export declare function roundingShift(background: Oklch, floor?: number): {
10
+ shift: number;
11
+ colour: Oklch;
12
+ };
13
+ /** @internal Hue-index stride for the independent full-scan test oracle. */
14
+ export declare function roundingShiftOnGrid(background: Oklch, floor?: number, hueStride?: number): {
15
+ shift: number;
16
+ colour: Oklch;
17
+ };
18
+ /** First sampled lightness that passes continuous contrast but fails emitted contrast. */
19
+ export declare function roundingFlip(base: Oklch, background: Oklch, { window, step, floor }?: {
20
+ window?: number;
21
+ step?: number;
22
+ floor?: number;
23
+ }): number | null;
24
+ export {};
25
+ //# sourceMappingURL=rounding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rounding.d.ts","sourceRoot":"","sources":["../src/rounding.ts"],"names":[],"mappings":"AAAA,OAAO,EACoE,KAAK,KAAK,EACpF,MAAM,YAAY,CAAC;AAKpB,KAAK,QAAQ,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAElD,yFAAyF;AACzF,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,GAAG;IAAE,KAAK,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,QAAQ,CAAA;CAAE,CAO3E;AA2CD,0FAA0F;AAC1F,wBAAgB,aAAa,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,SAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,KAAK,CAAA;CAAE,CAE9F;AAED,4EAA4E;AAC5E,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,KAAK,EAAE,KAAK,SAAM,EAAE,SAAS,SAAI,GAC5C;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,KAAK,CAAA;CAAE,CA+ClC;AAED,0FAA0F;AAC1F,wBAAgB,YAAY,CAC1B,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAC9B,EAAE,MAAa,EAAE,IAAqB,EAAE,KAAW,EAAE,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,GAC7G,MAAM,GAAG,IAAI,CAcf"}
@@ -0,0 +1,137 @@
1
+ import { contrast, contrastEmitted, luminance, oklchToLinearSrgb, solveLightness, } from './oklch.js';
2
+ const LIGHTNESS_STEP = 0.00005;
3
+ const LIGHTNESS_LAST = 20000;
4
+ const BAND = 0.1;
5
+ /** Clamped, gamma-encoded sRGB channels before and after the emitter's byte rounding. */
6
+ export function srgbChannels(c) {
7
+ const exact = oklchToLinearSrgb(...c).map((value) => {
8
+ const u = Math.min(1, Math.max(0, value));
9
+ const encoded = u <= 0.0031308 ? 12.92 * u : 1.055 * u ** (1 / 2.4) - 0.055;
10
+ return Math.min(1, Math.max(0, encoded)) * 255;
11
+ });
12
+ return { exact, bytes: exact.map(Math.round) };
13
+ }
14
+ const rawLuminance = (L, C, H) => {
15
+ const [r, g, b] = oklchToLinearSrgb(L, C, H);
16
+ return 0.2126 * r + 0.7152 * g + 0.0722 * b;
17
+ };
18
+ // Unclipped luminance is cubic in L. Partition at its stationary points so bisection
19
+ // retains every band, including both sides of the background and low-L reversals.
20
+ function monotoneEndpoints(C, H) {
21
+ const a = C * Math.cos(H * Math.PI / 180);
22
+ const b = C * Math.sin(H * Math.PI / 180);
23
+ const offsets = [
24
+ 0.3963377774 * a + 0.2158037573 * b,
25
+ -0.1055613458 * a - 0.0638541728 * b,
26
+ -0.0894841775 * a - 1.2914855480 * b,
27
+ ];
28
+ const weights = [
29
+ 0.2126 * 4.0767416621 - 0.7152 * 1.2684380046 - 0.0722 * 0.0041960863,
30
+ -0.2126 * 3.3077115913 + 0.7152 * 2.6097574011 - 0.0722 * 0.7034186147,
31
+ 0.2126 * 0.2309699292 - 0.7152 * 0.3413193965 + 0.0722 * 1.7076147010,
32
+ ];
33
+ const A = weights.reduce((sum, w) => sum + w, 0);
34
+ const B = weights.reduce((sum, w, i) => sum + 2 * w * offsets[i], 0);
35
+ const D = weights.reduce((sum, w, i) => sum + w * offsets[i] ** 2, 0);
36
+ const discriminant = B * B - 4 * A * D;
37
+ const roots = discriminant >= 0
38
+ ? [(-B - Math.sqrt(discriminant)) / (2 * A), (-B + Math.sqrt(discriminant)) / (2 * A)]
39
+ : [];
40
+ return [0, ...roots.filter((v) => v > 0 && v < 1), 1].sort((x, y) => x - y);
41
+ }
42
+ function crossing(C, H, target, start, end) {
43
+ let lo = start, hi = end;
44
+ const ascending = rawLuminance(end, C, H) >= rawLuminance(start, C, H);
45
+ for (let i = 0; i < 48; i += 1) {
46
+ const mid = (lo + hi) / 2;
47
+ if ((rawLuminance(mid, C, H) < target) === ascending)
48
+ lo = mid;
49
+ else
50
+ hi = mid;
51
+ }
52
+ return (lo + hi) / 2;
53
+ }
54
+ /** Largest observed rounding shift on the documented strict-gamut grid near the floor. */
55
+ export function roundingShift(background, floor = 4.5) {
56
+ return roundingShiftOnGrid(background, floor);
57
+ }
58
+ /** @internal Hue-index stride for the independent full-scan test oracle. */
59
+ export function roundingShiftOnGrid(background, floor = 4.5, hueStride = 1) {
60
+ if (!Number.isFinite(floor) || floor < 1)
61
+ throw new RangeError('floor must be at least 1');
62
+ if (!Number.isInteger(hueStride) || hueStride < 1)
63
+ throw new RangeError('hue stride must be a positive integer');
64
+ const bg = luminance(background) + 0.05;
65
+ const lower = Math.max(1, floor - BAND), upper = floor + BAND;
66
+ const bands = [[bg / upper - 0.05, bg / lower - 0.05], [lower * bg - 0.05, upper * bg - 0.05]];
67
+ let shift = -1;
68
+ let colour = [0, 0, 0];
69
+ for (let i = 0; i < 120; i += hueStride) {
70
+ const H = 3 * i;
71
+ for (let j = 0; j <= 20; j += 1) {
72
+ const C = 0.01 * j;
73
+ const endpoints = monotoneEndpoints(C, H);
74
+ const ranges = [];
75
+ for (let e = 1; e < endpoints.length; e += 1) {
76
+ const start = endpoints[e - 1], end = endpoints[e];
77
+ const first = rawLuminance(start, C, H), last = rawLuminance(end, C, H);
78
+ for (const [bandLo, bandHi] of bands) {
79
+ const lo = Math.max(bandLo, Math.min(first, last));
80
+ const hi = Math.min(bandHi, Math.max(first, last));
81
+ if (lo > hi)
82
+ continue;
83
+ const x = crossing(C, H, lo, start, end), y = crossing(C, H, hi, start, end);
84
+ // Include neighbours before applying the exact predicate: bisection and
85
+ // algebraic band boundaries can round differently at a grid endpoint.
86
+ ranges.push([
87
+ Math.max(0, Math.floor(Math.min(x, y) / LIGHTNESS_STEP) - 1),
88
+ Math.min(LIGHTNESS_LAST, Math.ceil(Math.max(x, y) / LIGHTNESS_STEP) + 1),
89
+ ]);
90
+ }
91
+ }
92
+ ranges.sort((a, b) => a[0] - b[0]);
93
+ let visited = -1;
94
+ for (const [start, end] of ranges) {
95
+ for (let k = Math.max(start, visited + 1); k <= end; k += 1) {
96
+ visited = k;
97
+ const candidate = [LIGHTNESS_STEP * k, C, H];
98
+ if (!oklchToLinearSrgb(...candidate).every((v) => v >= 0 && v <= 1))
99
+ continue;
100
+ const exact = contrast(candidate, background);
101
+ if (Math.abs(exact - floor) > BAND)
102
+ continue;
103
+ const gap = Math.abs(contrastEmitted(candidate, background) - exact);
104
+ if (gap > shift) {
105
+ shift = gap;
106
+ colour = candidate;
107
+ }
108
+ }
109
+ }
110
+ }
111
+ }
112
+ if (shift < 0)
113
+ throw new RangeError('no strictly in-gamut grid point lies in the contrast band');
114
+ return { shift, colour };
115
+ }
116
+ /** First sampled lightness that passes continuous contrast but fails emitted contrast. */
117
+ export function roundingFlip(base, background, { window = 0.02, step = LIGHTNESS_STEP, floor = 4.5 } = {}) {
118
+ if (!Number.isFinite(window) || window < 0)
119
+ throw new RangeError('window must be non-negative');
120
+ if (!Number.isFinite(step) || step <= 0)
121
+ throw new RangeError('step must be positive');
122
+ if (!Number.isFinite(floor) || floor < 1)
123
+ throw new RangeError('floor must be at least 1');
124
+ const direction = luminance(base) >= luminance(background) ? 'up' : 'down';
125
+ const centre = solveLightness(base[1], base[2], background, floor, direction);
126
+ const start = centre - window, end = centre + window;
127
+ for (let i = 0; i <= Math.floor((2 * window) / step); i += 1) {
128
+ const L = start + i * step;
129
+ if (L < 0 || L > 1 || L > end)
130
+ continue;
131
+ const candidate = [L, base[1], base[2]];
132
+ if (contrast(candidate, background) >= floor && contrastEmitted(candidate, background) < floor)
133
+ return L;
134
+ }
135
+ return null;
136
+ }
137
+ //# sourceMappingURL=rounding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rounding.js","sourceRoot":"","sources":["../src/rounding.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAAE,eAAe,EAAE,SAAS,EAAE,iBAAiB,EAAE,cAAc,GACxE,MAAM,YAAY,CAAC;AAEpB,MAAM,cAAc,GAAG,OAAO,CAAC;AAC/B,MAAM,cAAc,GAAG,KAAK,CAAC;AAC7B,MAAM,IAAI,GAAG,GAAG,CAAC;AAGjB,yFAAyF;AACzF,MAAM,UAAU,YAAY,CAAC,CAAQ;IACnC,MAAM,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAClD,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;QAC5E,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,GAAG,GAAG,CAAC;IACjD,CAAC,CAA6B,CAAC;IAC/B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAA6B,EAAE,CAAC;AAC7E,CAAC;AAED,MAAM,YAAY,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS,EAAU,EAAE;IAC/D,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7C,OAAO,MAAM,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC;AAC9C,CAAC,CAAC;AAEF,qFAAqF;AACrF,kFAAkF;AAClF,SAAS,iBAAiB,CAAC,CAAS,EAAE,CAAS;IAC7C,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC;IAC1C,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG;QACd,YAAY,GAAG,CAAC,GAAG,YAAY,GAAG,CAAC;QACnC,CAAC,YAAY,GAAG,CAAC,GAAG,YAAY,GAAG,CAAC;QACpC,CAAC,YAAY,GAAG,CAAC,GAAG,YAAY,GAAG,CAAC;KACrC,CAAC;IACF,MAAM,OAAO,GAAG;QACd,MAAM,GAAG,YAAY,GAAG,MAAM,GAAG,YAAY,GAAG,MAAM,GAAG,YAAY;QACrE,CAAC,MAAM,GAAG,YAAY,GAAG,MAAM,GAAG,YAAY,GAAG,MAAM,GAAG,YAAY;QACtE,MAAM,GAAG,YAAY,GAAG,MAAM,GAAG,YAAY,GAAG,MAAM,GAAG,YAAY;KACtE,CAAC;IACF,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACjD,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,CAAE,EAAE,CAAC,CAAC,CAAC;IACtE,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,CAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IACvE,MAAM,YAAY,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACvC,MAAM,KAAK,GAAG,YAAY,IAAI,CAAC;QAC7B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACtF,CAAC,CAAC,EAAE,CAAC;IACP,OAAO,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,QAAQ,CAAC,CAAS,EAAE,CAAS,EAAE,MAAc,EAAE,KAAa,EAAE,GAAW;IAChF,IAAI,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,GAAG,CAAC;IACzB,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACvE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,MAAM,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,SAAS;YAAE,EAAE,GAAG,GAAG,CAAC;;YAC1D,EAAE,GAAG,GAAG,CAAC;IAChB,CAAC;IACD,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;AACvB,CAAC;AAED,0FAA0F;AAC1F,MAAM,UAAU,aAAa,CAAC,UAAiB,EAAE,KAAK,GAAG,GAAG;IAC1D,OAAO,mBAAmB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;AAChD,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,mBAAmB,CACjC,UAAiB,EAAE,KAAK,GAAG,GAAG,EAAE,SAAS,GAAG,CAAC;IAE7C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC;QAAE,MAAM,IAAI,UAAU,CAAC,0BAA0B,CAAC,CAAC;IAC3F,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,SAAS,GAAG,CAAC;QAAE,MAAM,IAAI,UAAU,CAAC,uCAAuC,CAAC,CAAC;IACjH,MAAM,EAAE,GAAG,SAAS,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;IACxC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC;IAC9D,MAAM,KAAK,GAAG,CAAC,CAAC,EAAE,GAAG,KAAK,GAAG,IAAI,EAAE,EAAE,GAAG,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,GAAG,EAAE,GAAG,IAAI,EAAE,KAAK,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;IAC/F,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC;IACf,IAAI,MAAM,GAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC;QACxC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;YACnB,MAAM,SAAS,GAAG,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC1C,MAAM,MAAM,GAAuB,EAAE,CAAC;YACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7C,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,GAAG,CAAC,CAAE,EAAE,GAAG,GAAG,SAAS,CAAC,CAAC,CAAE,CAAC;gBACrD,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,GAAG,YAAY,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBACxE,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,KAA2B,EAAE,CAAC;oBAC3D,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;oBACnD,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;oBACnD,IAAI,EAAE,GAAG,EAAE;wBAAE,SAAS;oBACtB,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;oBAC7E,wEAAwE;oBACxE,sEAAsE;oBACtE,MAAM,CAAC,IAAI,CAAC;wBACV,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;wBAC5D,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;qBACzE,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACnC,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC;YACjB,KAAK,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,MAAM,EAAE,CAAC;gBAClC,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC5D,OAAO,GAAG,CAAC,CAAC;oBACZ,MAAM,SAAS,GAAU,CAAC,cAAc,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;oBACpD,IAAI,CAAC,iBAAiB,CAAC,GAAG,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAAE,SAAS;oBAC9E,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;oBAC9C,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,IAAI;wBAAE,SAAS;oBAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,KAAK,CAAC,CAAC;oBACrE,IAAI,GAAG,GAAG,KAAK,EAAE,CAAC;wBAAC,KAAK,GAAG,GAAG,CAAC;wBAAC,MAAM,GAAG,SAAS,CAAC;oBAAC,CAAC;gBACvD,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,KAAK,GAAG,CAAC;QAAE,MAAM,IAAI,UAAU,CAAC,2DAA2D,CAAC,CAAC;IACjG,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AAC3B,CAAC;AAED,0FAA0F;AAC1F,MAAM,UAAU,YAAY,CAC1B,IAAW,EAAE,UAAiB,EAC9B,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,GAAG,cAAc,EAAE,KAAK,GAAG,GAAG,KAAyD,EAAE;IAE9G,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC;QAAE,MAAM,IAAI,UAAU,CAAC,6BAA6B,CAAC,CAAC;IAChG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC;QAAE,MAAM,IAAI,UAAU,CAAC,uBAAuB,CAAC,CAAC;IACvF,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC;QAAE,MAAM,IAAI,UAAU,CAAC,0BAA0B,CAAC,CAAC;IAC3F,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;IAC3E,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IAC9E,MAAM,KAAK,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,GAAG,MAAM,GAAG,MAAM,CAAC;IACrD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7D,MAAM,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG;YAAE,SAAS;QACxC,MAAM,SAAS,GAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/C,IAAI,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC,IAAI,KAAK,IAAI,eAAe,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,KAAK;YAAE,OAAO,CAAC,CAAC;IAC3G,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -114,12 +114,12 @@ export declare const semantic: {
114
114
  readonly alpha: 0.39;
115
115
  };
116
116
  readonly findMatchOther: {
117
- readonly color: readonly [0.4, 0.075, 90];
117
+ readonly color: readonly [0.36, 0.07, 90];
118
118
  readonly alpha: 0.4;
119
119
  };
120
120
  readonly wordHighlight: {
121
- readonly color: Oklch;
122
- readonly alpha: 0.28;
121
+ readonly color: readonly [0.38, 0.2, 264];
122
+ readonly alpha: 0.45;
123
123
  };
124
124
  readonly lineHighlight: {
125
125
  readonly color: Oklch;
package/dist/solve.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { Oklch } from './oklch.js';
2
- import type { OverlayName } from './palette.js';
2
+ import type { Overlay, OverlayName } from './palette.js';
3
3
  export interface Marker {
4
4
  /** Hues to try, in degrees. A marker keeps its meaning inside a narrow band. */
5
5
  readonly hues: readonly number[];
@@ -41,4 +41,27 @@ export declare function binding(colour: Oklch, marker: Marker): Solution['binds'
41
41
  * the comment wants a lighter comment, and one held back by an accent has nothing left.
42
42
  */
43
43
  export declare function solveMarker(marker: Marker): Solution | null;
44
+ export interface OverlaySearch {
45
+ readonly hues: readonly number[];
46
+ /** The surface the overlay has to be seen against. */
47
+ readonly against: Oklch;
48
+ /** Every gate the candidate has to pass: the reading states it joins, and any cue under it. */
49
+ readonly accept: (candidate: Overlay) => boolean;
50
+ /** Optional renderer-specific visibility objective; the default retains emitted-key blending. */
51
+ readonly score?: (candidate: Overlay) => number;
52
+ readonly lightness?: readonly [number, number];
53
+ readonly chroma?: readonly [number, number];
54
+ readonly alpha?: readonly [number, number];
55
+ }
56
+ export interface OverlaySolution {
57
+ readonly overlay: Overlay;
58
+ /** Visibility under the supplied score, or emitted-key OKLab distance by default. */
59
+ readonly distance: number;
60
+ }
61
+ /**
62
+ * The most visible translucent overlay the caller's gates allow. A grid search, so the result
63
+ * is a floor on what the gates permit rather than a proven maximum; the step is what a test
64
+ * compares a shipped value against, not a value to be copied.
65
+ */
66
+ export declare function solveOverlay(search: OverlaySearch): OverlaySolution | null;
44
67
  //# sourceMappingURL=solve.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"solve.d.ts","sourceRoot":"","sources":["../src/solve.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,MAAM,WAAW,MAAM;IACrB,gFAAgF;IAChF,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,mDAAmD;IACnD,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC;IACxB,2DAA2D;IAC3D,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC5C,sFAAsF;IACtF,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,WAAW,EAAE,CAAC,EAAE,CAAC;IACrD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,sEAAsE;IACtE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/C,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7C;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,gFAAgF;IAChF,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,mEAAmE;IACnE,QAAQ,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CACjG;AAUD,8FAA8F;AAC9F,wBAAgB,eAAe,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,GAAG,MAAM,CAI1D;AAED,oFAAoF;AACpF,wBAAgB,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,CAaxE;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAmB3D"}
1
+ {"version":3,"file":"solve.d.ts","sourceRoot":"","sources":["../src/solve.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGzD,MAAM,WAAW,MAAM;IACrB,gFAAgF;IAChF,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,mDAAmD;IACnD,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC;IACxB,2DAA2D;IAC3D,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC5C,sFAAsF;IACtF,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,WAAW,EAAE,CAAC,EAAE,CAAC;IACrD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,sEAAsE;IACtE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/C,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7C;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,gFAAgF;IAChF,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,mEAAmE;IACnE,QAAQ,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CACjG;AAUD,8FAA8F;AAC9F,wBAAgB,eAAe,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,GAAG,MAAM,CAI1D;AAED,oFAAoF;AACpF,wBAAgB,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,CAaxE;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAmB3D;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,sDAAsD;IACtD,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC;IACxB,+FAA+F;IAC/F,QAAQ,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,OAAO,CAAC;IACjD,iGAAiG;IACjG,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,MAAM,CAAC;IAChD,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/C,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5C;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,qFAAqF;IACrF,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAID;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,aAAa,GAAG,eAAe,GAAG,IAAI,CAsB1E"}
package/dist/solve.js CHANGED
@@ -56,4 +56,37 @@ export function solveMarker(marker) {
56
56
  }
57
57
  return best;
58
58
  }
59
+ const OVERLAY_STEP = { lightness: 0.01, chroma: 0.01, alpha: 0.05 };
60
+ /**
61
+ * The most visible translucent overlay the caller's gates allow. A grid search, so the result
62
+ * is a floor on what the gates permit rather than a proven maximum; the step is what a test
63
+ * compares a shipped value against, not a value to be copied.
64
+ */
65
+ export function solveOverlay(search) {
66
+ const [minL, maxL] = search.lightness ?? [0.60, 0.96];
67
+ const [minC, maxC] = search.chroma ?? [0.0, 0.20];
68
+ const [minA, maxA] = search.alpha ?? [0.10, 0.90];
69
+ let best = null;
70
+ for (const hue of search.hues) {
71
+ for (let a = minA; a <= maxA + 1e-9; a += OVERLAY_STEP.alpha) {
72
+ for (let l = minL; l <= maxL + 1e-9; l += OVERLAY_STEP.lightness) {
73
+ for (let c = minC; c <= maxC + 1e-9; c += OVERLAY_STEP.chroma) {
74
+ const colour = [round3(l), round3(c), hue];
75
+ if (!inGamut(colour))
76
+ continue;
77
+ const candidate = { color: colour, alpha: round3(a) };
78
+ const distance = search.score?.(candidate) ??
79
+ distanceEmitted(compositeEmitted(colour, candidate.alpha, search.against), search.against);
80
+ if (best !== null && distance <= best.distance)
81
+ continue;
82
+ if (!search.accept(candidate))
83
+ continue;
84
+ best = { overlay: candidate, distance };
85
+ }
86
+ }
87
+ }
88
+ }
89
+ return best;
90
+ }
91
+ const round3 = (value) => Math.round(value * 1000) / 1000;
59
92
  //# sourceMappingURL=solve.js.map
package/dist/solve.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"solve.js","sourceRoot":"","sources":["../src/solve.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"solve.js","sourceRoot":"","sources":["../src/solve.ts"],"names":[],"mappings":"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"}
package/dist/states.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { Oklch } from './oklch.js';
2
- import type { DiffWashName, NeutralName, Overlay, OverlayName, SyntaxRole } from './palette.js';
2
+ import type { DecorationName, DiffWashName, NeutralName, Overlay, OverlayName, SecondaryDecorationName, SyntaxRole } from './palette.js';
3
3
  export interface ReadingState {
4
4
  readonly name: string;
5
5
  readonly background: Oklch;
@@ -13,6 +13,8 @@ export interface StateSource {
13
13
  };
14
14
  readonly syntax: Record<SyntaxRole, Oklch>;
15
15
  readonly comment: Oklch;
16
+ readonly decoration: Record<DecorationName, Overlay>;
17
+ readonly secondaryDecoration: Record<SecondaryDecorationName, Overlay>;
16
18
  }
17
19
  export declare const SHIPPED: StateSource;
18
20
  export declare const LIGHT_SHIPPED: StateSource;
@@ -23,6 +25,16 @@ declare const surfaces: (source: StateSource) => {
23
25
  findMatch: Oklch;
24
26
  };
25
27
  export type SurfaceName = keyof ReturnType<typeof surfaces>;
28
+ export type StackLayer = OverlayName | DiffWashName | DecorationName | SecondaryDecorationName;
29
+ export declare const RENDER_ORDER: readonly ["lineHighlight", "selection", "inactiveSelection", "mergeCurrentHeader", "mergeCommonHeader", "mergeIncomingHeader", "focusedStackFrame", "stackFrame", "unchangedCode", "findRange", "fold", "removedLine", "addedLine", "mergeChange", "rangeHighlight", "bracketMatch", "removedWord", "addedWord", "covered", "uncovered", "hover", "mergeChangeWord", "searchMatch", "selectionHighlight", "symbol", "wordHighlight", "strongWord", "findMatchOther", "commentRange", "activeCommentRange"];
30
+ export declare const LIGHT_TIER_RATIO = 1.35;
31
+ export declare const LIGHT_TIER: Record<1 | 2 | 3, readonly StackLayer[]>;
32
+ export declare function producible(layers: ReadonlySet<StackLayer>): boolean;
33
+ export declare function covered(layers: ReadonlySet<StackLayer>): boolean;
34
+ export declare const orderStack: (layers: ReadonlySet<StackLayer>) => StackLayer[];
35
+ export declare const stackName: (surface: SurfaceName, layers: readonly StackLayer[]) => string;
36
+ export declare function paintedAlpha(name: StackLayer, authored: number): number;
37
+ export declare function stackBackground(source: StateSource, base: Oklch, layers: readonly StackLayer[]): Oklch;
26
38
  export declare function readingStates(source?: StateSource): ReadingState[];
27
39
  export declare const readingForegrounds: (source?: StateSource) => Record<string, Oklch>;
28
40
  export {};