@kensio/colophon 2.11.0 → 2.11.1

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 (59) hide show
  1. package/README.md +1 -1
  2. package/dist/cli/index.js +0 -0
  3. package/dist/config/index.js +1 -1
  4. package/dist/image/media.d.ts.map +1 -1
  5. package/dist/image/media.js.map +1 -1
  6. package/dist/image/svg.js +1 -1
  7. package/dist/platform/base64.d.ts.map +1 -1
  8. package/dist/platform/base64.js +0 -2
  9. package/dist/platform/base64.js.map +1 -1
  10. package/dist/pool.js +1 -1
  11. package/dist/texture/color.d.ts +10 -0
  12. package/dist/texture/color.d.ts.map +1 -0
  13. package/dist/texture/color.js +10 -0
  14. package/dist/texture/color.js.map +1 -0
  15. package/dist/texture/index.d.ts +2 -1
  16. package/dist/texture/index.d.ts.map +1 -1
  17. package/dist/texture/index.js +6 -1
  18. package/dist/texture/index.js.map +1 -1
  19. package/dist/texture/pattern.d.ts.map +1 -1
  20. package/dist/texture/pattern.js +1 -2
  21. package/dist/texture/pattern.js.map +1 -1
  22. package/dist/texture/resolve.d.ts +5 -4
  23. package/dist/texture/resolve.d.ts.map +1 -1
  24. package/dist/texture/resolve.js +5 -4
  25. package/dist/texture/resolve.js.map +1 -1
  26. package/dist/texture/waves.d.ts +18 -0
  27. package/dist/texture/waves.d.ts.map +1 -0
  28. package/dist/texture/waves.js +55 -0
  29. package/dist/texture/waves.js.map +1 -0
  30. package/dist/types.d.ts +25 -4
  31. package/dist/types.d.ts.map +1 -1
  32. package/dist/validate/keys.d.ts +4 -2
  33. package/dist/validate/keys.d.ts.map +1 -1
  34. package/dist/validate/keys.js +11 -2
  35. package/dist/validate/keys.js.map +1 -1
  36. package/dist/validate/texture.d.ts.map +1 -1
  37. package/dist/validate/texture.js +5 -1
  38. package/dist/validate/texture.js.map +1 -1
  39. package/package.json +23 -24
  40. package/dist/highlight/probe.d.ts +0 -4
  41. package/dist/highlight/probe.d.ts.map +0 -1
  42. package/dist/highlight/probe.js +0 -4
  43. package/dist/highlight/probe.js.map +0 -1
  44. package/dist/jpeg/index.d.ts +0 -10
  45. package/dist/jpeg/index.d.ts.map +0 -1
  46. package/dist/jpeg/index.js +0 -2
  47. package/dist/jpeg/index.js.map +0 -1
  48. package/dist/render/png.d.ts +0 -20
  49. package/dist/render/png.d.ts.map +0 -1
  50. package/dist/render/png.js +0 -29
  51. package/dist/render/png.js.map +0 -1
  52. package/dist/stamp/chunk.d.ts +0 -14
  53. package/dist/stamp/chunk.d.ts.map +0 -1
  54. package/dist/stamp/chunk.js +0 -38
  55. package/dist/stamp/chunk.js.map +0 -1
  56. package/dist/templates/code/ellipsis.d.ts +0 -3
  57. package/dist/templates/code/ellipsis.d.ts.map +0 -1
  58. package/dist/templates/code/ellipsis.js +0 -3
  59. package/dist/templates/code/ellipsis.js.map +0 -1
package/README.md CHANGED
@@ -251,7 +251,7 @@ theme sets and how to override part of one.
251
251
  | --------------------------------- | ---------------------------------------------------------------------------- |
252
252
  | `pnpm build` | Compile to `dist/`. |
253
253
  | `pnpm test`, `pnpm test:coverage` | Run Vitest. |
254
- | `pnpm lint` | ESLint and Prettier check. |
254
+ | `pnpm lint` | Oxlint, ESLint and oxfmt check, run together. |
255
255
  | `pnpm fmt` | Auto-fix. |
256
256
  | `pnpm samples` | Regenerate the sample images into `docs/samples/`. |
257
257
  | `pnpm baselines` | Re-record the visual regression baselines in `test/baselines/`. |
