@kensio/colophon 2.11.1 → 2.12.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/astro/index.d.ts.map +1 -1
- package/dist/astro/index.js +0 -1
- package/dist/astro/index.js.map +1 -1
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +5 -0
- package/dist/config/defaults.js.map +1 -1
- package/dist/measure/faces.d.ts.map +1 -1
- package/dist/measure/faces.js.map +1 -1
- package/dist/templates/banner/index.js +2 -2
- package/dist/templates/banner/index.js.map +1 -1
- package/dist/templates/card/index.js +2 -2
- package/dist/templates/card/index.js.map +1 -1
- package/dist/templates/code/bar.d.ts +24 -0
- package/dist/templates/code/bar.d.ts.map +1 -0
- package/dist/templates/code/bar.js +31 -0
- package/dist/templates/code/bar.js.map +1 -0
- package/dist/templates/code/gutter.d.ts +30 -0
- package/dist/templates/code/gutter.d.ts.map +1 -0
- package/dist/templates/code/gutter.js +64 -0
- package/dist/templates/code/gutter.js.map +1 -0
- package/dist/templates/code/index.d.ts.map +1 -1
- package/dist/templates/code/index.js +34 -15
- package/dist/templates/code/index.js.map +1 -1
- package/dist/templates/code/layout.d.ts +6 -1
- package/dist/templates/code/layout.d.ts.map +1 -1
- package/dist/templates/code/layout.js +8 -3
- package/dist/templates/code/layout.js.map +1 -1
- package/dist/templates/code/mark/draw.d.ts +26 -0
- package/dist/templates/code/mark/draw.d.ts.map +1 -0
- package/dist/templates/code/mark/draw.js +41 -0
- package/dist/templates/code/mark/draw.js.map +1 -0
- package/dist/templates/code/mark/index.d.ts +16 -0
- package/dist/templates/code/mark/index.d.ts.map +1 -0
- package/dist/templates/code/mark/index.js +34 -0
- package/dist/templates/code/mark/index.js.map +1 -0
- package/dist/templates/code/mark/locate.d.ts +20 -0
- package/dist/templates/code/mark/locate.d.ts.map +1 -0
- package/dist/templates/code/mark/locate.js +56 -0
- package/dist/templates/code/mark/locate.js.map +1 -0
- package/dist/templates/code/mark/read.d.ts +30 -0
- package/dist/templates/code/mark/read.d.ts.map +1 -0
- package/dist/templates/code/mark/read.js +61 -0
- package/dist/templates/code/mark/read.js.map +1 -0
- package/dist/templates/code/plate.d.ts +7 -1
- package/dist/templates/code/plate.d.ts.map +1 -1
- package/dist/templates/code/plate.js +14 -4
- package/dist/templates/code/plate.js.map +1 -1
- package/dist/templates/footer.d.ts +9 -1
- package/dist/templates/footer.d.ts.map +1 -1
- package/dist/templates/footer.js +24 -0
- package/dist/templates/footer.js.map +1 -1
- package/dist/templates/frame.d.ts.map +1 -1
- package/dist/templates/frame.js +5 -7
- package/dist/templates/frame.js.map +1 -1
- package/dist/templates/terminal/index.js +4 -4
- package/dist/templates/terminal/index.js.map +1 -1
- package/dist/templates/window/dots.d.ts +11 -0
- package/dist/templates/window/dots.d.ts.map +1 -0
- package/dist/templates/window/dots.js +32 -0
- package/dist/templates/window/dots.js.map +1 -0
- package/dist/templates/{terminal/window.d.ts → window/index.d.ts} +4 -2
- package/dist/templates/window/index.d.ts.map +1 -0
- package/dist/templates/window/index.js +48 -0
- package/dist/templates/window/index.js.map +1 -0
- package/dist/templates/window/title.d.ts +9 -0
- package/dist/templates/window/title.d.ts.map +1 -0
- package/dist/templates/window/title.js +24 -0
- package/dist/templates/window/title.js.map +1 -0
- package/dist/texture/chevrons.d.ts +13 -0
- package/dist/texture/chevrons.d.ts.map +1 -0
- package/dist/texture/chevrons.js +22 -0
- package/dist/texture/chevrons.js.map +1 -0
- package/dist/texture/grid.d.ts +14 -0
- package/dist/texture/grid.d.ts.map +1 -0
- package/dist/texture/grid.js +38 -0
- package/dist/texture/grid.js.map +1 -0
- package/dist/texture/halftone.d.ts +14 -0
- package/dist/texture/halftone.d.ts.map +1 -0
- package/dist/texture/halftone.js +55 -0
- package/dist/texture/halftone.js.map +1 -0
- package/dist/texture/honeycomb.d.ts +14 -0
- package/dist/texture/honeycomb.d.ts.map +1 -0
- package/dist/texture/honeycomb.js +43 -0
- package/dist/texture/honeycomb.js.map +1 -0
- package/dist/texture/index.d.ts +1 -2
- package/dist/texture/index.d.ts.map +1 -1
- package/dist/texture/index.js +44 -13
- package/dist/texture/index.js.map +1 -1
- package/dist/texture/moire.d.ts +18 -0
- package/dist/texture/moire.d.ts.map +1 -0
- package/dist/texture/moire.js +44 -0
- package/dist/texture/moire.js.map +1 -0
- package/dist/texture/pattern.d.ts +10 -0
- package/dist/texture/pattern.d.ts.map +1 -1
- package/dist/texture/pattern.js +36 -13
- package/dist/texture/pattern.js.map +1 -1
- package/dist/texture/rays.d.ts +13 -0
- package/dist/texture/rays.d.ts.map +1 -0
- package/dist/texture/rays.js +36 -0
- package/dist/texture/rays.js.map +1 -0
- package/dist/texture/scallops.d.ts +14 -0
- package/dist/texture/scallops.d.ts.map +1 -0
- package/dist/texture/scallops.js +29 -0
- package/dist/texture/scallops.js.map +1 -0
- package/dist/texture/tile.d.ts +14 -0
- package/dist/texture/tile.d.ts.map +1 -0
- package/dist/texture/tile.js +23 -0
- package/dist/texture/tile.js.map +1 -0
- package/dist/texture/topographic/contours.d.ts +13 -0
- package/dist/texture/topographic/contours.d.ts.map +1 -0
- package/dist/texture/topographic/contours.js +72 -0
- package/dist/texture/topographic/contours.js.map +1 -0
- package/dist/texture/topographic/field.d.ts +8 -0
- package/dist/texture/topographic/field.d.ts.map +1 -0
- package/dist/texture/topographic/field.js +29 -0
- package/dist/texture/topographic/field.js.map +1 -0
- package/dist/texture/topographic/index.d.ts +17 -0
- package/dist/texture/topographic/index.d.ts.map +1 -0
- package/dist/texture/topographic/index.js +48 -0
- package/dist/texture/topographic/index.js.map +1 -0
- package/dist/theme/presets.d.ts +13 -5
- package/dist/theme/presets.d.ts.map +1 -1
- package/dist/theme/presets.js +16 -5
- package/dist/theme/presets.js.map +1 -1
- package/dist/types.d.ts +231 -3
- package/dist/types.d.ts.map +1 -1
- package/dist/validate/collect.d.ts.map +1 -1
- package/dist/validate/collect.js +2 -1
- package/dist/validate/collect.js.map +1 -1
- package/dist/validate/keys.d.ts +37 -0
- package/dist/validate/keys.d.ts.map +1 -1
- package/dist/validate/keys.js +130 -2
- package/dist/validate/keys.js.map +1 -1
- package/dist/validate/texture.d.ts +4 -5
- package/dist/validate/texture.d.ts.map +1 -1
- package/dist/validate/texture.js +11 -20
- package/dist/validate/texture.js.map +1 -1
- package/dist/validate/values.d.ts +6 -0
- package/dist/validate/values.d.ts.map +1 -1
- package/dist/validate/values.js +16 -1
- package/dist/validate/values.js.map +1 -1
- package/package.json +3 -10
- package/dist/templates/terminal/window.d.ts.map +0 -1
- package/dist/templates/terminal/window.js +0 -84
- package/dist/templates/terminal/window.js.map +0 -1
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { fallbackColor } from "./color.js";
|
|
2
|
+
import { tile } from "./tile.js";
|
|
3
|
+
const scallopDefaults = { opacity: 0.07, width: 2, size: 40 };
|
|
4
|
+
/** One arc of a row, bulging downwards from the two points it spans. */
|
|
5
|
+
function scallop(cx, y, radius) {
|
|
6
|
+
return (`M${String(cx - radius)} ${String(y)}` +
|
|
7
|
+
`A${String(radius)} ${String(radius)} 0 0 0 ${String(cx + radius)} ${String(y)}`);
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Fish scales: rows of arcs, each row offset by half a scale from the one
|
|
11
|
+
* above, which is what makes them read as overlapping rather than as stacked
|
|
12
|
+
* semicircles.
|
|
13
|
+
*
|
|
14
|
+
* The tile holds two rows for that reason: one repeat has to contain both the
|
|
15
|
+
* offset row and the row it is offset from, since a `<pattern>` cannot stagger
|
|
16
|
+
* its own rows.
|
|
17
|
+
*/
|
|
18
|
+
export function scallopsSvg(texture, dimensions, id) {
|
|
19
|
+
const size = texture.size ?? scallopDefaults.size;
|
|
20
|
+
const radius = size / 2;
|
|
21
|
+
const rows = scallop(radius, 0, radius) +
|
|
22
|
+
scallop(0, radius, radius) +
|
|
23
|
+
scallop(size, radius, radius);
|
|
24
|
+
const arcs = `<path d="${rows}" stroke="${texture.color ?? fallbackColor}"` +
|
|
25
|
+
` stroke-width="${String(texture.width ?? scallopDefaults.width)}"` +
|
|
26
|
+
` fill="none"/>`;
|
|
27
|
+
return tile(id, size, arcs, "", dimensions, texture.opacity ?? scallopDefaults.opacity);
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=scallops.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scallops.js","sourceRoot":"","sources":["../../src/texture/scallops.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,eAAe,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;AAE9D,wEAAwE;AACxE,SAAS,OAAO,CAAC,EAAU,EAAE,CAAS,EAAE,MAAc;IACpD,OAAO,CACL,IAAI,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE;QACtC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CACjF,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,WAAW,CACzB,OAAwD,EACxD,UAAsB,EACtB,EAAU;IAEV,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,eAAe,CAAC,IAAI,CAAC;IAClD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC;IACxB,MAAM,IAAI,GACR,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC;QAC1B,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC;QAC1B,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAEhC,MAAM,IAAI,GACR,YAAY,IAAI,aAAa,OAAO,CAAC,KAAK,IAAI,aAAa,GAAG;QAC9D,kBAAkB,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,eAAe,CAAC,KAAK,CAAC,GAAG;QACnE,gBAAgB,CAAC;IAEnB,OAAO,IAAI,CACT,EAAE,EACF,IAAI,EACJ,IAAI,EACJ,EAAE,EACF,UAAU,EACV,OAAO,CAAC,OAAO,IAAI,eAAe,CAAC,OAAO,CAC3C,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { Dimensions } from "../types.js";
|
|
2
|
+
/**
|
|
3
|
+
* A tiled pattern over the whole image: the `<pattern>` under the given `id`,
|
|
4
|
+
* and the rect that fills with it.
|
|
5
|
+
*
|
|
6
|
+
* A tile is what makes a treatment cheap to store as well as to draw. PNG
|
|
7
|
+
* compresses along a row, and a repeating tile means a row that repeats, which
|
|
8
|
+
* is the difference between the dot grid's 20KB and the half a megabyte a
|
|
9
|
+
* pattern that never repeats costs.
|
|
10
|
+
*/
|
|
11
|
+
export declare function tile(id: string,
|
|
12
|
+
/** The repeat: one number for a square tile, or both sides where it is not. */
|
|
13
|
+
gap: number | Dimensions, contents: string, transform: string, dimensions: Dimensions, opacity: number): string;
|
|
14
|
+
//# sourceMappingURL=tile.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tile.d.ts","sourceRoot":"","sources":["../../src/texture/tile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C;;;;;;;;GAQG;AACH,wBAAgB,IAAI,CAClB,EAAE,EAAE,MAAM;AACV,+EAA+E;AAC/E,GAAG,EAAE,MAAM,GAAG,UAAU,EACxB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,MAAM,GACd,MAAM,CAcR"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A tiled pattern over the whole image: the `<pattern>` under the given `id`,
|
|
3
|
+
* and the rect that fills with it.
|
|
4
|
+
*
|
|
5
|
+
* A tile is what makes a treatment cheap to store as well as to draw. PNG
|
|
6
|
+
* compresses along a row, and a repeating tile means a row that repeats, which
|
|
7
|
+
* is the difference between the dot grid's 20KB and the half a megabyte a
|
|
8
|
+
* pattern that never repeats costs.
|
|
9
|
+
*/
|
|
10
|
+
export function tile(id,
|
|
11
|
+
/** The repeat: one number for a square tile, or both sides where it is not. */
|
|
12
|
+
gap, contents, transform, dimensions, opacity) {
|
|
13
|
+
const { width, height } = dimensions;
|
|
14
|
+
const repeat = typeof gap === "number" ? { width: gap, height: gap } : { ...gap };
|
|
15
|
+
return (`<defs>` +
|
|
16
|
+
`<pattern id="${id}" width="${String(repeat.width)}"` +
|
|
17
|
+
` height="${String(repeat.height)}"` +
|
|
18
|
+
` patternUnits="userSpaceOnUse"${transform}>${contents}</pattern>` +
|
|
19
|
+
`</defs>` +
|
|
20
|
+
`<rect width="${String(width)}" height="${String(height)}"` +
|
|
21
|
+
` fill="url(#${id})" opacity="${String(opacity)}"/>`);
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=tile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tile.js","sourceRoot":"","sources":["../../src/texture/tile.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AACH,MAAM,UAAU,IAAI,CAClB,EAAU;AACV,+EAA+E;AAC/E,GAAwB,EACxB,QAAgB,EAChB,SAAiB,EACjB,UAAsB,EACtB,OAAe;IAEf,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC;IACrC,MAAM,MAAM,GACV,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC;IAErE,OAAO,CACL,QAAQ;QACR,gBAAgB,EAAE,YAAY,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG;QACrD,YAAY,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG;QACpC,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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Dimensions } from "../../types.js";
|
|
2
|
+
/**
|
|
3
|
+
* One contour of the landscape, as the segments where the ground passes
|
|
4
|
+
* through a given height.
|
|
5
|
+
*
|
|
6
|
+
* This is marching squares: the field is sampled on a grid, and each cell
|
|
7
|
+
* contributes the piece of the line that crosses it. Drawing the segments
|
|
8
|
+
* separately rather than joining them into loops costs a little more markup
|
|
9
|
+
* and saves the bookkeeping of walking a contour from cell to cell, which
|
|
10
|
+
* would not change the picture.
|
|
11
|
+
*/
|
|
12
|
+
export declare function contourAt(level: number, step: number, dimensions: Dimensions, seed: number, relief: number): string;
|
|
13
|
+
//# sourceMappingURL=contours.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contours.d.ts","sourceRoot":"","sources":["../../../src/texture/topographic/contours.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAyEjD;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CACvB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,MAAM,CAmBR"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { height } from "./field.js";
|
|
2
|
+
/**
|
|
3
|
+
* Where between two corners the contour crosses, by how far each of them is
|
|
4
|
+
* above or below the level. Interpolating rather than taking the midpoint is
|
|
5
|
+
* what makes the line smooth instead of stepped.
|
|
6
|
+
*/
|
|
7
|
+
function between(a, b, above, below) {
|
|
8
|
+
const along = above / (above - below);
|
|
9
|
+
return { x: a.x + (b.x - a.x) * along, y: a.y + (b.y - a.y) * along };
|
|
10
|
+
}
|
|
11
|
+
/** The corners of one cell, clockwise from the top left. */
|
|
12
|
+
function corners(x, y, step) {
|
|
13
|
+
return [
|
|
14
|
+
{ x, y },
|
|
15
|
+
{ x: x + step, y },
|
|
16
|
+
{ x: x + step, y: y + step },
|
|
17
|
+
{ x, y: y + step },
|
|
18
|
+
];
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* The segments of one contour crossing one cell.
|
|
22
|
+
*
|
|
23
|
+
* Which edges it crosses is decided by which corners are above the level, read
|
|
24
|
+
* as four bits. The two ambiguous cases, where opposite corners are above and
|
|
25
|
+
* the other two below, are drawn as two separate segments: a saddle can be
|
|
26
|
+
* joined either way and this is the reading that never crosses itself.
|
|
27
|
+
*/
|
|
28
|
+
function cell(values, points, level) {
|
|
29
|
+
const above = values.map((value) => value > level);
|
|
30
|
+
const edges = [];
|
|
31
|
+
for (const [index, isAbove] of above.entries()) {
|
|
32
|
+
const next = (index + 1) % 4;
|
|
33
|
+
if (isAbove !== above[next]) {
|
|
34
|
+
edges.push(between(points[index], points[next], values[index] - level, values[next] - level));
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
if (edges.length === 2) {
|
|
38
|
+
return [[edges[0], edges[1]]];
|
|
39
|
+
}
|
|
40
|
+
return edges.length === 4
|
|
41
|
+
? [
|
|
42
|
+
[edges[0], edges[1]],
|
|
43
|
+
[edges[2], edges[3]],
|
|
44
|
+
]
|
|
45
|
+
: [];
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* One contour of the landscape, as the segments where the ground passes
|
|
49
|
+
* through a given height.
|
|
50
|
+
*
|
|
51
|
+
* This is marching squares: the field is sampled on a grid, and each cell
|
|
52
|
+
* contributes the piece of the line that crosses it. Drawing the segments
|
|
53
|
+
* separately rather than joining them into loops costs a little more markup
|
|
54
|
+
* and saves the bookkeeping of walking a contour from cell to cell, which
|
|
55
|
+
* would not change the picture.
|
|
56
|
+
*/
|
|
57
|
+
export function contourAt(level, step, dimensions, seed, relief) {
|
|
58
|
+
let path = "";
|
|
59
|
+
for (let y = -step; y < dimensions.height + step; y += step) {
|
|
60
|
+
for (let x = -step; x < dimensions.width + step; x += step) {
|
|
61
|
+
const points = corners(x, y, step);
|
|
62
|
+
const values = points.map((point) => height(point.x, point.y, seed) * relief);
|
|
63
|
+
for (const [from, to] of cell(values, points, level)) {
|
|
64
|
+
path +=
|
|
65
|
+
`M${String(Math.round(from.x))} ${String(Math.round(from.y))}` +
|
|
66
|
+
`L${String(Math.round(to.x))} ${String(Math.round(to.y))}`;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
return path;
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=contours.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contours.js","sourceRoot":"","sources":["../../../src/texture/topographic/contours.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The height of the ground at a point, from -1 to 1.
|
|
3
|
+
*
|
|
4
|
+
* `seed` shifts each wave's phase by a different amount, so one number picks a
|
|
5
|
+
* whole landscape and the same number always picks the same one.
|
|
6
|
+
*/
|
|
7
|
+
export declare function height(x: number, y: number, seed: number): number;
|
|
8
|
+
//# sourceMappingURL=field.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../../../src/texture/topographic/field.ts"],"names":[],"mappings":"AAeA;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CASjE"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The waves the ground is made of: how far one runs before it repeats, which
|
|
3
|
+
* way it runs, and how much of the height it accounts for.
|
|
4
|
+
*
|
|
5
|
+
* Three at unrelated wavelengths and angles is enough to read as terrain
|
|
6
|
+
* rather than as a pattern. Deliberately not random: the rebuild stamp assumes
|
|
7
|
+
* one config draws one picture, so a texture that rolled dice would come out
|
|
8
|
+
* different every time nothing had changed.
|
|
9
|
+
*/
|
|
10
|
+
const waves = [
|
|
11
|
+
{ length: 260, dx: 1, dy: 0.35, weight: 0.5 },
|
|
12
|
+
{ length: 170, dx: -0.4, dy: 1, weight: 0.32 },
|
|
13
|
+
{ length: 95, dx: 0.7, dy: -0.8, weight: 0.18 },
|
|
14
|
+
];
|
|
15
|
+
/**
|
|
16
|
+
* The height of the ground at a point, from -1 to 1.
|
|
17
|
+
*
|
|
18
|
+
* `seed` shifts each wave's phase by a different amount, so one number picks a
|
|
19
|
+
* whole landscape and the same number always picks the same one.
|
|
20
|
+
*/
|
|
21
|
+
export function height(x, y, seed) {
|
|
22
|
+
let sum = 0;
|
|
23
|
+
for (const [index, wave] of waves.entries()) {
|
|
24
|
+
const along = (x * wave.dx + y * wave.dy) / wave.length;
|
|
25
|
+
sum += wave.weight * Math.sin(along + seed * (index + 1) * 1.7);
|
|
26
|
+
}
|
|
27
|
+
return sum;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=field.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"field.js","sourceRoot":"","sources":["../../../src/texture/topographic/field.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,KAAK,GAAG;IACZ,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE;IAC7C,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE;IAC9C,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE;CAChD,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,MAAM,CAAC,CAAS,EAAE,CAAS,EAAE,IAAY;IACvD,IAAI,GAAG,GAAG,CAAC,CAAC;IAEZ,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;QAC5C,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QACxD,GAAG,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;IAClE,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { Dimensions, Texture } from "../../types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Contour lines, the look of a map: the height of a made-up landscape, drawn
|
|
4
|
+
* every `gap` pixels of it.
|
|
5
|
+
*
|
|
6
|
+
* These are the real thing rather than rings pretending: the field is sampled
|
|
7
|
+
* on a grid and each contour is the line where the ground passes through one
|
|
8
|
+
* height, so the shapes close where the ground has a summit, run off the edge
|
|
9
|
+
* where it keeps rising, and never cross each other. An earlier attempt drew
|
|
10
|
+
* circles pushed in and out by the same field, and no amount of pushing made
|
|
11
|
+
* it read as anything but a wobbly bullseye: what makes a map is that the
|
|
12
|
+
* shapes owe nothing to a centre.
|
|
13
|
+
*/
|
|
14
|
+
export declare function topographicSvg(texture: Extract<Texture, {
|
|
15
|
+
readonly type: "topographic";
|
|
16
|
+
}>, dimensions: Dimensions): string;
|
|
17
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/texture/topographic/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAqB1D;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAA;CAAE,CAAC,EAC3D,UAAU,EAAE,UAAU,GACrB,MAAM,CAsBR"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { fallbackColor } from "../color.js";
|
|
2
|
+
import { contourAt } from "./contours.js";
|
|
3
|
+
const contourDefaults = {
|
|
4
|
+
opacity: 0.1,
|
|
5
|
+
width: 1.5,
|
|
6
|
+
gap: 34,
|
|
7
|
+
relief: 5,
|
|
8
|
+
seed: 1,
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* How finely the ground is sampled, as a fraction of the gap between contours.
|
|
12
|
+
*
|
|
13
|
+
* The cells have to be smaller than the features the field has, or the lines
|
|
14
|
+
* come out as polygons. Below about a third of the gap the picture stops
|
|
15
|
+
* changing and only the markup grows.
|
|
16
|
+
*/
|
|
17
|
+
const sampleScale = 0.5;
|
|
18
|
+
/**
|
|
19
|
+
* Contour lines, the look of a map: the height of a made-up landscape, drawn
|
|
20
|
+
* every `gap` pixels of it.
|
|
21
|
+
*
|
|
22
|
+
* These are the real thing rather than rings pretending: the field is sampled
|
|
23
|
+
* on a grid and each contour is the line where the ground passes through one
|
|
24
|
+
* height, so the shapes close where the ground has a summit, run off the edge
|
|
25
|
+
* where it keeps rising, and never cross each other. An earlier attempt drew
|
|
26
|
+
* circles pushed in and out by the same field, and no amount of pushing made
|
|
27
|
+
* it read as anything but a wobbly bullseye: what makes a map is that the
|
|
28
|
+
* shapes owe nothing to a centre.
|
|
29
|
+
*/
|
|
30
|
+
export function topographicSvg(texture, dimensions) {
|
|
31
|
+
const gap = texture.gap ?? contourDefaults.gap;
|
|
32
|
+
const relief = gap * (texture.relief ?? contourDefaults.relief);
|
|
33
|
+
const seed = texture.seed ?? contourDefaults.seed;
|
|
34
|
+
const step = Math.max(2, Math.round(gap * sampleScale));
|
|
35
|
+
let lines = "";
|
|
36
|
+
// The field runs from -relief to relief, so the levels either side of nought
|
|
37
|
+
// are what fits in it. One at nought as well would draw the coastline twice
|
|
38
|
+
// over, since the sum of the waves sits there more often than anywhere else.
|
|
39
|
+
for (let level = gap / 2; level < relief; level += gap) {
|
|
40
|
+
lines += contourAt(level, step, dimensions, seed, relief);
|
|
41
|
+
lines += contourAt(-level, step, dimensions, seed, relief);
|
|
42
|
+
}
|
|
43
|
+
return (`<path d="${lines}" fill="none"` +
|
|
44
|
+
` stroke="${texture.color ?? fallbackColor}"` +
|
|
45
|
+
` stroke-width="${String(texture.width ?? contourDefaults.width)}"` +
|
|
46
|
+
` opacity="${String(texture.opacity ?? contourDefaults.opacity)}"/>`);
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/texture/topographic/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,MAAM,eAAe,GAAG;IACtB,OAAO,EAAE,GAAG;IACZ,KAAK,EAAE,GAAG;IACV,GAAG,EAAE,EAAE;IACP,MAAM,EAAE,CAAC;IACT,IAAI,EAAE,CAAC;CACR,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,WAAW,GAAG,GAAG,CAAC;AAExB;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,cAAc,CAC5B,OAA2D,EAC3D,UAAsB;IAEtB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,eAAe,CAAC,GAAG,CAAC;IAC/C,MAAM,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC;IAChE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,eAAe,CAAC,IAAI,CAAC;IAClD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC;IAExD,IAAI,KAAK,GAAG,EAAE,CAAC;IAEf,6EAA6E;IAC7E,4EAA4E;IAC5E,6EAA6E;IAC7E,KAAK,IAAI,KAAK,GAAG,GAAG,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,CAAC;QACvD,KAAK,IAAI,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAC1D,KAAK,IAAI,SAAS,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAC7D,CAAC;IAED,OAAO,CACL,YAAY,KAAK,eAAe;QAChC,YAAY,OAAO,CAAC,KAAK,IAAI,aAAa,GAAG;QAC7C,kBAAkB,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,eAAe,CAAC,KAAK,CAAC,GAAG;QACnE,aAAa,MAAM,CAAC,OAAO,CAAC,OAAO,IAAI,eAAe,CAAC,OAAO,CAAC,KAAK,CACrE,CAAC;AACJ,CAAC"}
|
package/dist/theme/presets.d.ts
CHANGED
|
@@ -22,11 +22,19 @@ export interface Theme {
|
|
|
22
22
|
* image is usually asked to be, and two are light, because a site whose own
|
|
23
23
|
* pages are light has nothing to reach for otherwise.
|
|
24
24
|
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
* is
|
|
25
|
+
* All of them carry a texture, since a treatment is most of what separates a
|
|
26
|
+
* theme from a palette, and every one of them is drawn from the cheap end of
|
|
27
|
+
* the set. What that costs is worth writing down, measured on a 1200x1200
|
|
28
|
+
* card: `aurora` goes from 244KB to 279KB, `bloom` from 342KB to 372KB, and
|
|
29
|
+
* `ember` from 99KB to 192KB, which is the largest jump here and still the
|
|
30
|
+
* smallest image of the three.
|
|
31
|
+
*
|
|
32
|
+
* None of them turns grain, `waves` or `moire` on, though grain is the
|
|
33
|
+
* treatment they would most obviously want. Those three do not compress:
|
|
34
|
+
* grain takes a 1200x1200 PNG from around 82KB to 1.7MB, and the other two to
|
|
35
|
+
* around 600KB. That is a cost worth paying on purpose, and not one to hand
|
|
36
|
+
* someone who picked a theme by its name and is committing the images next to
|
|
37
|
+
* their posts.
|
|
30
38
|
*/
|
|
31
39
|
export declare const THEMES: Readonly<Record<ThemeName, Theme>>;
|
|
32
40
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../../src/theme/presets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE/E;;;;GAIG;AACH,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;IACvC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED
|
|
1
|
+
{"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../../src/theme/presets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE/E;;;;GAIG;AACH,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;IACvC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAqIrD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,UAAU,EAA0B,SAAS,SAAS,EAAE,CAAC"}
|
package/dist/theme/presets.js
CHANGED
|
@@ -11,11 +11,19 @@
|
|
|
11
11
|
* image is usually asked to be, and two are light, because a site whose own
|
|
12
12
|
* pages are light has nothing to reach for otherwise.
|
|
13
13
|
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
* is
|
|
14
|
+
* All of them carry a texture, since a treatment is most of what separates a
|
|
15
|
+
* theme from a palette, and every one of them is drawn from the cheap end of
|
|
16
|
+
* the set. What that costs is worth writing down, measured on a 1200x1200
|
|
17
|
+
* card: `aurora` goes from 244KB to 279KB, `bloom` from 342KB to 372KB, and
|
|
18
|
+
* `ember` from 99KB to 192KB, which is the largest jump here and still the
|
|
19
|
+
* smallest image of the three.
|
|
20
|
+
*
|
|
21
|
+
* None of them turns grain, `waves` or `moire` on, though grain is the
|
|
22
|
+
* treatment they would most obviously want. Those three do not compress:
|
|
23
|
+
* grain takes a 1200x1200 PNG from around 82KB to 1.7MB, and the other two to
|
|
24
|
+
* around 600KB. That is a cost worth paying on purpose, and not one to hand
|
|
25
|
+
* someone who picked a theme by its name and is committing the images next to
|
|
26
|
+
* their posts.
|
|
19
27
|
*/
|
|
20
28
|
export const THEMES = {
|
|
21
29
|
midnight: {
|
|
@@ -52,6 +60,7 @@ export const THEMES = {
|
|
|
52
60
|
{ color: "#8b5cf6", x: 1, y: 0.9, radius: 0.5, opacity: 0.55 },
|
|
53
61
|
],
|
|
54
62
|
},
|
|
63
|
+
texture: { type: "crosses", opacity: 0.07 },
|
|
55
64
|
},
|
|
56
65
|
ember: {
|
|
57
66
|
colors: {
|
|
@@ -68,6 +77,7 @@ export const THEMES = {
|
|
|
68
77
|
{ offset: "100%", color: "#ea580c" },
|
|
69
78
|
],
|
|
70
79
|
},
|
|
80
|
+
texture: { type: "rays", opacity: 0.06 },
|
|
71
81
|
},
|
|
72
82
|
forest: {
|
|
73
83
|
colors: {
|
|
@@ -102,6 +112,7 @@ export const THEMES = {
|
|
|
102
112
|
{ color: "#7c3aed", x: 0.5, y: 1, radius: 0.75, opacity: 0.8 },
|
|
103
113
|
],
|
|
104
114
|
},
|
|
115
|
+
texture: { type: "dots", opacity: 0.06 },
|
|
105
116
|
},
|
|
106
117
|
slate: {
|
|
107
118
|
colors: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presets.js","sourceRoot":"","sources":["../../src/theme/presets.ts"],"names":[],"mappings":"AAaA
|
|
1
|
+
{"version":3,"file":"presets.js","sourceRoot":"","sources":["../../src/theme/presets.ts"],"names":[],"mappings":"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"}
|