package/dist/cli/index.js CHANGED
File without changes
@@ -19,7 +19,7 @@ export { DEFAULT_CODE_FONT_FAMILY, DEFAULT_CODE_STYLE, DEFAULT_COLORS, DEFAULT_C
19
19
  function warnToConsole(message) {
20
20
  // The console is the point: this is the default sink, replaced wholesale by
21
21
  // a caller-supplied `onWarning`.
22
- // eslint-disable-next-line no-console
22
+ // oxlint-disable-next-line no-console
23
23
  console.warn(`colophon: ${message}`);
24
24
  }
25
25
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../../src/image/media.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,MAAM,MAAM,SAAS,GACnB,WAAW,GAAG,YAAY,GAAG,WAAW,GAAG,YAAY,GAAG,eAAe,CAAC;AAmB5E;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS,CAkBvE"}
1
+ {"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../../src/image/media.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,MAAM,MAAM,SAAS,GACjB,WAAW,GACX,YAAY,GACZ,WAAW,GACX,YAAY,GACZ,eAAe,CAAC;AAmBpB;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS,CAkBvE"}
@@ -1 +1 @@
1
- {"version":3,"file":"media.js","sourceRoot":"","sources":["../../src/image/media.ts"],"names":[],"mappings":"AAIA,SAAS,YAAY,CACnB,KAAiB,EACjB,SAA4B;IAE5B,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;AACjE,CAAC;AAED,2DAA2D;AAC3D,SAAS,QAAQ,CAAC,KAAiB,EAAE,MAAc,EAAE,IAAY;IAC/D,OAAO,KAAK,CAAC,IAAI,CACf,IAAI,EACJ,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,SAAS,EAAE,KAAK,CAAU,CAClD,CAAC,KAAK,CACL,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAC3E,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,KAAiB;IAC9C,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC;QAC1E,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC;QAC5C,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC;QAC/B,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,MAAM,CAAC,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC;QAC7D,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC;AACpD,CAAC;AAED;;;GAGG;AACH,SAAS,KAAK,CAAC,KAAiB;IAC9B,MAAM,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IAC5D,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjC,CAAC"}
1
+ {"version":3,"file":"media.js","sourceRoot":"","sources":["../../src/image/media.ts"],"names":[],"mappings":"AAQA,SAAS,YAAY,CACnB,KAAiB,EACjB,SAA4B;IAE5B,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;AACjE,CAAC;AAED,2DAA2D;AAC3D,SAAS,QAAQ,CAAC,KAAiB,EAAE,MAAc,EAAE,IAAY;IAC/D,OAAO,KAAK,CAAC,IAAI,CACf,IAAI,EACJ,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,SAAS,EAAE,KAAK,CAAU,CAClD,CAAC,KAAK,CACL,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAC3E,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,KAAiB;IAC9C,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC;QAC1E,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC;QAC5C,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC;QAC/B,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,MAAM,CAAC,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC;QAC7D,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC;AACpD,CAAC;AAED;;;GAGG;AACH,SAAS,KAAK,CAAC,KAAiB;IAC9B,MAAM,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IAC5D,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjC,CAAC"}
package/dist/image/svg.js CHANGED
@@ -25,7 +25,7 @@ function length(value) {
25
25
  }
26
26
  // Deliberately parseFloat rather than Number: a length may carry a unit,
27
27
  // and `6em` is six of something rather than not a number.
28
- // eslint-disable-next-line unicorn/prefer-number-coercion
28
+ // oxlint-disable-next-line unicorn/prefer-number-coercion
29
29
  const number = Number.parseFloat(value ?? "");
30
30
  return Number.isFinite(number) && number > 0 ? number : undefined;
31
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"base64.d.ts","sourceRoot":"","sources":["../../src/platform/base64.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAUH,wEAAwE;AACxE,wBAAgB,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAUlD;AAED,4EAA4E;AAI5E,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC,CAKhE"}
1
+ {"version":3,"file":"base64.d.ts","sourceRoot":"","sources":["../../src/platform/base64.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAUH,wEAAwE;AACxE,wBAAgB,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CASlD;AAED,4EAA4E;AAI5E,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC,CAIhE"}
@@ -20,7 +20,6 @@ export function toBase64(bytes) {
20
20
  binary += String.fromCodePoint(...bytes.subarray(at, at + chunkSize));
21
21
  }
22
22
  // `Uint8Array#toBase64` is not on the oldest Node this package supports.
23
- // eslint-disable-next-line unicorn/prefer-uint8array-base64
24
23
  return btoa(binary);
25
24
  }
26
25
  /** Decode it again, for a `data:` URI that arrived carrying its payload. */
@@ -28,7 +27,6 @@ export function toBase64(bytes) {
28
27
  // Crypto will not take a possibly-shared buffer, and a signature is decoded
29
28
  // straight into it.
30
29
  export function fromBase64(text) {
31
- // eslint-disable-next-line unicorn/prefer-uint8array-base64
32
30
  const binary = atob(text);
33
31
  return Uint8Array.from(binary, (character) => character.codePointAt(0) ?? 0);
34
32
  }
@@ -1 +1 @@
1
- {"version":3,"file":"base64.js","sourceRoot":"","sources":["../../src/platform/base64.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;;;GAKG;AACH,MAAM,SAAS,GAAG,OAAO,CAAC;AAE1B,wEAAwE;AACxE,MAAM,UAAU,QAAQ,CAAC,KAAiB;IACxC,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE,EAAE,IAAI,SAAS,EAAE,CAAC;QACpD,MAAM,IAAI,MAAM,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,yEAAyE;IACzE,4DAA4D;IAC5D,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;AACtB,CAAC;AAED,4EAA4E;AAC5E,2EAA2E;AAC3E,4EAA4E;AAC5E,oBAAoB;AACpB,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,4DAA4D;IAC5D,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;IAE1B,OAAO,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC/E,CAAC"}
1
+ {"version":3,"file":"base64.js","sourceRoot":"","sources":["../../src/platform/base64.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;;;GAKG;AACH,MAAM,SAAS,GAAG,OAAO,CAAC;AAE1B,wEAAwE;AACxE,MAAM,UAAU,QAAQ,CAAC,KAAiB;IACxC,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE,EAAE,IAAI,SAAS,EAAE,CAAC;QACpD,MAAM,IAAI,MAAM,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,yEAAyE;IACzE,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;AACtB,CAAC;AAED,4EAA4E;AAC5E,2EAA2E;AAC3E,4EAA4E;AAC5E,oBAAoB;AACpB,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;IAE1B,OAAO,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC/E,CAAC"}
package/dist/pool.js CHANGED
@@ -37,7 +37,7 @@ export async function mapConcurrent(items, limit, worker) {
37
37
  }
38
38
  // Awaiting in the loop is the whole point: a worker takes one item at a
39
39
  // time, and the parallelism comes from there being several of them.
40
- // eslint-disable-next-line no-await-in-loop
40
+ // oxlint-disable-next-line no-await-in-loop
41
41
  results[index] = await worker(item, index);
42
42
  }
43
43
  }
@@ -0,0 +1,10 @@
1
+ /**
2
+ * The colour a texture draws in where the palette did not supply one.
3
+ *
4
+ * `resolveTexture` fills the foreground colour in for anything that came
5
+ * through config, so this is only reached by a texture built by hand, such as
6
+ * one a test or a custom template passes to `textureSvg` directly. It is here
7
+ * rather than in either drawing module because both of them need it.
8
+ */
9
+ export declare const fallbackColor = "#ffffff";
10
+ //# sourceMappingURL=color.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"color.d.ts","sourceRoot":"","sources":["../../src/texture/color.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,YAAY,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * The colour a texture draws in where the palette did not supply one.
3
+ *
4
+ * `resolveTexture` fills the foreground colour in for anything that came
5
+ * through config, so this is only reached by a texture built by hand, such as
6
+ * one a test or a custom template passes to `textureSvg` directly. It is here
7
+ * rather than in either drawing module because both of them need it.
8
+ */
9
+ export const fallbackColor = "#ffffff";
10
+ //# sourceMappingURL=color.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"color.js","sourceRoot":"","sources":["../../src/texture/color.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,SAAS,CAAC"}
@@ -2,7 +2,8 @@ import type { Dimensions, Texture } from "../types.js";
2
2
  export { resolveTexture } from "./resolve.js";
3
3
  /**
4
4
  * Render the treatment laid over a background as SVG, naming whatever it needs
5
- * in `<defs>` after the given `id`.
5
+ * in `<defs>` after the given `id`. Not every treatment needs one: `waves` is
6
+ * plain elements and names nothing.
6
7
  *
7
8
  * It is drawn between the background and whatever a template draws, so a
8
9
  * texture never comes between a headline and the reader.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/texture/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAIvD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C;;;;;;GAMG;AACH,wBAAgB,UAAU,CACxB,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,UAAU,EACtB,EAAE,EAAE,MAAM,GACT,MAAM,CAUR"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/texture/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAKvD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C;;;;;;;GAOG;AACH,wBAAgB,UAAU,CACxB,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,UAAU,EACtB,EAAE,EAAE,MAAM,GACT,MAAM,CAcR"}
@@ -1,9 +1,11 @@
1
1
  import { grainSvg } from "./grain.js";
2
2
  import { dotsSvg, rulesSvg } from "./pattern.js";
3
+ import { wavesSvg } from "./waves.js";
3
4
  export { resolveTexture } from "./resolve.js";
4
5
  /**
5
6
  * Render the treatment laid over a background as SVG, naming whatever it needs
6
- * in `<defs>` after the given `id`.
7
+ * in `<defs>` after the given `id`. Not every treatment needs one: `waves` is
8
+ * plain elements and names nothing.
7
9
  *
8
10
  * It is drawn between the background and whatever a template draws, so a
9
11
  * texture never comes between a headline and the reader.
@@ -15,6 +17,9 @@ export function textureSvg(texture, dimensions, id) {
15
17
  if (texture.type === "dots") {
16
18
  return dotsSvg(texture, dimensions, id);
17
19
  }
20
+ if (texture.type === "waves") {
21
+ return wavesSvg(texture, dimensions);
22
+ }
18
23
  return rulesSvg(texture, dimensions, id);
19
24
  }
20
25
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/texture/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAEjD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CACxB,OAAgB,EAChB,UAAsB,EACtB,EAAU;IAEV,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC7B,OAAO,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC5B,OAAO,OAAO,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,OAAO,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;AAC3C,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/texture/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C;;;;;;;GAOG;AACH,MAAM,UAAU,UAAU,CACxB,OAAgB,EAChB,UAAsB,EACtB,EAAU;IAEV,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC7B,OAAO,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC5B,OAAO,OAAO,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC7B,OAAO,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACvC,CAAC;IAED,OAAO,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;AAC3C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"pattern.d.ts","sourceRoot":"","sources":["../../src/texture/pattern.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAiCvD,qCAAqC;AACrC,wBAAgB,OAAO,CACrB,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,EACpD,UAAU,EAAE,UAAU,EACtB,EAAE,EAAE,MAAM,GACT,MAAM,CAgBR;AAED;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CACtB,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC,EACrD,UAAU,EAAE,UAAU,EACtB,EAAE,EAAE,MAAM,GACT,MAAM,CAiBR"}
1
+ {"version":3,"file":"pattern.d.ts","sourceRoot":"","sources":["../../src/texture/pattern.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AA+BvD,qCAAqC;AACrC,wBAAgB,OAAO,CACrB,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,EACpD,UAAU,EAAE,UAAU,EACtB,EAAE,EAAE,MAAM,GACT,MAAM,CAgBR;AAED;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CACtB,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC,EACrD,UAAU,EAAE,UAAU,EACtB,EAAE,EAAE,MAAM,GACT,MAAM,CAiBR"}
@@ -1,5 +1,4 @@
1
- /** Used where the palette did not supply one, so a texture always draws. */
2
- const fallbackColor = "#ffffff";
1
+ import { fallbackColor } from "./color.js";
3
2
  const dotDefaults = { opacity: 0.08, size: 5, gap: 44 };
4
3
  const ruleDefaults = { opacity: 0.06, width: 2, gap: 28, angle: 45 };
5
4
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"pattern.js","sourceRoot":"","sources":["../../src/texture/pattern.ts"],"names":[],"mappings":"AAEA,4EAA4E;AAC5E,MAAM,aAAa,GAAG,SAAS,CAAC;AAEhC,MAAM,WAAW,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;AACxD,MAAM,YAAY,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;AAErE;;;GAGG;AACH,SAAS,IAAI,CACX,EAAU,EACV,GAAW,EACX,QAAgB,EAChB,SAAiB,EACjB,UAAsB,EACtB,OAAe;IAEf,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC;IACrC,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAEzB,OAAO,CACL,QAAQ;QACR,gBAAgB,EAAE,YAAY,IAAI,aAAa,IAAI,GAAG;QACtD,iCAAiC,SAAS,IAAI,QAAQ,YAAY;QAClE,SAAS;QACT,gBAAgB,MAAM,CAAC,KAAK,CAAC,aAAa,MAAM,CAAC,MAAM,CAAC,GAAG;QAC3D,eAAe,EAAE,eAAe,MAAM,CAAC,OAAO,CAAC,KAAK,CACrD,CAAC;AACJ,CAAC;AAED,qCAAqC;AACrC,MAAM,UAAU,OAAO,CACrB,OAAoD,EACpD,UAAsB,EACtB,EAAU;IAEV,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,WAAW,CAAC,GAAG,CAAC;IAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAC/B,MAAM,GAAG,GACP,eAAe,MAAM,SAAS,MAAM,GAAG;QACvC,OAAO,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG;QACxD,UAAU,OAAO,CAAC,KAAK,IAAI,aAAa,KAAK,CAAC;IAEhD,OAAO,IAAI,CACT,EAAE,EACF,GAAG,EACH,GAAG,EACH,EAAE,EACF,UAAU,EACV,OAAO,CAAC,OAAO,IAAI,WAAW,CAAC,OAAO,CACvC,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,QAAQ,CACtB,OAAqD,EACrD,UAAsB,EACtB,EAAU;IAEV,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,YAAY,CAAC,GAAG,CAAC;IAC5C,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAC1B,MAAM,IAAI,GACR,aAAa,CAAC,gBAAgB,CAAC,SAAS,MAAM,CAAC,GAAG,CAAC,GAAG;QACtD,YAAY,OAAO,CAAC,KAAK,IAAI,aAAa,GAAG;QAC7C,kBAAkB,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC;IACrE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,YAAY,CAAC,KAAK,CAAC;IAElD,OAAO,IAAI,CACT,EAAE,EACF,GAAG,EACH,IAAI,EACJ,6BAA6B,MAAM,CAAC,KAAK,CAAC,IAAI,EAC9C,UAAU,EACV,OAAO,CAAC,OAAO,IAAI,YAAY,CAAC,OAAO,CACxC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"pattern.js","sourceRoot":"","sources":["../../src/texture/pattern.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,WAAW,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;AACxD,MAAM,YAAY,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;AAErE;;;GAGG;AACH,SAAS,IAAI,CACX,EAAU,EACV,GAAW,EACX,QAAgB,EAChB,SAAiB,EACjB,UAAsB,EACtB,OAAe;IAEf,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC;IACrC,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAEzB,OAAO,CACL,QAAQ;QACR,gBAAgB,EAAE,YAAY,IAAI,aAAa,IAAI,GAAG;QACtD,iCAAiC,SAAS,IAAI,QAAQ,YAAY;QAClE,SAAS;QACT,gBAAgB,MAAM,CAAC,KAAK,CAAC,aAAa,MAAM,CAAC,MAAM,CAAC,GAAG;QAC3D,eAAe,EAAE,eAAe,MAAM,CAAC,OAAO,CAAC,KAAK,CACrD,CAAC;AACJ,CAAC;AAED,qCAAqC;AACrC,MAAM,UAAU,OAAO,CACrB,OAAoD,EACpD,UAAsB,EACtB,EAAU;IAEV,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,WAAW,CAAC,GAAG,CAAC;IAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAC/B,MAAM,GAAG,GACP,eAAe,MAAM,SAAS,MAAM,GAAG;QACvC,OAAO,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG;QACxD,UAAU,OAAO,CAAC,KAAK,IAAI,aAAa,KAAK,CAAC;IAEhD,OAAO,IAAI,CACT,EAAE,EACF,GAAG,EACH,GAAG,EACH,EAAE,EACF,UAAU,EACV,OAAO,CAAC,OAAO,IAAI,WAAW,CAAC,OAAO,CACvC,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,QAAQ,CACtB,OAAqD,EACrD,UAAsB,EACtB,EAAU;IAEV,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,YAAY,CAAC,GAAG,CAAC;IAC5C,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAC1B,MAAM,IAAI,GACR,aAAa,CAAC,gBAAgB,CAAC,SAAS,MAAM,CAAC,GAAG,CAAC,GAAG;QACtD,YAAY,OAAO,CAAC,KAAK,IAAI,aAAa,GAAG;QAC7C,kBAAkB,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC;IACrE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,YAAY,CAAC,KAAK,CAAC;IAElD,OAAO,IAAI,CACT,EAAE,EACF,GAAG,EACH,IAAI,EACJ,6BAA6B,MAAM,CAAC,KAAK,CAAC,IAAI,EAC9C,UAAU,EACV,OAAO,CAAC,OAAO,IAAI,YAAY,CAAC,OAAO,CACxC,CAAC;AACJ,CAAC"}
@@ -3,10 +3,11 @@ import type { BrandColors, Texture } from "../types.js";
3
3
  * Fill in the colour a texture left open, from the palette it will be drawn
4
4
  * over.
5
5
  *
6
- * A dot grid or a set of rules has to be the foreground colour by default,
7
- * because that is the one colour known to contrast with the background: a
8
- * fixed white would disappear on a light theme, which is a texture that
9
- * silently does nothing. Grain has no colour to fill in, being noise.
6
+ * A dot grid, a set of rules or a set of rings has to be the foreground colour
7
+ * by default, because that is the one colour known to contrast with the
8
+ * background: a fixed white would disappear on a light theme, which is a
9
+ * texture that silently does nothing. Grain has no colour to fill in, being
10
+ * noise.
10
11
  *
11
12
  * It happens here rather than while drawing so that the resolved config says
12
13
  * what will actually be drawn, which is also what the rebuild stamp hashes: a
@@ -1 +1 @@
1
- {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/texture/resolve.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAExD;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,OAAO,GAAG,SAAS,EAC5B,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,GAC5B,OAAO,GAAG,SAAS,CAMrB"}
1
+ {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/texture/resolve.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAExD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,OAAO,GAAG,SAAS,EAC5B,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,GAC5B,OAAO,GAAG,SAAS,CAMrB"}
@@ -2,10 +2,11 @@
2
2
  * Fill in the colour a texture left open, from the palette it will be drawn
3
3
  * over.
4
4
  *
5
- * A dot grid or a set of rules has to be the foreground colour by default,
6
- * because that is the one colour known to contrast with the background: a
7
- * fixed white would disappear on a light theme, which is a texture that
8
- * silently does nothing. Grain has no colour to fill in, being noise.
5
+ * A dot grid, a set of rules or a set of rings has to be the foreground colour
6
+ * by default, because that is the one colour known to contrast with the
7
+ * background: a fixed white would disappear on a light theme, which is a
8
+ * texture that silently does nothing. Grain has no colour to fill in, being
9
+ * noise.
9
10
  *
10
11
  * It happens here rather than while drawing so that the resolved config says
11
12
  * what will actually be drawn, which is also what the rebuild stamp hashes: a
@@ -1 +1 @@
1
- {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/texture/resolve.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,cAAc,CAC5B,OAA4B,EAC5B,MAA6B;IAE7B,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACtD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,GAAG,OAAO,EAAE,CAAC;AAClD,CAAC"}
1
+ {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/texture/resolve.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,cAAc,CAC5B,OAA4B,EAC5B,MAA6B;IAE7B,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACtD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,GAAG,OAAO,EAAE,CAAC;AAClD,CAAC"}
@@ -0,0 +1,18 @@
1
+ import type { Dimensions, Texture } from "../types.js";
2
+ /**
3
+ * Two sets of concentric rings, one from the middle of each side edge.
4
+ *
5
+ * Unlike the dot grid and the ruled lines this is not a tile, and it cannot be
6
+ * one: what makes it worth looking at is the interference between the two
7
+ * sets, which is different everywhere on the image.
8
+ *
9
+ * It is a few dozen circles to draw and expensive to store, which are not the
10
+ * same thing. Antialiased curves put a different set of colours in every row,
11
+ * so a 1200x1200 PNG goes from around 80KB to around 620KB at the default gap,
12
+ * against 100KB for the dot grid. `gap` is the only real lever on that, and
13
+ * the docs say so.
14
+ */
15
+ export declare function wavesSvg(texture: Extract<Texture, {
16
+ readonly type: "waves";
17
+ }>, dimensions: Dimensions): string;
18
+ //# sourceMappingURL=waves.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"waves.d.ts","sourceRoot":"","sources":["../../src/texture/waves.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AA4DvD;;;;;;;;;;;;GAYG;AACH,wBAAgB,QAAQ,CACtB,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC,EACrD,UAAU,EAAE,UAAU,GACrB,MAAM,CAaR"}
@@ -0,0 +1,55 @@
1
+ import { fallbackColor } from "./color.js";
2
+ const wavesDefaults = { opacity: 0.14, width: 2, gap: 24 };
3
+ /**
4
+ * How much fainter the set drawn from the right is than the set from the left.
5
+ *
6
+ * Two sets at one opacity read as two sets of rings, because the eye follows
7
+ * whichever arc it is on. Dropping one of them is what turns the crossings
8
+ * into a single surface with a grain to it, and it is the same trick that
9
+ * keeps a flat tile from reading as graph paper.
10
+ */
11
+ const secondaryScale = 0.65;
12
+ /**
13
+ * Rings around one centre at `gap` apart, out to the furthest corner of the
14
+ * image, which is where the pattern stops being able to cover anything.
15
+ *
16
+ * Nothing clips them: a circle drawn past the edge of the image is outside the
17
+ * SVG's viewport and simply is not painted.
18
+ */
19
+ function rings(centre, dimensions, gap) {
20
+ const furthest = Math.hypot(Math.max(centre.x, dimensions.width - centre.x), Math.max(centre.y, dimensions.height - centre.y));
21
+ let out = "";
22
+ for (let ring = 1; ring * gap <= furthest; ring += 1) {
23
+ out +=
24
+ `<circle cx="${String(centre.x)}" cy="${String(centre.y)}"` +
25
+ ` r="${String(Math.round(ring * gap))}"/>`;
26
+ }
27
+ return out;
28
+ }
29
+ /** One set of rings, with the stroke named once on the group. */
30
+ function family(centre, dimensions, texture, opacity) {
31
+ const gap = texture.gap ?? wavesDefaults.gap;
32
+ return (`<g fill="none" stroke="${texture.color ?? fallbackColor}"` +
33
+ ` stroke-width="${String(texture.width ?? wavesDefaults.width)}"` +
34
+ ` opacity="${String(opacity)}">${rings(centre, dimensions, gap)}</g>`);
35
+ }
36
+ /**
37
+ * Two sets of concentric rings, one from the middle of each side edge.
38
+ *
39
+ * Unlike the dot grid and the ruled lines this is not a tile, and it cannot be
40
+ * one: what makes it worth looking at is the interference between the two
41
+ * sets, which is different everywhere on the image.
42
+ *
43
+ * It is a few dozen circles to draw and expensive to store, which are not the
44
+ * same thing. Antialiased curves put a different set of colours in every row,
45
+ * so a 1200x1200 PNG goes from around 80KB to around 620KB at the default gap,
46
+ * against 100KB for the dot grid. `gap` is the only real lever on that, and
47
+ * the docs say so.
48
+ */
49
+ export function wavesSvg(texture, dimensions) {
50
+ const opacity = texture.opacity ?? wavesDefaults.opacity;
51
+ const middle = Math.round(dimensions.height / 2);
52
+ return (family({ x: 0, y: middle }, dimensions, texture, opacity) +
53
+ family({ x: dimensions.width, y: middle }, dimensions, texture, Math.round(opacity * secondaryScale * 1000) / 1000));
54
+ }
55
+ //# sourceMappingURL=waves.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"waves.js","sourceRoot":"","sources":["../../src/texture/waves.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,aAAa,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;AAE3D;;;;;;;GAOG;AACH,MAAM,cAAc,GAAG,IAAI,CAAC;AAO5B;;;;;;GAMG;AACH,SAAS,KAAK,CAAC,MAAc,EAAE,UAAsB,EAAE,GAAW;IAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CACzB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,UAAU,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,EAC/C,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CACjD,CAAC;IAEF,IAAI,GAAG,GAAG,EAAE,CAAC;IAEb,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,GAAG,IAAI,QAAQ,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC;QACrD,GAAG;YACD,eAAe,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG;gBAC3D,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC;IAC/C,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED,iEAAiE;AACjE,SAAS,MAAM,CACb,MAAc,EACd,UAAsB,EACtB,OAAqD,EACrD,OAAe;IAEf,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,aAAa,CAAC,GAAG,CAAC;IAE7C,OAAO,CACL,0BAA0B,OAAO,CAAC,KAAK,IAAI,aAAa,GAAG;QAC3D,kBAAkB,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,aAAa,CAAC,KAAK,CAAC,GAAG;QACjE,aAAa,MAAM,CAAC,OAAO,CAAC,KAAK,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,CAAC,MAAM,CACtE,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,QAAQ,CACtB,OAAqD,EACrD,UAAsB;IAEtB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,aAAa,CAAC,OAAO,CAAC;IACzD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAEjD,OAAO,CACL,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC;QACzD,MAAM,CACJ,EAAE,CAAC,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,EAClC,UAAU,EACV,OAAO,EACP,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,cAAc,GAAG,IAAI,CAAC,GAAG,IAAI,CACnD,CACF,CAAC;AACJ,CAAC"}
package/dist/types.d.ts CHANGED
@@ -130,10 +130,10 @@ export type Background = {
130
130
  * A treatment laid over the background, under everything a template draws.
131
131
  *
132
132
  * A flat fill or a gradient is clean but a little bare, and these are the
133
- * cheap ways to give one some surface: film grain, a dot grid, or ruled
134
- * lines. All three are a few elements of SVG rather than an image to load,
135
- * and all three are meant to be felt rather than seen, so the defaults are
136
- * faint.
133
+ * cheap ways to give one some surface: film grain, a dot grid, ruled lines, or
134
+ * rings drawn in from either side. Each of them is a few elements of SVG
135
+ * rather than an image to load, and each is meant to be felt rather than seen,
136
+ * so the defaults are faint.
137
137
  *
138
138
  * Lengths are in pixels at the size being rendered, so a texture is a little
139
139
  * finer on a large image than on a small one, which is what keeps a dot grid
@@ -171,6 +171,27 @@ export type Texture = {
171
171
  readonly gap?: number;
172
172
  /** Degrees clockwise from vertical. Defaults to `45`. */
173
173
  readonly angle?: number;
174
+ } | {
175
+ /**
176
+ * Concentric rings centred on the middle of each side edge, so that the
177
+ * two sets cross each other. What is seen is the interference between
178
+ * them, which reads as curves flowing across the image rather than as
179
+ * the circles it is drawn from, and which never repeats the way a tiled
180
+ * pattern does.
181
+ */
182
+ readonly type: "waves";
183
+ /** Defaults to the foreground colour. */
184
+ readonly color?: string;
185
+ /**
186
+ * Opacity of the set drawn from the left. The set from the right is
187
+ * drawn fainter, which is what makes the crossings read as one surface.
188
+ * Defaults to `0.14`.
189
+ */
190
+ readonly opacity?: number;
191
+ /** Ring thickness. Defaults to `2`. */
192
+ readonly width?: number;
193
+ /** Distance between one ring and the next. Defaults to `24`. */
194
+ readonly gap?: number;
174
195
  };
175
196
  /**
176
197
  * A named preset: a palette, a background and, for some of them, a texture.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -76,10 +76,12 @@ export declare const grainTextureKeys: readonly string[];
76
76
  export declare const dotsTextureKeys: readonly string[];
77
77
  /** Keys of ruled lines. */
78
78
  export declare const rulesTextureKeys: readonly string[];
79
+ /** Keys of the rings drawn in from either side. */
80
+ export declare const wavesTextureKeys: readonly string[];
79
81
  /**
80
82
  * The texture variants, as values, for the reason {@link backgroundTypes} are:
81
- * the three have different keys, so a mistyped `type` has to be reported as
82
- * itself rather than as a list of keys that do not apply.
83
+ * they have different keys, so a mistyped `type` has to be reported as itself
84
+ * rather than as a list of keys that do not apply.
83
85
  */
84
86
  export declare const textureTypes: readonly string[];
85
87
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../src/validate/keys.ts"],"names":[],"mappings":"AAsDA,gCAAgC;AAChC,eAAO,MAAM,UAAU,mBA0BrB,CAAC;AAEH,kEAAkE;AAClE,eAAO,MAAM,iBAAiB,mBAI5B,CAAC;AAEH,kEAAkE;AAClE,eAAO,MAAM,aAAa,mBAKxB,CAAC;AAEH,iEAAiE;AACjE,eAAO,MAAM,mBAAmB,mBAI9B,CAAC;AAEH;;;;;;;;;GASG;AACH,eAAO,MAAM,mBAAmB,mBAQ9B,CAAC;AAEH,2CAA2C;AAC3C,eAAO,MAAM,SAAS,mBAIpB,CAAC;AAEH,uDAAuD;AACvD,eAAO,MAAM,WAAW,mBAQtB,CAAC;AAEH,4BAA4B;AAC5B,eAAO,MAAM,SAAS,mBAKpB,CAAC;AAEH,4BAA4B;AAC5B,eAAO,MAAM,SAAS,mBAIpB,CAAC;AAEH,uCAAuC;AACvC,eAAO,MAAM,QAAQ,mBAQnB,CAAC;AAEH,6DAA6D;AAC7D,eAAO,MAAM,QAAQ,mBAanB,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,QAAQ,UAKpB,CAAC;AAEF,kCAAkC;AAClC,eAAO,MAAM,mBAAmB,mBAG9B,CAAC;AAEH,iDAAiD;AACjD,eAAO,MAAM,mBAAmB,mBAM9B,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,cAAc,mBAKzB,CAAC;AAEH,gDAAgD;AAChD,eAAO,MAAM,SAAS,mBAIpB,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,eAAe,UAK3B,CAAC;AAEF,qCAAqC;AACrC,eAAO,MAAM,sBAAsB,mBAKjC,CAAC;AAEH,iCAAiC;AACjC,eAAO,MAAM,gBAAgB,mBAG3B,CAAC;AAEH,mDAAmD;AACnD,eAAO,MAAM,iBAAiB,mBAAiD,CAAC;AAEhF,iCAAiC;AACjC,eAAO,MAAM,kBAAkB,mBAI7B,CAAC;AAEH,kCAAkC;AAClC,eAAO,MAAM,YAAY,mBAMvB,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,eAAe,mBAK1B,CAAC;AAEH,0BAA0B;AAC1B,eAAO,MAAM,gBAAgB,mBAI3B,CAAC;AAEH,0BAA0B;AAC1B,eAAO,MAAM,eAAe,mBAM1B,CAAC;AAEH,2BAA2B;AAC3B,eAAO,MAAM,gBAAgB,mBAO3B,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,YAAY,mBAIvB,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,aAAa,mBAKxB,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,cAAc,mBAGzB,CAAC"}
1
+ {"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../src/validate/keys.ts"],"names":[],"mappings":"AAuDA,gCAAgC;AAChC,eAAO,MAAM,UAAU,mBA0BrB,CAAC;AAEH,kEAAkE;AAClE,eAAO,MAAM,iBAAiB,mBAI5B,CAAC;AAEH,kEAAkE;AAClE,eAAO,MAAM,aAAa,mBAKxB,CAAC;AAEH,iEAAiE;AACjE,eAAO,MAAM,mBAAmB,mBAI9B,CAAC;AAEH;;;;;;;;;GASG;AACH,eAAO,MAAM,mBAAmB,mBAQ9B,CAAC;AAEH,2CAA2C;AAC3C,eAAO,MAAM,SAAS,mBAIpB,CAAC;AAEH,uDAAuD;AACvD,eAAO,MAAM,WAAW,mBAQtB,CAAC;AAEH,4BAA4B;AAC5B,eAAO,MAAM,SAAS,mBAKpB,CAAC;AAEH,4BAA4B;AAC5B,eAAO,MAAM,SAAS,mBAIpB,CAAC;AAEH,uCAAuC;AACvC,eAAO,MAAM,QAAQ,mBAQnB,CAAC;AAEH,6DAA6D;AAC7D,eAAO,MAAM,QAAQ,mBAanB,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,QAAQ,UAKpB,CAAC;AAEF,kCAAkC;AAClC,eAAO,MAAM,mBAAmB,mBAG9B,CAAC;AAEH,iDAAiD;AACjD,eAAO,MAAM,mBAAmB,mBAM9B,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,cAAc,mBAKzB,CAAC;AAEH,gDAAgD;AAChD,eAAO,MAAM,SAAS,mBAIpB,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,eAAe,UAK3B,CAAC;AAEF,qCAAqC;AACrC,eAAO,MAAM,sBAAsB,mBAKjC,CAAC;AAEH,iCAAiC;AACjC,eAAO,MAAM,gBAAgB,mBAG3B,CAAC;AAEH,mDAAmD;AACnD,eAAO,MAAM,iBAAiB,mBAAiD,CAAC;AAEhF,iCAAiC;AACjC,eAAO,MAAM,kBAAkB,mBAI7B,CAAC;AAEH,kCAAkC;AAClC,eAAO,MAAM,YAAY,mBAMvB,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,eAAe,mBAK1B,CAAC;AAEH,0BAA0B;AAC1B,eAAO,MAAM,gBAAgB,mBAI3B,CAAC;AAEH,0BAA0B;AAC1B,eAAO,MAAM,eAAe,mBAM1B,CAAC;AAEH,2BAA2B;AAC3B,eAAO,MAAM,gBAAgB,mBAO3B,CAAC;AAEH,mDAAmD;AACnD,eAAO,MAAM,gBAAgB,mBAM3B,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,YAAY,mBAKvB,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,aAAa,mBAKxB,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,cAAc,mBAGzB,CAAC"}
@@ -240,15 +240,24 @@ export const rulesTextureKeys = knownKeys({
240
240
  gap: true,
241
241
  angle: true,
242
242
  });
243
+ /** Keys of the rings drawn in from either side. */
244
+ export const wavesTextureKeys = knownKeys({
245
+ type: true,
246
+ color: true,
247
+ opacity: true,
248
+ width: true,
249
+ gap: true,
250
+ });
243
251
  /**
244
252
  * The texture variants, as values, for the reason {@link backgroundTypes} are:
245
- * the three have different keys, so a mistyped `type` has to be reported as
246
- * itself rather than as a list of keys that do not apply.
253
+ * they have different keys, so a mistyped `type` has to be reported as itself
254
+ * rather than as a list of keys that do not apply.
247
255
  */
248
256
  export const textureTypes = knownKeys({
249
257
  grain: true,
250
258
  dots: true,
251
259
  rules: true,
260
+ waves: true,
252
261
  });
253
262
  /**
254
263
  * The output formats, as values, for the reason {@link backgroundTypes} are:
@@ -1 +1 @@
1
- {"version":3,"file":"keys.js","sourceRoot":"","sources":["../../src/validate/keys.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"keys.js","sourceRoot":"","sources":["../../src/validate/keys.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"texture.d.ts","sourceRoot":"","sources":["../../src/validate/texture.ts"],"names":[],"mappings":"AASA;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAAE,GACjB,IAAI,CA2BN"}
1
+ {"version":3,"file":"texture.d.ts","sourceRoot":"","sources":["../../src/validate/texture.ts"],"names":[],"mappings":"AAUA;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAAE,GACjB,IAAI,CAgCN"}
@@ -1,5 +1,5 @@
1
1
  import { checkKeys, isRecord } from "./check.js";
2
- import { dotsTextureKeys, grainTextureKeys, rulesTextureKeys, textureTypes, } from "./keys.js";
2
+ import { dotsTextureKeys, grainTextureKeys, rulesTextureKeys, textureTypes, wavesTextureKeys, } from "./keys.js";
3
3
  import { describeUnknownValue } from "./values.js";
4
4
  /**
5
5
  * Check a texture against the keys of whichever treatment it declares.
@@ -27,6 +27,10 @@ export function checkTexture(texture, path, problems) {
27
27
  checkKeys(texture, path, rulesTextureKeys, problems);
28
28
  return;
29
29
  }
30
+ if (type === "waves") {
31
+ checkKeys(texture, path, wavesTextureKeys, problems);
32
+ return;
33
+ }
30
34
  if (typeof type === "string") {
31
35
  problems.push(describeUnknownValue("texture type", "types", type, textureTypes));
32
36
  }
@@ -1 +1 @@
1
- {"version":3,"file":"texture.js","sourceRoot":"","sources":["../../src/validate/texture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,GACb,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEnD;;;;;;;;GAQG;AACH,MAAM,UAAU,YAAY,CAC1B,OAAgB,EAChB,IAAY,EACZ,QAAkB;IAElB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACvB,OAAO;IACT,CAAC;IAED,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IAEzB,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACrB,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,CAAC,CAAC;QACrD,OAAO;IACT,CAAC;IAED,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC;QACpD,OAAO;IACT,CAAC;IAED,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACrB,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,CAAC,CAAC;QACrD,OAAO;IACT,CAAC;IAED,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,QAAQ,CAAC,IAAI,CACX,oBAAoB,CAAC,cAAc,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,CAAC,CAClE,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"texture.js","sourceRoot":"","sources":["../../src/validate/texture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,GACjB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEnD;;;;;;;;GAQG;AACH,MAAM,UAAU,YAAY,CAC1B,OAAgB,EAChB,IAAY,EACZ,QAAkB;IAElB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACvB,OAAO;IACT,CAAC;IAED,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IAEzB,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACrB,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,CAAC,CAAC;QACrD,OAAO;IACT,CAAC;IAED,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC;QACpD,OAAO;IACT,CAAC;IAED,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACrB,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,CAAC,CAAC;QACrD,OAAO;IACT,CAAC;IAED,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACrB,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,CAAC,CAAC;QACrD,OAAO;IACT,CAAC;IAED,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,QAAQ,CAAC,IAAI,CACX,oBAAoB,CAAC,cAAc,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,CAAC,CAClE,CAAC;IACJ,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -2,13 +2,10 @@
2
2
  "name": "@kensio/colophon",
3
3
  "description": "Generate social meta images for posts from frontmatter",
4
4
  "author": "Kensio Software",
5
- "repository": {
6
- "type": "git",
7
- "url": "https://github.com/KensioSoftware/colophon"
8
- },
5
+ "repository": "https://github.com/KensioSoftware/colophon",
9
6
  "homepage": "https://github.com/KensioSoftware/colophon#readme",
10
7
  "license": "Apache-2.0",
11
- "version": "2.11.0",
8
+ "version": "2.11.1",
12
9
  "type": "module",
13
10
  "main": "./dist/index.js",
14
11
  "types": "./dist/index.d.ts",
@@ -55,9 +52,23 @@
55
52
  "access": "public"
56
53
  },
57
54
  "sideEffects": false,
55
+ "packageManager": "pnpm@11.17.0+sha512.cca3cea332ad254bb84145f966d19f4879615210346fc92c79a047f23a0d7b3cca3c3792f0076ba1f1831d277efbcf0a9119b31a9a60eca7fb3d6231f331ef72",
58
56
  "engines": {
59
57
  "node": ">=22.2.0"
60
58
  },
59
+ "scripts": {
60
+ "build": "tsc -p tsconfig.build.json",
61
+ "prepack": "pnpm build",
62
+ "build:check": "tsc -p tsconfig.json --noEmit",
63
+ "fmt": "oxlint --fix && eslint --fix . && oxfmt",
64
+ "lint": "./scripts/sh/lint.sh",
65
+ "test": "vitest run",
66
+ "test:coverage": "vitest run --coverage",
67
+ "samples": "pnpm build && node scripts/gen-samples.ts",
68
+ "baselines": "COLOPHON_UPDATE_BASELINES=1 vitest run src/visual.test.ts",
69
+ "fta": "./scripts/sh/fta.sh",
70
+ "check": "pnpm fmt && pnpm fta && pnpm build:check && pnpm build && pnpm test:coverage"
71
+ },
61
72
  "keywords": [
62
73
  "open-graph",
63
74
  "og-image",
@@ -73,25 +84,25 @@
73
84
  "shiki"
74
85
  ],
75
86
  "devDependencies": {
76
- "@eslint/js": "^10.0.1",
77
87
  "@kensio/smartass": "^1.33.0",
88
+ "@semantic-release/exec": "7.1.0",
78
89
  "@types/eslint-plugin-security": "^3.0.1",
79
90
  "@types/fontkit": "^2.0.9",
80
91
  "@types/node": "^26.0.0",
81
92
  "@typescript/native": "npm:typescript@^7.0.2",
82
93
  "@vitest/coverage-v8": "^4.1.10",
83
- "@vitest/eslint-plugin": "^1.6.22",
94
+ "conventional-changelog-conventionalcommits": "9.3.1",
84
95
  "dejavu-fonts-ttf": "^2.37.3",
85
96
  "eslint": "^10.6.0",
86
- "eslint-config-prettier": "^10.1.8",
87
97
  "eslint-plugin-jsdoc": "^63.0.13",
88
98
  "eslint-plugin-no-secrets": "^2.3.3",
89
99
  "eslint-plugin-security": "^4.0.1",
90
- "eslint-plugin-unicorn": "^71.1.0",
91
100
  "fta-cli": "^3.0.0",
92
- "globals": "^17.7.0",
93
101
  "jiti": "^2.7.0",
94
- "prettier": "^3.9.5",
102
+ "oxfmt": "^0.62.0",
103
+ "oxlint": "^1.77.0",
104
+ "oxlint-tsgolint": "^7.0.2001",
105
+ "semantic-release": "25.0.9",
95
106
  "typescript": "npm:@typescript/typescript6@^6.0.2",
96
107
  "typescript-eslint": "^8.63.0",
97
108
  "vitest": "^4.1.10"
@@ -103,17 +114,5 @@
103
114
  "gray-matter": "^4.0.3",
104
115
  "sharp": "^0.35.3",
105
116
  "shiki": "^4.3.1"
106
- },
107
- "scripts": {
108
- "build": "tsc -p tsconfig.build.json",
109
- "build:check": "tsc -p tsconfig.json --noEmit",
110
- "fmt": "eslint --fix . && prettier --write .",
111
- "lint": "eslint . && prettier --check .",
112
- "test": "vitest run",
113
- "test:coverage": "vitest run --coverage",
114
- "samples": "pnpm build && node scripts/gen-samples.ts",
115
- "baselines": "COLOPHON_UPDATE_BASELINES=1 vitest run src/visual.test.ts",
116
- "fta": "./scripts/sh/fta.sh",
117
- "check": "pnpm fmt && pnpm fta && pnpm build:check && pnpm build && pnpm test:coverage"
118
117
  }
119
- }
118
+ }
@@ -1,4 +0,0 @@
1
- export declare const probeFromInfo: {
2
- [k: string]: import("shiki").DynamicImportThemeRegistration;
3
- };
4
- //# sourceMappingURL=probe.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"probe.d.ts","sourceRoot":"","sources":["../../src/highlight/probe.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,aAAa;;CAEzB,CAAC"}
@@ -1,4 +0,0 @@
1
- /* eslint-disable */
2
- import { bundledThemesInfo } from "shiki";
3
- export const probeFromInfo = Object.fromEntries(bundledThemesInfo.map((i) => [i.id, i.import]));
4
- //# sourceMappingURL=probe.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"probe.js","sourceRoot":"","sources":["../../src/highlight/probe.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAE1C,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,WAAW,CAC7C,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAC/C,CAAC"}
@@ -1,10 +0,0 @@
1
- /**
2
- * Reading the JPEG container itself, as against the picture in it.
3
- *
4
- * The counterpart of `png/`, and here for the same reason: two things in the
5
- * package have to walk a JPEG's segments, the size reader that a template draws
6
- * a logo from and the rebuild stamp that a build writes into a comment.
7
- */
8
- export type { JpegSegment } from "./segments.js";
9
- export { jpegSegments } from "./segments.js";
10
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/jpeg/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC"}
@@ -1,2 +0,0 @@
1
- export { jpegSegments } from "./segments.js";
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/jpeg/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC"}
@@ -1,20 +0,0 @@
1
- import type { Dimensions, ResolvedConfig } from "../types.js";
2
- /**
3
- * Rasterise an SVG string to image bytes at `dimensions`.
4
- *
5
- * Every path that produces an image goes through here, so this is the one place
6
- * the configured rasteriser has to be chosen. A project that supplies its own
7
- * gets it used by `renderMetaImages`, by `generate` and by `colophon preview`
8
- * alike, none of which knows there was a choice to make.
9
- *
10
- * It is also where the bytes are compressed again, for the same reason and on
11
- * the same terms: an image is worth shrinking whoever asked for it, and a
12
- * caller taking the bytes away to write itself should not have to know that the
13
- * rasteriser left three quarters of the saving on the table.
14
- *
15
- * The name is what it was before the backend became configurable. PNG is still
16
- * what comes back by default, and renaming this would break every caller to say
17
- * something the config already says.
18
- */
19
- export declare function renderSvgToPng(svg: string, dimensions: Dimensions, config?: ResolvedConfig): Promise<Buffer>;
20
- //# sourceMappingURL=png.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"png.d.ts","sourceRoot":"","sources":["../../src/render/png.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE9D;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,cAAc,CAClC,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,UAAU,EACtB,MAAM,GAAE,cAAgC,GACvC,OAAO,CAAC,MAAM,CAAC,CAUjB"}
@@ -1,29 +0,0 @@
1
- import { resolveConfig } from "../config/index.js";
2
- import { recompressPng } from "../png/recompress.js";
3
- /**
4
- * Rasterise an SVG string to image bytes at `dimensions`.
5
- *
6
- * Every path that produces an image goes through here, so this is the one place
7
- * the configured rasteriser has to be chosen. A project that supplies its own
8
- * gets it used by `renderMetaImages`, by `generate` and by `colophon preview`
9
- * alike, none of which knows there was a choice to make.
10
- *
11
- * It is also where the bytes are compressed again, for the same reason and on
12
- * the same terms: an image is worth shrinking whoever asked for it, and a
13
- * caller taking the bytes away to write itself should not have to know that the
14
- * rasteriser left three quarters of the saving on the table.
15
- *
16
- * The name is what it was before the backend became configurable. PNG is still
17
- * what comes back by default, and renaming this would break every caller to say
18
- * something the config already says.
19
- */
20
- export async function renderSvgToPng(svg, dimensions, config = resolveConfig()) {
21
- const bytes = await config.rasteriser(svg, dimensions, config);
22
- // A rasteriser returns bytes, since not every one of them has a `Buffer` to
23
- // return. Everything downstream of here is Node, and the stamp reads the PNG
24
- // with `Buffer`'s own methods, so this is where the two meet. A `Buffer`
25
- // arrives as itself rather than being copied.
26
- const png = Buffer.isBuffer(bytes) ? bytes : Buffer.from(bytes);
27
- return recompressPng(png, config.compressionLevel);
28
- }
29
- //# sourceMappingURL=png.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"png.js","sourceRoot":"","sources":["../../src/render/png.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGrD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,GAAW,EACX,UAAsB,EACtB,MAAM,GAAmB,aAAa,EAAE;IAExC,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IAE/D,4EAA4E;IAC5E,6EAA6E;IAC7E,yEAAyE;IACzE,8CAA8C;IAC9C,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEhE,OAAO,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;AACrD,CAAC"}
@@ -1,14 +0,0 @@
1
- /**
2
- * PNG `tEXt` keyword the stamp is stored under. Keeping it in the image means
3
- * there is no sidecar file to fall out of sync, and deleting an image deletes
4
- * its stamp with it.
5
- */
6
- export declare const stampKeyword = "colophon";
7
- /** Signature + the whole `IHDR` chunk: length, type, 13 bytes of data, CRC. */
8
- export declare const afterHeader: number;
9
- /**
10
- * Return `png` with the stamp embedded as a `tEXt` chunk, inserted straight
11
- * after the header so it can be read back without decoding the image.
12
- */
13
- export declare function stampPng(png: Buffer, stamp: string): Buffer;
14
- //# sourceMappingURL=chunk.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chunk.d.ts","sourceRoot":"","sources":["../../src/stamp/chunk.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,eAAO,MAAM,YAAY,aAAa,CAAC;AAEvC,+EAA+E;AAC/E,eAAO,MAAM,WAAW,QAAuC,CAAC;AAWhE;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAoB3D"}
@@ -1,38 +0,0 @@
1
- import { chunkBytes, pngSignature } from "../png/chunk.js";
2
- /**
3
- * PNG `tEXt` keyword the stamp is stored under. Keeping it in the image means
4
- * there is no sidecar file to fall out of sync, and deleting an image deletes
5
- * its stamp with it.
6
- */
7
- export const stampKeyword = "colophon";
8
- /** Signature + the whole `IHDR` chunk: length, type, 13 bytes of data, CRC. */
9
- export const afterHeader = pngSignature.length + 4 + 4 + 13 + 4;
10
- /** What a `tEXt` chunk carries: `keyword\0text`. */
11
- function textData(keyword, text) {
12
- return Buffer.concat([
13
- Buffer.from(keyword, "latin1"),
14
- Buffer.from([0]),
15
- Buffer.from(text, "latin1"),
16
- ]);
17
- }
18
- /**
19
- * Return `png` with the stamp embedded as a `tEXt` chunk, inserted straight
20
- * after the header so it can be read back without decoding the image.
21
- */
22
- export function stampPng(png, stamp) {
23
- if (png.length < afterHeader ||
24
- !png.subarray(0, pngSignature.length).equals(pngSignature) ||
25
- png.toString("latin1", 12, 16) !== "IHDR") {
26
- // Reachable in practice only through a configured rasteriser, since resvg
27
- // writes nothing else. Saying why beats leaving someone to work out that
28
- // the stamp is the reason their WebP backend cannot be used yet.
29
- throw new Error("Cannot stamp: not a PNG image. The rebuild stamp is a PNG chunk, so a" +
30
- " rasteriser has to produce PNG for a build to be able to skip it.");
31
- }
32
- return Buffer.concat([
33
- png.subarray(0, afterHeader),
34
- chunkBytes("tEXt", textData(stampKeyword, stamp)),
35
- png.subarray(afterHeader),
36
- ]);
37
- }
38
- //# sourceMappingURL=chunk.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chunk.js","sourceRoot":"","sources":["../../src/stamp/chunk.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE3D;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,UAAU,CAAC;AAEvC,+EAA+E;AAC/E,MAAM,CAAC,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAEhE,oDAAoD;AACpD,SAAS,QAAQ,CAAC,OAAe,EAAE,IAAY;IAC7C,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAChB,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;KAC5B,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,QAAQ,CAAC,GAAW,EAAE,KAAa;IACjD,IACE,GAAG,CAAC,MAAM,GAAG,WAAW;QACxB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;QAC1D,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,MAAM,EACzC,CAAC;QACD,0EAA0E;QAC1E,yEAAyE;QACzE,iEAAiE;QACjE,MAAM,IAAI,KAAK,CACb,uEAAuE;YACrE,mEAAmE,CACtE,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,WAAW,CAAC;QAC5B,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QACjD,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC;KAC1B,CAAC,CAAC;AACL,CAAC"}
@@ -1,3 +0,0 @@
1
- /** The mark a truncated line or block ends with. */
2
- export declare const ellipsis = "\u2026";
3
- //# sourceMappingURL=ellipsis.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ellipsis.d.ts","sourceRoot":"","sources":["../../../src/templates/code/ellipsis.ts"],"names":[],"mappings":"AAAA,oDAAoD;AACpD,eAAO,MAAM,QAAQ,WAAM,CAAC"}
@@ -1,3 +0,0 @@
1
- /** The mark a truncated line or block ends with. */
2
- export const ellipsis = "…";
3
- //# sourceMappingURL=ellipsis.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ellipsis.js","sourceRoot":"","sources":["../../../src/templates/code/ellipsis.ts"],"names":[],"mappings":"AAAA,oDAAoD;AACpD,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,CAAC"}