@rickosborne/hexgrid 2025.5.31
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/README.md +2141 -0
- package/axial-add.cjs +30 -0
- package/axial-add.cjs.map +6 -0
- package/axial-add.d.ts +6 -0
- package/axial-add.d.ts.map +1 -0
- package/axial-add.mjs +11 -0
- package/axial-add.mjs.map +6 -0
- package/axial-from-cube.cjs +33 -0
- package/axial-from-cube.cjs.map +6 -0
- package/axial-from-cube.d.ts +7 -0
- package/axial-from-cube.d.ts.map +1 -0
- package/axial-from-cube.mjs +14 -0
- package/axial-from-cube.mjs.map +6 -0
- package/axial-from-double.cjs +30 -0
- package/axial-from-double.cjs.map +6 -0
- package/axial-from-double.d.ts +5 -0
- package/axial-from-double.d.ts.map +1 -0
- package/axial-from-double.mjs +11 -0
- package/axial-from-double.mjs.map +6 -0
- package/axial-from-offset.cjs +64 -0
- package/axial-from-offset.cjs.map +6 -0
- package/axial-from-offset.d.ts +4 -0
- package/axial-from-offset.d.ts.map +1 -0
- package/axial-from-offset.mjs +45 -0
- package/axial-from-offset.mjs.map +6 -0
- package/axial-intersection.cjs +28 -0
- package/axial-intersection.cjs.map +6 -0
- package/axial-intersection.d.ts +3 -0
- package/axial-intersection.d.ts.map +1 -0
- package/axial-intersection.mjs +9 -0
- package/axial-intersection.mjs.map +6 -0
- package/axial-lerp.cjs +32 -0
- package/axial-lerp.cjs.map +6 -0
- package/axial-lerp.d.ts +3 -0
- package/axial-lerp.d.ts.map +1 -0
- package/axial-lerp.mjs +13 -0
- package/axial-lerp.mjs.map +6 -0
- package/axial-line-draw.cjs +39 -0
- package/axial-line-draw.cjs.map +6 -0
- package/axial-line-draw.d.ts +3 -0
- package/axial-line-draw.d.ts.map +1 -0
- package/axial-line-draw.mjs +20 -0
- package/axial-line-draw.mjs.map +6 -0
- package/axial-neighbor.cjs +27 -0
- package/axial-neighbor.cjs.map +6 -0
- package/axial-neighbor.d.ts +3 -0
- package/axial-neighbor.d.ts.map +1 -0
- package/axial-neighbor.mjs +8 -0
- package/axial-neighbor.mjs.map +6 -0
- package/axial-range.cjs +29 -0
- package/axial-range.cjs.map +6 -0
- package/axial-range.d.ts +3 -0
- package/axial-range.d.ts.map +1 -0
- package/axial-range.mjs +10 -0
- package/axial-range.mjs.map +6 -0
- package/axial-round.cjs +31 -0
- package/axial-round.cjs.map +6 -0
- package/axial-round.d.ts +3 -0
- package/axial-round.d.ts.map +1 -0
- package/axial-round.mjs +12 -0
- package/axial-round.mjs.map +6 -0
- package/axial-subtract.cjs +28 -0
- package/axial-subtract.cjs.map +6 -0
- package/axial-subtract.d.ts +6 -0
- package/axial-subtract.d.ts.map +1 -0
- package/axial-subtract.mjs +9 -0
- package/axial-subtract.mjs.map +6 -0
- package/axial.cjs +66 -0
- package/axial.cjs.map +6 -0
- package/axial.d.ts +83 -0
- package/axial.d.ts.map +1 -0
- package/axial.mjs +47 -0
- package/axial.mjs.map +6 -0
- package/covering-grid.cjs +78 -0
- package/covering-grid.cjs.map +6 -0
- package/covering-grid.d.ts +20 -0
- package/covering-grid.d.ts.map +1 -0
- package/covering-grid.mjs +59 -0
- package/covering-grid.mjs.map +6 -0
- package/cube-add.cjs +32 -0
- package/cube-add.cjs.map +6 -0
- package/cube-add.d.ts +6 -0
- package/cube-add.d.ts.map +1 -0
- package/cube-add.mjs +13 -0
- package/cube-add.mjs.map +6 -0
- package/cube-distance.cjs +30 -0
- package/cube-distance.cjs.map +6 -0
- package/cube-distance.d.ts +6 -0
- package/cube-distance.d.ts.map +1 -0
- package/cube-distance.mjs +11 -0
- package/cube-distance.mjs.map +6 -0
- package/cube-from-axial.cjs +34 -0
- package/cube-from-axial.cjs.map +6 -0
- package/cube-from-axial.d.ts +7 -0
- package/cube-from-axial.d.ts.map +1 -0
- package/cube-from-axial.mjs +15 -0
- package/cube-from-axial.mjs.map +6 -0
- package/cube-from-double.cjs +30 -0
- package/cube-from-double.cjs.map +6 -0
- package/cube-from-double.d.ts +5 -0
- package/cube-from-double.d.ts.map +1 -0
- package/cube-from-double.mjs +11 -0
- package/cube-from-double.mjs.map +6 -0
- package/cube-heading.cjs +54 -0
- package/cube-heading.cjs.map +6 -0
- package/cube-heading.d.ts +3 -0
- package/cube-heading.d.ts.map +1 -0
- package/cube-heading.mjs +35 -0
- package/cube-heading.mjs.map +6 -0
- package/cube-intersection.cjs +28 -0
- package/cube-intersection.cjs.map +6 -0
- package/cube-intersection.d.ts +3 -0
- package/cube-intersection.d.ts.map +1 -0
- package/cube-intersection.mjs +9 -0
- package/cube-intersection.mjs.map +6 -0
- package/cube-lerp.cjs +34 -0
- package/cube-lerp.cjs.map +6 -0
- package/cube-lerp.d.ts +3 -0
- package/cube-lerp.d.ts.map +1 -0
- package/cube-lerp.mjs +15 -0
- package/cube-lerp.mjs.map +6 -0
- package/cube-line-draw.cjs +41 -0
- package/cube-line-draw.cjs.map +6 -0
- package/cube-line-draw.d.ts +3 -0
- package/cube-line-draw.d.ts.map +1 -0
- package/cube-line-draw.mjs +22 -0
- package/cube-line-draw.mjs.map +6 -0
- package/cube-neighbor.cjs +27 -0
- package/cube-neighbor.cjs.map +6 -0
- package/cube-neighbor.d.ts +6 -0
- package/cube-neighbor.d.ts.map +1 -0
- package/cube-neighbor.mjs +8 -0
- package/cube-neighbor.mjs.map +6 -0
- package/cube-range.cjs +29 -0
- package/cube-range.cjs.map +6 -0
- package/cube-range.d.ts +3 -0
- package/cube-range.d.ts.map +1 -0
- package/cube-range.mjs +10 -0
- package/cube-range.mjs.map +6 -0
- package/cube-rotate.cjs +40 -0
- package/cube-rotate.cjs.map +6 -0
- package/cube-rotate.d.ts +4 -0
- package/cube-rotate.d.ts.map +1 -0
- package/cube-rotate.mjs +21 -0
- package/cube-rotate.mjs.map +6 -0
- package/cube-round.cjs +46 -0
- package/cube-round.cjs.map +6 -0
- package/cube-round.d.ts +3 -0
- package/cube-round.d.ts.map +1 -0
- package/cube-round.mjs +27 -0
- package/cube-round.mjs.map +6 -0
- package/cube-subtract.cjs +33 -0
- package/cube-subtract.cjs.map +6 -0
- package/cube-subtract.d.ts +3 -0
- package/cube-subtract.d.ts.map +1 -0
- package/cube-subtract.mjs +14 -0
- package/cube-subtract.mjs.map +6 -0
- package/cube.cjs +82 -0
- package/cube.cjs.map +6 -0
- package/cube.d.ts +155 -0
- package/cube.d.ts.map +1 -0
- package/cube.mjs +63 -0
- package/cube.mjs.map +6 -0
- package/double-add.cjs +37 -0
- package/double-add.cjs.map +6 -0
- package/double-add.d.ts +4 -0
- package/double-add.d.ts.map +1 -0
- package/double-add.mjs +18 -0
- package/double-add.mjs.map +6 -0
- package/double-distance.cjs +36 -0
- package/double-distance.cjs.map +6 -0
- package/double-distance.d.ts +4 -0
- package/double-distance.d.ts.map +1 -0
- package/double-distance.mjs +17 -0
- package/double-distance.mjs.map +6 -0
- package/double-from-qrs.cjs +37 -0
- package/double-from-qrs.cjs.map +6 -0
- package/double-from-qrs.d.ts +5 -0
- package/double-from-qrs.d.ts.map +1 -0
- package/double-from-qrs.mjs +18 -0
- package/double-from-qrs.mjs.map +6 -0
- package/double-neighbor.cjs +29 -0
- package/double-neighbor.cjs.map +6 -0
- package/double-neighbor.d.ts +4 -0
- package/double-neighbor.d.ts.map +1 -0
- package/double-neighbor.mjs +10 -0
- package/double-neighbor.mjs.map +6 -0
- package/double.cjs +48 -0
- package/double.cjs.map +6 -0
- package/double.d.ts +77 -0
- package/double.d.ts.map +1 -0
- package/double.mjs +28 -0
- package/double.mjs.map +6 -0
- package/hex-contains-point.cjs +99 -0
- package/hex-contains-point.cjs.map +6 -0
- package/hex-contains-point.d.ts +16 -0
- package/hex-contains-point.d.ts.map +1 -0
- package/hex-contains-point.mjs +80 -0
- package/hex-contains-point.mjs.map +6 -0
- package/hex-distance.cjs +36 -0
- package/hex-distance.cjs.map +6 -0
- package/hex-distance.d.ts +11 -0
- package/hex-distance.d.ts.map +1 -0
- package/hex-distance.mjs +17 -0
- package/hex-distance.mjs.map +6 -0
- package/hex-reachable.cjs +55 -0
- package/hex-reachable.cjs.map +6 -0
- package/hex-reachable.d.ts +14 -0
- package/hex-reachable.d.ts.map +1 -0
- package/hex-reachable.mjs +36 -0
- package/hex-reachable.mjs.map +6 -0
- package/hex-system.cjs +78 -0
- package/hex-system.cjs.map +6 -0
- package/hex-system.d.ts +44 -0
- package/hex-system.d.ts.map +1 -0
- package/hex-system.mjs +58 -0
- package/hex-system.mjs.map +6 -0
- package/hexes-within.cjs +31 -0
- package/hexes-within.cjs.map +6 -0
- package/hexes-within.d.ts +6 -0
- package/hexes-within.d.ts.map +1 -0
- package/hexes-within.mjs +12 -0
- package/hexes-within.mjs.map +6 -0
- package/index.cjs +74 -0
- package/index.cjs.map +6 -0
- package/index.d.ts +57 -0
- package/index.d.ts.map +1 -0
- package/index.mjs +57 -0
- package/index.mjs.map +6 -0
- package/lerp.cjs +28 -0
- package/lerp.cjs.map +6 -0
- package/lerp.d.ts +5 -0
- package/lerp.d.ts.map +1 -0
- package/lerp.mjs +9 -0
- package/lerp.mjs.map +6 -0
- package/offset-distance.cjs +33 -0
- package/offset-distance.cjs.map +6 -0
- package/offset-distance.d.ts +3 -0
- package/offset-distance.d.ts.map +1 -0
- package/offset-distance.mjs +14 -0
- package/offset-distance.mjs.map +6 -0
- package/offset-from-qrs.cjs +70 -0
- package/offset-from-qrs.cjs.map +6 -0
- package/offset-from-qrs.d.ts +7 -0
- package/offset-from-qrs.d.ts.map +1 -0
- package/offset-from-qrs.mjs +51 -0
- package/offset-from-qrs.mjs.map +6 -0
- package/offset-neighbor.cjs +54 -0
- package/offset-neighbor.cjs.map +6 -0
- package/offset-neighbor.d.ts +3 -0
- package/offset-neighbor.d.ts.map +1 -0
- package/offset-neighbor.mjs +35 -0
- package/offset-neighbor.mjs.map +6 -0
- package/offset.cjs +61 -0
- package/offset.cjs.map +6 -0
- package/offset.d.ts +34 -0
- package/offset.d.ts.map +1 -0
- package/offset.mjs +42 -0
- package/offset.mjs.map +6 -0
- package/orientation.cjs +54 -0
- package/orientation.cjs.map +6 -0
- package/orientation.d.ts +36 -0
- package/orientation.d.ts.map +1 -0
- package/orientation.mjs +34 -0
- package/orientation.mjs.map +6 -0
- package/package.json +398 -0
- package/pixel-from-qrs.cjs +66 -0
- package/pixel-from-qrs.cjs.map +6 -0
- package/pixel-from-qrs.d.ts +10 -0
- package/pixel-from-qrs.d.ts.map +1 -0
- package/pixel-from-qrs.mjs +47 -0
- package/pixel-from-qrs.mjs.map +6 -0
- package/point.cjs +17 -0
- package/point.cjs.map +6 -0
- package/point.d.ts +5 -0
- package/point.d.ts.map +1 -0
- package/point.mjs +1 -0
- package/point.mjs.map +6 -0
- package/qrs-eq.cjs +26 -0
- package/qrs-eq.cjs.map +6 -0
- package/qrs-eq.d.ts +3 -0
- package/qrs-eq.d.ts.map +1 -0
- package/qrs-eq.mjs +7 -0
- package/qrs-eq.mjs.map +6 -0
- package/qrs-from-double.cjs +36 -0
- package/qrs-from-double.cjs.map +6 -0
- package/qrs-from-double.d.ts +5 -0
- package/qrs-from-double.d.ts.map +1 -0
- package/qrs-from-double.mjs +17 -0
- package/qrs-from-double.mjs.map +6 -0
- package/qrs-from-pixel.cjs +50 -0
- package/qrs-from-pixel.cjs.map +6 -0
- package/qrs-from-pixel.d.ts +12 -0
- package/qrs-from-pixel.d.ts.map +1 -0
- package/qrs-from-pixel.mjs +31 -0
- package/qrs-from-pixel.mjs.map +6 -0
- package/qrs-hash-code.cjs +41 -0
- package/qrs-hash-code.cjs.map +6 -0
- package/qrs-hash-code.d.ts +7 -0
- package/qrs-hash-code.d.ts.map +1 -0
- package/qrs-hash-code.mjs +22 -0
- package/qrs-hash-code.mjs.map +6 -0
- package/qrs-intersection.cjs +44 -0
- package/qrs-intersection.cjs.map +6 -0
- package/qrs-intersection.d.ts +3 -0
- package/qrs-intersection.d.ts.map +1 -0
- package/qrs-intersection.mjs +25 -0
- package/qrs-intersection.mjs.map +6 -0
- package/qrs-range.cjs +38 -0
- package/qrs-range.cjs.map +6 -0
- package/qrs-range.d.ts +6 -0
- package/qrs-range.d.ts.map +1 -0
- package/qrs-range.mjs +19 -0
- package/qrs-range.mjs.map +6 -0
- package/qrs-ring.cjs +50 -0
- package/qrs-ring.cjs.map +6 -0
- package/qrs-ring.d.ts +3 -0
- package/qrs-ring.d.ts.map +1 -0
- package/qrs-ring.mjs +31 -0
- package/qrs-ring.mjs.map +6 -0
- package/qrs-scale.cjs +30 -0
- package/qrs-scale.cjs.map +6 -0
- package/qrs-scale.d.ts +4 -0
- package/qrs-scale.d.ts.map +1 -0
- package/qrs-scale.mjs +11 -0
- package/qrs-scale.mjs.map +6 -0
- package/qrs-spiral.cjs +36 -0
- package/qrs-spiral.cjs.map +6 -0
- package/qrs-spiral.d.ts +3 -0
- package/qrs-spiral.d.ts.map +1 -0
- package/qrs-spiral.mjs +17 -0
- package/qrs-spiral.mjs.map +6 -0
- package/qrs-subtract.cjs +31 -0
- package/qrs-subtract.cjs.map +6 -0
- package/qrs-subtract.d.ts +4 -0
- package/qrs-subtract.d.ts.map +1 -0
- package/qrs-subtract.mjs +12 -0
- package/qrs-subtract.mjs.map +6 -0
- package/qrs.cjs +28 -0
- package/qrs.cjs.map +6 -0
- package/qrs.d.ts +36 -0
- package/qrs.d.ts.map +1 -0
- package/qrs.mjs +9 -0
- package/qrs.mjs.map +6 -0
package/cube.d.ts
ADDED
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
import type { Cube } from "./hex-system.js";
|
|
2
|
+
import type { BareQRSPoint, QRSPoint } from "./qrs.js";
|
|
3
|
+
/**
|
|
4
|
+
* Cube points store the `s` value explicitly, instead of calculating it.
|
|
5
|
+
*/
|
|
6
|
+
export interface BareHexCubePoint extends BareQRSPoint {
|
|
7
|
+
/**
|
|
8
|
+
* Bottom right (negative) to top left (positive).
|
|
9
|
+
*/
|
|
10
|
+
s: number;
|
|
11
|
+
}
|
|
12
|
+
export interface HexCubePoint extends QRSPoint<Cube>, BareHexCubePoint {
|
|
13
|
+
}
|
|
14
|
+
export declare const CUBE_FLAT_SE: Readonly<{
|
|
15
|
+
readonly q: 1;
|
|
16
|
+
readonly r: 0;
|
|
17
|
+
readonly s: -1;
|
|
18
|
+
readonly system: "cube";
|
|
19
|
+
}>;
|
|
20
|
+
export declare const CUBE_FLAT_N: Readonly<{
|
|
21
|
+
readonly q: 0;
|
|
22
|
+
readonly r: -1;
|
|
23
|
+
readonly s: 1;
|
|
24
|
+
readonly system: "cube";
|
|
25
|
+
}>;
|
|
26
|
+
export declare const CUBE_FLAT_NW: Readonly<{
|
|
27
|
+
readonly q: -1;
|
|
28
|
+
readonly r: 0;
|
|
29
|
+
readonly s: 1;
|
|
30
|
+
readonly system: "cube";
|
|
31
|
+
}>;
|
|
32
|
+
export declare const CUBE_FLAT_S: Readonly<{
|
|
33
|
+
readonly q: 0;
|
|
34
|
+
readonly r: 1;
|
|
35
|
+
readonly s: -1;
|
|
36
|
+
readonly system: "cube";
|
|
37
|
+
}>;
|
|
38
|
+
export declare const CUBE_NE: Readonly<{
|
|
39
|
+
readonly q: 1;
|
|
40
|
+
readonly r: -1;
|
|
41
|
+
readonly s: 0;
|
|
42
|
+
readonly system: "cube";
|
|
43
|
+
}>;
|
|
44
|
+
export declare const CUBE_SW: Readonly<{
|
|
45
|
+
readonly q: -1;
|
|
46
|
+
readonly r: 1;
|
|
47
|
+
readonly s: 0;
|
|
48
|
+
readonly system: "cube";
|
|
49
|
+
}>;
|
|
50
|
+
export declare const CUBE_POINTY_E: Readonly<{
|
|
51
|
+
readonly q: 1;
|
|
52
|
+
readonly r: 0;
|
|
53
|
+
readonly s: -1;
|
|
54
|
+
readonly system: "cube";
|
|
55
|
+
}>;
|
|
56
|
+
export declare const CUBE_POINTY_NW: Readonly<{
|
|
57
|
+
readonly q: 0;
|
|
58
|
+
readonly r: -1;
|
|
59
|
+
readonly s: 1;
|
|
60
|
+
readonly system: "cube";
|
|
61
|
+
}>;
|
|
62
|
+
export declare const CUBE_POINTY_W: Readonly<{
|
|
63
|
+
readonly q: -1;
|
|
64
|
+
readonly r: 0;
|
|
65
|
+
readonly s: 1;
|
|
66
|
+
readonly system: "cube";
|
|
67
|
+
}>;
|
|
68
|
+
export declare const CUBE_POINTY_SE: Readonly<{
|
|
69
|
+
readonly q: 0;
|
|
70
|
+
readonly r: 1;
|
|
71
|
+
readonly s: -1;
|
|
72
|
+
readonly system: "cube";
|
|
73
|
+
}>;
|
|
74
|
+
export type HexCubeDirection = typeof CUBE_POINTY_E | typeof CUBE_NE | typeof CUBE_POINTY_NW | typeof CUBE_POINTY_W | typeof CUBE_SW | typeof CUBE_POINTY_SE;
|
|
75
|
+
export declare const HEX_CUBE_DIRECTIONS: Readonly<HexCubeDirection[]>;
|
|
76
|
+
export declare const stringifyCube: ({ q, r, s }: BareHexCubePoint) => string;
|
|
77
|
+
/**
|
|
78
|
+
* Build a branded Cube point from `q` and `r` coordinates.
|
|
79
|
+
*/
|
|
80
|
+
export declare const cubeFromQR: (q: number, r: number) => HexCubePoint;
|
|
81
|
+
export type CubeTuple = [q: number, r: number, s: number];
|
|
82
|
+
export declare const CUBE_DIAG_FLAT_E: Readonly<{
|
|
83
|
+
readonly q: 2;
|
|
84
|
+
readonly r: -1;
|
|
85
|
+
readonly s: 1;
|
|
86
|
+
readonly system: "cube";
|
|
87
|
+
}>;
|
|
88
|
+
export declare const CUBE_DIAG_FLAT_SW: Readonly<{
|
|
89
|
+
readonly q: -1;
|
|
90
|
+
readonly r: 2;
|
|
91
|
+
readonly s: -1;
|
|
92
|
+
readonly system: "cube";
|
|
93
|
+
}>;
|
|
94
|
+
export declare const CUBE_DIAG_FLAT_W: Readonly<{
|
|
95
|
+
readonly q: -2;
|
|
96
|
+
readonly r: 1;
|
|
97
|
+
readonly s: 1;
|
|
98
|
+
readonly system: "cube";
|
|
99
|
+
}>;
|
|
100
|
+
export declare const CUBE_DIAG_FLAT_NE: Readonly<{
|
|
101
|
+
readonly q: 1;
|
|
102
|
+
readonly r: -2;
|
|
103
|
+
readonly s: 1;
|
|
104
|
+
readonly system: "cube";
|
|
105
|
+
}>;
|
|
106
|
+
export declare const CUBE_DIAG_SE: Readonly<{
|
|
107
|
+
readonly q: 1;
|
|
108
|
+
readonly r: 1;
|
|
109
|
+
readonly s: -2;
|
|
110
|
+
readonly system: "cube";
|
|
111
|
+
}>;
|
|
112
|
+
export declare const CUBE_DIAG_NW: Readonly<{
|
|
113
|
+
readonly q: -1;
|
|
114
|
+
readonly r: -1;
|
|
115
|
+
readonly s: 2;
|
|
116
|
+
readonly system: "cube";
|
|
117
|
+
}>;
|
|
118
|
+
export declare const CUBE_DIAG_POINTY_N: Readonly<{
|
|
119
|
+
readonly q: 1;
|
|
120
|
+
readonly r: -2;
|
|
121
|
+
readonly s: 1;
|
|
122
|
+
readonly system: "cube";
|
|
123
|
+
}>;
|
|
124
|
+
export declare const CUBE_DIAG_POINTY_NE: Readonly<{
|
|
125
|
+
readonly q: 2;
|
|
126
|
+
readonly r: -1;
|
|
127
|
+
readonly s: 1;
|
|
128
|
+
readonly system: "cube";
|
|
129
|
+
}>;
|
|
130
|
+
export declare const CUBE_DIAG_POINTY_S: Readonly<{
|
|
131
|
+
readonly q: -1;
|
|
132
|
+
readonly r: 2;
|
|
133
|
+
readonly s: -1;
|
|
134
|
+
readonly system: "cube";
|
|
135
|
+
}>;
|
|
136
|
+
export declare const CUBE_DIAG_POINTY_SW: Readonly<{
|
|
137
|
+
readonly q: -2;
|
|
138
|
+
readonly r: 1;
|
|
139
|
+
readonly s: 1;
|
|
140
|
+
readonly system: "cube";
|
|
141
|
+
}>;
|
|
142
|
+
export type CubeDiagDirection = typeof CUBE_DIAG_SE | typeof CUBE_DIAG_NW | typeof CUBE_DIAG_POINTY_N | typeof CUBE_DIAG_POINTY_NE | typeof CUBE_DIAG_POINTY_S | typeof CUBE_DIAG_POINTY_SW;
|
|
143
|
+
export declare const CUBE_ORIGIN: Readonly<{
|
|
144
|
+
readonly q: 0;
|
|
145
|
+
readonly r: 0;
|
|
146
|
+
readonly s: 0;
|
|
147
|
+
readonly system: "cube";
|
|
148
|
+
}>;
|
|
149
|
+
export declare const CUBE_EPSILON: Readonly<{
|
|
150
|
+
q: number;
|
|
151
|
+
r: number;
|
|
152
|
+
s: number;
|
|
153
|
+
system: "cube";
|
|
154
|
+
}>;
|
|
155
|
+
//# sourceMappingURL=cube.d.ts.map
|
package/cube.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cube.d.ts","sourceRoot":"","sources":["../../../src/packages/hexgrid/cube.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEvD;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,YAAY;IACrD;;OAEG;IACH,CAAC,EAAE,MAAM,CAAC;CACV;AAED,MAAM,WAAW,YAAa,SAAQ,QAAQ,CAAC,IAAI,CAAC,EAAE,gBAAgB;CAAG;AAEzE,eAAO,MAAM,YAAY;;;;;EAA8D,CAAC;AACxF,eAAO,MAAM,WAAW;;;;;EAA8D,CAAC;AACvF,eAAO,MAAM,YAAY;;;;;EAA8D,CAAC;AACxF,eAAO,MAAM,WAAW;;;;;EAA8D,CAAC;AAEvF,eAAO,MAAM,OAAO;;;;;EAA8D,CAAC;AACnF,eAAO,MAAM,OAAO;;;;;EAA8D,CAAC;AAEnF,eAAO,MAAM,aAAa;;;;;EAAe,CAAC;AAC1C,eAAO,MAAM,cAAc;;;;;EAAc,CAAC;AAC1C,eAAO,MAAM,aAAa;;;;;EAAe,CAAC;AAC1C,eAAO,MAAM,cAAc;;;;;EAAc,CAAC;AAE1C,MAAM,MAAM,gBAAgB,GAAG,OAAO,aAAa,GAAG,OAAO,OAAO,GAAG,OAAO,cAAc,GAAG,OAAO,aAAa,GAAG,OAAO,OAAO,GAAG,OAAO,cAAc,CAAC;AAE7J,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,gBAAgB,EAAE,CAO3D,CAAC;AAEH,eAAO,MAAM,aAAa,GAAI,aAAa,gBAAgB,KAAG,MAAgC,CAAC;AAE/F;;GAEG;AACH,eAAO,MAAM,UAAU,GAAI,GAAG,MAAM,EAAE,GAAG,MAAM,KAAG,YAAmD,CAAC;AAEtG,MAAM,MAAM,SAAS,GAAG,CAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,CAAE,CAAC;AAE5D,eAAO,MAAM,gBAAgB;;;;;EAAqF,CAAC;AACnH,eAAO,MAAM,iBAAiB;;;;;EAAsF,CAAC;AACrH,eAAO,MAAM,gBAAgB;;;;;EAAqF,CAAC;AACnH,eAAO,MAAM,iBAAiB;;;;;EAAqF,CAAC;AAEpH,eAAO,MAAM,YAAY;;;;;EAAqF,CAAC;AAC/G,eAAO,MAAM,YAAY;;;;;EAAsF,CAAC;AAEhH,eAAO,MAAM,kBAAkB;;;;;EAAoB,CAAC;AACpD,eAAO,MAAM,mBAAmB;;;;;EAAmB,CAAC;AACpD,eAAO,MAAM,kBAAkB;;;;;EAAoB,CAAC;AACpD,eAAO,MAAM,mBAAmB;;;;;EAAmB,CAAC;AAEpD,MAAM,MAAM,iBAAiB,GAAG,OAAO,YAAY,GAAG,OAAO,YAAY,GAAG,OAAO,kBAAkB,GAAG,OAAO,mBAAmB,GAAG,OAAO,kBAAkB,GAAG,OAAO,mBAAmB,CAAC;AAE5L,eAAO,MAAM,WAAW;;;;;EAAoF,CAAC;AAE7G,eAAO,MAAM,YAAY;;;;;EAAqF,CAAC"}
|
package/cube.mjs
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
+
import { CUBE } from "./hex-system.mjs";
|
|
4
|
+
const CUBE_FLAT_SE = Object.freeze({ q: 1, r: 0, s: -1, system: CUBE });
|
|
5
|
+
const CUBE_FLAT_N = Object.freeze({ q: 0, r: -1, s: 1, system: CUBE });
|
|
6
|
+
const CUBE_FLAT_NW = Object.freeze({ q: -1, r: 0, s: 1, system: CUBE });
|
|
7
|
+
const CUBE_FLAT_S = Object.freeze({ q: 0, r: 1, s: -1, system: CUBE });
|
|
8
|
+
const CUBE_NE = Object.freeze({ q: 1, r: -1, s: 0, system: CUBE });
|
|
9
|
+
const CUBE_SW = Object.freeze({ q: -1, r: 1, s: 0, system: CUBE });
|
|
10
|
+
const CUBE_POINTY_E = CUBE_FLAT_SE;
|
|
11
|
+
const CUBE_POINTY_NW = CUBE_FLAT_N;
|
|
12
|
+
const CUBE_POINTY_W = CUBE_FLAT_NW;
|
|
13
|
+
const CUBE_POINTY_SE = CUBE_FLAT_S;
|
|
14
|
+
const HEX_CUBE_DIRECTIONS = Object.freeze([
|
|
15
|
+
CUBE_FLAT_SE,
|
|
16
|
+
CUBE_NE,
|
|
17
|
+
CUBE_FLAT_N,
|
|
18
|
+
CUBE_FLAT_NW,
|
|
19
|
+
CUBE_SW,
|
|
20
|
+
CUBE_FLAT_S
|
|
21
|
+
]);
|
|
22
|
+
const stringifyCube = /* @__PURE__ */ __name(({ q, r, s }) => `Cube<${q},${r},${s}>`, "stringifyCube");
|
|
23
|
+
const cubeFromQR = /* @__PURE__ */ __name((q, r) => ({ q, r, s: -q - r, system: CUBE }), "cubeFromQR");
|
|
24
|
+
const CUBE_DIAG_FLAT_E = Object.freeze({ q: 2, r: -1, s: 1, system: CUBE });
|
|
25
|
+
const CUBE_DIAG_FLAT_SW = Object.freeze({ q: -1, r: 2, s: -1, system: CUBE });
|
|
26
|
+
const CUBE_DIAG_FLAT_W = Object.freeze({ q: -2, r: 1, s: 1, system: CUBE });
|
|
27
|
+
const CUBE_DIAG_FLAT_NE = Object.freeze({ q: 1, r: -2, s: 1, system: CUBE });
|
|
28
|
+
const CUBE_DIAG_SE = Object.freeze({ q: 1, r: 1, s: -2, system: CUBE });
|
|
29
|
+
const CUBE_DIAG_NW = Object.freeze({ q: -1, r: -1, s: 2, system: CUBE });
|
|
30
|
+
const CUBE_DIAG_POINTY_N = CUBE_DIAG_FLAT_NE;
|
|
31
|
+
const CUBE_DIAG_POINTY_NE = CUBE_DIAG_FLAT_E;
|
|
32
|
+
const CUBE_DIAG_POINTY_S = CUBE_DIAG_FLAT_SW;
|
|
33
|
+
const CUBE_DIAG_POINTY_SW = CUBE_DIAG_FLAT_W;
|
|
34
|
+
const CUBE_ORIGIN = Object.freeze({ q: 0, r: 0, s: 0, system: CUBE });
|
|
35
|
+
const CUBE_EPSILON = Object.freeze({ q: 1e-6, r: 1e-6, s: -2e-6, system: CUBE });
|
|
36
|
+
export {
|
|
37
|
+
CUBE_DIAG_FLAT_E,
|
|
38
|
+
CUBE_DIAG_FLAT_NE,
|
|
39
|
+
CUBE_DIAG_FLAT_SW,
|
|
40
|
+
CUBE_DIAG_FLAT_W,
|
|
41
|
+
CUBE_DIAG_NW,
|
|
42
|
+
CUBE_DIAG_POINTY_N,
|
|
43
|
+
CUBE_DIAG_POINTY_NE,
|
|
44
|
+
CUBE_DIAG_POINTY_S,
|
|
45
|
+
CUBE_DIAG_POINTY_SW,
|
|
46
|
+
CUBE_DIAG_SE,
|
|
47
|
+
CUBE_EPSILON,
|
|
48
|
+
CUBE_FLAT_N,
|
|
49
|
+
CUBE_FLAT_NW,
|
|
50
|
+
CUBE_FLAT_S,
|
|
51
|
+
CUBE_FLAT_SE,
|
|
52
|
+
CUBE_NE,
|
|
53
|
+
CUBE_ORIGIN,
|
|
54
|
+
CUBE_POINTY_E,
|
|
55
|
+
CUBE_POINTY_NW,
|
|
56
|
+
CUBE_POINTY_SE,
|
|
57
|
+
CUBE_POINTY_W,
|
|
58
|
+
CUBE_SW,
|
|
59
|
+
HEX_CUBE_DIRECTIONS,
|
|
60
|
+
cubeFromQR,
|
|
61
|
+
stringifyCube
|
|
62
|
+
};
|
|
63
|
+
//# sourceMappingURL=cube.mjs.map
|
package/cube.mjs.map
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/packages/hexgrid/cube.ts"],
|
|
4
|
+
"mappings": ";;AAAA,SAAS,YAAY;AAgBd,MAAM,eAAe,OAAO,OAAO,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,QAAQ,KAAK,CAAU;AAC/E,MAAM,cAAc,OAAO,OAAO,EAAE,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,QAAQ,KAAK,CAAU;AAC9E,MAAM,eAAe,OAAO,OAAO,EAAE,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,QAAQ,KAAK,CAAU;AAC/E,MAAM,cAAc,OAAO,OAAO,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,QAAQ,KAAK,CAAU;AAE9E,MAAM,UAAU,OAAO,OAAO,EAAE,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,QAAQ,KAAK,CAAU;AAC1E,MAAM,UAAU,OAAO,OAAO,EAAE,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,QAAQ,KAAK,CAAU;AAE1E,MAAM,gBAAgB;AACtB,MAAM,iBAAiB;AACvB,MAAM,gBAAgB;AACtB,MAAM,iBAAiB;AAIvB,MAAM,sBAAoD,OAAO,OAAO;AAAA,EAC9E;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,CAAC;AAEM,MAAM,gBAAgB,wBAAC,EAAE,GAAG,GAAG,EAAE,MAAgC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAA9D;AAKtB,MAAM,aAAa,wBAAC,GAAW,OAA6B,EAAE,GAAG,GAAG,GAAG,CAAC,IAAI,GAAG,QAAQ,KAAK,IAAzE;AAInB,MAAM,mBAAmB,OAAO,OAAO,EAAE,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,QAAQ,KAAK,CAAiC;AAC1G,MAAM,oBAAoB,OAAO,OAAO,EAAE,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,QAAQ,KAAK,CAAiC;AAC5G,MAAM,mBAAmB,OAAO,OAAO,EAAE,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,QAAQ,KAAK,CAAiC;AAC1G,MAAM,oBAAoB,OAAO,OAAO,EAAE,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,QAAQ,KAAK,CAAiC;AAE3G,MAAM,eAAe,OAAO,OAAO,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,QAAQ,KAAK,CAAiC;AACtG,MAAM,eAAe,OAAO,OAAO,EAAE,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,QAAQ,KAAK,CAAiC;AAEvG,MAAM,qBAAqB;AAC3B,MAAM,sBAAsB;AAC5B,MAAM,qBAAqB;AAC3B,MAAM,sBAAsB;AAI5B,MAAM,cAAc,OAAO,OAAO,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,QAAQ,KAAK,CAAiC;AAEpG,MAAM,eAAe,OAAO,OAAO,EAAE,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,QAAQ,KAAK,CAAwB;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
package/double-add.cjs
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all)
|
|
9
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from))
|
|
14
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
+
}
|
|
17
|
+
return to;
|
|
18
|
+
};
|
|
19
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
20
|
+
var double_add_exports = {};
|
|
21
|
+
__export(double_add_exports, {
|
|
22
|
+
doubleHeightAdd: () => doubleHeightAdd,
|
|
23
|
+
doubleWidthAdd: () => doubleWidthAdd
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(double_add_exports);
|
|
26
|
+
var import_hex_system = require("./hex-system.cjs");
|
|
27
|
+
const doubleHeightAdd = /* @__PURE__ */ __name((left, right) => ({
|
|
28
|
+
col: left.col + right.col,
|
|
29
|
+
row: left.row + right.row,
|
|
30
|
+
system: import_hex_system.DOUBLE_H
|
|
31
|
+
}), "doubleHeightAdd");
|
|
32
|
+
const doubleWidthAdd = /* @__PURE__ */ __name((left, right) => ({
|
|
33
|
+
col: left.col + right.col,
|
|
34
|
+
row: left.row + right.row,
|
|
35
|
+
system: import_hex_system.DOUBLE_W
|
|
36
|
+
}), "doubleWidthAdd");
|
|
37
|
+
//# sourceMappingURL=double-add.cjs.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/packages/hexgrid/double-add.ts"],
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,wBAAmC;AAE5B,MAAM,kBAAkB,wBAAC,MAAyB,WAAiD;AAAA,EACzG,KAAK,KAAK,MAAM,MAAM;AAAA,EACtB,KAAK,KAAK,MAAM,MAAM;AAAA,EACtB,QAAQ;AACT,IAJ+B;AAMxB,MAAM,iBAAiB,wBAAC,MAAwB,WAA+C;AAAA,EACrG,KAAK,KAAK,MAAM,MAAM;AAAA,EACtB,KAAK,KAAK,MAAM,MAAM;AAAA,EACtB,QAAQ;AACT,IAJ8B;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
package/double-add.d.ts
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { DoubleHeightPoint, DoubleWidthPoint } from "./double.js";
|
|
2
|
+
export declare const doubleHeightAdd: (left: DoubleHeightPoint, right: DoubleHeightPoint) => DoubleHeightPoint;
|
|
3
|
+
export declare const doubleWidthAdd: (left: DoubleWidthPoint, right: DoubleWidthPoint) => DoubleWidthPoint;
|
|
4
|
+
//# sourceMappingURL=double-add.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"double-add.d.ts","sourceRoot":"","sources":["../../../src/packages/hexgrid/double-add.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGvE,eAAO,MAAM,eAAe,GAAI,MAAM,iBAAiB,EAAE,OAAO,iBAAiB,KAAG,iBAIlF,CAAC;AAEH,eAAO,MAAM,cAAc,GAAI,MAAM,gBAAgB,EAAE,OAAO,gBAAgB,KAAG,gBAI/E,CAAC"}
|
package/double-add.mjs
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
+
import { DOUBLE_H, DOUBLE_W } from "./hex-system.mjs";
|
|
4
|
+
const doubleHeightAdd = /* @__PURE__ */ __name((left, right) => ({
|
|
5
|
+
col: left.col + right.col,
|
|
6
|
+
row: left.row + right.row,
|
|
7
|
+
system: DOUBLE_H
|
|
8
|
+
}), "doubleHeightAdd");
|
|
9
|
+
const doubleWidthAdd = /* @__PURE__ */ __name((left, right) => ({
|
|
10
|
+
col: left.col + right.col,
|
|
11
|
+
row: left.row + right.row,
|
|
12
|
+
system: DOUBLE_W
|
|
13
|
+
}), "doubleWidthAdd");
|
|
14
|
+
export {
|
|
15
|
+
doubleHeightAdd,
|
|
16
|
+
doubleWidthAdd
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=double-add.mjs.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/packages/hexgrid/double-add.ts"],
|
|
4
|
+
"mappings": ";;AACA,SAAS,UAAU,gBAAgB;AAE5B,MAAM,kBAAkB,wBAAC,MAAyB,WAAiD;AAAA,EACzG,KAAK,KAAK,MAAM,MAAM;AAAA,EACtB,KAAK,KAAK,MAAM,MAAM;AAAA,EACtB,QAAQ;AACT,IAJ+B;AAMxB,MAAM,iBAAiB,wBAAC,MAAwB,WAA+C;AAAA,EACrG,KAAK,KAAK,MAAM,MAAM;AAAA,EACtB,KAAK,KAAK,MAAM,MAAM;AAAA,EACtB,QAAQ;AACT,IAJ8B;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all)
|
|
9
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from))
|
|
14
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
+
}
|
|
17
|
+
return to;
|
|
18
|
+
};
|
|
19
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
20
|
+
var double_distance_exports = {};
|
|
21
|
+
__export(double_distance_exports, {
|
|
22
|
+
doubleHeightDistance: () => doubleHeightDistance,
|
|
23
|
+
doubleWidthDistance: () => doubleWidthDistance
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(double_distance_exports);
|
|
26
|
+
const doubleHeightDistance = /* @__PURE__ */ __name((left, right) => {
|
|
27
|
+
const dCol = left.col - right.col;
|
|
28
|
+
const dRow = left.row - right.row;
|
|
29
|
+
return dCol + Math.max(0, (dRow - dCol) / 2);
|
|
30
|
+
}, "doubleHeightDistance");
|
|
31
|
+
const doubleWidthDistance = /* @__PURE__ */ __name((left, right) => {
|
|
32
|
+
const dCol = left.col - right.col;
|
|
33
|
+
const dRow = left.row - right.row;
|
|
34
|
+
return dRow + Math.max(0, (dCol - dRow) / 2);
|
|
35
|
+
}, "doubleWidthDistance");
|
|
36
|
+
//# sourceMappingURL=double-distance.cjs.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/packages/hexgrid/double-distance.ts"],
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEO,MAAM,uBAAuB,wBAAC,MAAyB,UAAqC;AAClG,QAAM,OAAO,KAAK,MAAM,MAAM;AAC9B,QAAM,OAAO,KAAK,MAAM,MAAM;AAC9B,SAAO,OAAO,KAAK,IAAI,IAAI,OAAO,QAAQ,CAAC;AAC5C,GAJoC;AAM7B,MAAM,sBAAsB,wBAAC,MAAwB,UAAoC;AAC/F,QAAM,OAAO,KAAK,MAAM,MAAM;AAC9B,QAAM,OAAO,KAAK,MAAM,MAAM;AAC9B,SAAO,OAAO,KAAK,IAAI,IAAI,OAAO,QAAQ,CAAC;AAC5C,GAJmC;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { DoubleHeightPoint, DoubleWidthPoint } from "./double.js";
|
|
2
|
+
export declare const doubleHeightDistance: (left: DoubleHeightPoint, right: DoubleHeightPoint) => number;
|
|
3
|
+
export declare const doubleWidthDistance: (left: DoubleWidthPoint, right: DoubleWidthPoint) => number;
|
|
4
|
+
//# sourceMappingURL=double-distance.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"double-distance.d.ts","sourceRoot":"","sources":["../../../src/packages/hexgrid/double-distance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEvE,eAAO,MAAM,oBAAoB,GAAI,MAAM,iBAAiB,EAAE,OAAO,iBAAiB,KAAG,MAIxF,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,MAAM,gBAAgB,EAAE,OAAO,gBAAgB,KAAG,MAIrF,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
+
const doubleHeightDistance = /* @__PURE__ */ __name((left, right) => {
|
|
4
|
+
const dCol = left.col - right.col;
|
|
5
|
+
const dRow = left.row - right.row;
|
|
6
|
+
return dCol + Math.max(0, (dRow - dCol) / 2);
|
|
7
|
+
}, "doubleHeightDistance");
|
|
8
|
+
const doubleWidthDistance = /* @__PURE__ */ __name((left, right) => {
|
|
9
|
+
const dCol = left.col - right.col;
|
|
10
|
+
const dRow = left.row - right.row;
|
|
11
|
+
return dRow + Math.max(0, (dCol - dRow) / 2);
|
|
12
|
+
}, "doubleWidthDistance");
|
|
13
|
+
export {
|
|
14
|
+
doubleHeightDistance,
|
|
15
|
+
doubleWidthDistance
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=double-distance.mjs.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/packages/hexgrid/double-distance.ts"],
|
|
4
|
+
"mappings": ";;AAEO,MAAM,uBAAuB,wBAAC,MAAyB,UAAqC;AAClG,QAAM,OAAO,KAAK,MAAM,MAAM;AAC9B,QAAM,OAAO,KAAK,MAAM,MAAM;AAC9B,SAAO,OAAO,KAAK,IAAI,IAAI,OAAO,QAAQ,CAAC;AAC5C,GAJoC;AAM7B,MAAM,sBAAsB,wBAAC,MAAwB,UAAoC;AAC/F,QAAM,OAAO,KAAK,MAAM,MAAM;AAC9B,QAAM,OAAO,KAAK,MAAM,MAAM;AAC9B,SAAO,OAAO,KAAK,IAAI,IAAI,OAAO,QAAQ,CAAC;AAC5C,GAJmC;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all)
|
|
9
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from))
|
|
14
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
+
}
|
|
17
|
+
return to;
|
|
18
|
+
};
|
|
19
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
20
|
+
var double_from_qrs_exports = {};
|
|
21
|
+
__export(double_from_qrs_exports, {
|
|
22
|
+
doubleHeightFromQRS: () => doubleHeightFromQRS,
|
|
23
|
+
doubleWidthFromQRS: () => doubleWidthFromQRS
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(double_from_qrs_exports);
|
|
26
|
+
var import_hex_system = require("./hex-system.cjs");
|
|
27
|
+
const doubleHeightFromQRS = /* @__PURE__ */ __name((qrs) => {
|
|
28
|
+
const col = qrs.q;
|
|
29
|
+
const row = 2 * qrs.r + col;
|
|
30
|
+
return { col, row, system: import_hex_system.DOUBLE_H };
|
|
31
|
+
}, "doubleHeightFromQRS");
|
|
32
|
+
const doubleWidthFromQRS = /* @__PURE__ */ __name((qrs) => {
|
|
33
|
+
const row = qrs.r;
|
|
34
|
+
const col = 2 * qrs.q + row;
|
|
35
|
+
return { col, row, system: import_hex_system.DOUBLE_W };
|
|
36
|
+
}, "doubleWidthFromQRS");
|
|
37
|
+
//# sourceMappingURL=double-from-qrs.cjs.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/packages/hexgrid/double-from-qrs.ts"],
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,wBAAmC;AAG5B,MAAM,sBAAsB,wBAAC,QAAyC;AAC5E,QAAM,MAAM,IAAI;AAChB,QAAM,MAAM,IAAI,IAAI,IAAI;AACxB,SAAO,EAAE,KAAK,KAAK,QAAQ,2BAAS;AACrC,GAJmC;AAM5B,MAAM,qBAAqB,wBAAC,QAAwC;AAC1E,QAAM,MAAM,IAAI;AAChB,QAAM,MAAM,IAAI,IAAI,IAAI;AACxB,SAAO,EAAE,KAAK,KAAK,QAAQ,2BAAS;AACrC,GAJkC;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { DoubleHeightPoint, DoubleWidthPoint } from "./double.js";
|
|
2
|
+
import type { BareQRSPoint } from "./qrs.js";
|
|
3
|
+
export declare const doubleHeightFromQRS: (qrs: BareQRSPoint) => DoubleHeightPoint;
|
|
4
|
+
export declare const doubleWidthFromQRS: (qrs: BareQRSPoint) => DoubleWidthPoint;
|
|
5
|
+
//# sourceMappingURL=double-from-qrs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"double-from-qrs.d.ts","sourceRoot":"","sources":["../../../src/packages/hexgrid/double-from-qrs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,eAAO,MAAM,mBAAmB,GAAI,KAAK,YAAY,KAAG,iBAIvD,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,KAAK,YAAY,KAAG,gBAItD,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
+
import { DOUBLE_H, DOUBLE_W } from "./hex-system.mjs";
|
|
4
|
+
const doubleHeightFromQRS = /* @__PURE__ */ __name((qrs) => {
|
|
5
|
+
const col = qrs.q;
|
|
6
|
+
const row = 2 * qrs.r + col;
|
|
7
|
+
return { col, row, system: DOUBLE_H };
|
|
8
|
+
}, "doubleHeightFromQRS");
|
|
9
|
+
const doubleWidthFromQRS = /* @__PURE__ */ __name((qrs) => {
|
|
10
|
+
const row = qrs.r;
|
|
11
|
+
const col = 2 * qrs.q + row;
|
|
12
|
+
return { col, row, system: DOUBLE_W };
|
|
13
|
+
}, "doubleWidthFromQRS");
|
|
14
|
+
export {
|
|
15
|
+
doubleHeightFromQRS,
|
|
16
|
+
doubleWidthFromQRS
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=double-from-qrs.mjs.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/packages/hexgrid/double-from-qrs.ts"],
|
|
4
|
+
"mappings": ";;AACA,SAAS,UAAU,gBAAgB;AAG5B,MAAM,sBAAsB,wBAAC,QAAyC;AAC5E,QAAM,MAAM,IAAI;AAChB,QAAM,MAAM,IAAI,IAAI,IAAI;AACxB,SAAO,EAAE,KAAK,KAAK,QAAQ,SAAS;AACrC,GAJmC;AAM5B,MAAM,qBAAqB,wBAAC,QAAwC;AAC1E,QAAM,MAAM,IAAI;AAChB,QAAM,MAAM,IAAI,IAAI,IAAI;AACxB,SAAO,EAAE,KAAK,KAAK,QAAQ,SAAS;AACrC,GAJkC;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all)
|
|
9
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from))
|
|
14
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
+
}
|
|
17
|
+
return to;
|
|
18
|
+
};
|
|
19
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
20
|
+
var double_neighbor_exports = {};
|
|
21
|
+
__export(double_neighbor_exports, {
|
|
22
|
+
doubleHeightNeighbor: () => doubleHeightNeighbor,
|
|
23
|
+
doubleWidthNeighbor: () => doubleWidthNeighbor
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(double_neighbor_exports);
|
|
26
|
+
var import_double_add = require("./double-add.cjs");
|
|
27
|
+
const doubleHeightNeighbor = /* @__PURE__ */ __name((double, direction) => (0, import_double_add.doubleHeightAdd)(double, direction), "doubleHeightNeighbor");
|
|
28
|
+
const doubleWidthNeighbor = /* @__PURE__ */ __name((double, direction) => (0, import_double_add.doubleWidthAdd)(double, direction), "doubleWidthNeighbor");
|
|
29
|
+
//# sourceMappingURL=double-neighbor.cjs.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/packages/hexgrid/double-neighbor.ts"],
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAgD;AAGzC,MAAM,uBAAuB,wBAAC,QAA2B,kBAAqC,mCAAgB,QAAQ,SAAS,GAAlG;AAE7B,MAAM,sBAAsB,wBAAC,QAA0B,kBAAoC,kCAAe,QAAQ,SAAS,GAA/F;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { DoubleHeightDirection, DoubleHeightPoint, DoubleWidthDirection, DoubleWidthPoint } from "./double.js";
|
|
2
|
+
export declare const doubleHeightNeighbor: (double: DoubleHeightPoint, direction: DoubleHeightDirection) => DoubleHeightPoint;
|
|
3
|
+
export declare const doubleWidthNeighbor: (double: DoubleWidthPoint, direction: DoubleWidthDirection) => DoubleWidthPoint;
|
|
4
|
+
//# sourceMappingURL=double-neighbor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"double-neighbor.d.ts","sourceRoot":"","sources":["../../../src/packages/hexgrid/double-neighbor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpH,eAAO,MAAM,oBAAoB,GAAI,QAAQ,iBAAiB,EAAE,WAAW,qBAAqB,sBAAuC,CAAC;AAExI,eAAO,MAAM,mBAAmB,GAAI,QAAQ,gBAAgB,EAAE,WAAW,oBAAoB,qBAAsC,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
+
import { doubleHeightAdd, doubleWidthAdd } from "./double-add.mjs";
|
|
4
|
+
const doubleHeightNeighbor = /* @__PURE__ */ __name((double, direction) => doubleHeightAdd(double, direction), "doubleHeightNeighbor");
|
|
5
|
+
const doubleWidthNeighbor = /* @__PURE__ */ __name((double, direction) => doubleWidthAdd(double, direction), "doubleWidthNeighbor");
|
|
6
|
+
export {
|
|
7
|
+
doubleHeightNeighbor,
|
|
8
|
+
doubleWidthNeighbor
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=double-neighbor.mjs.map
|
package/double.cjs
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var double_exports = {};
|
|
20
|
+
__export(double_exports, {
|
|
21
|
+
DOUBLE_H_N: () => DOUBLE_H_N,
|
|
22
|
+
DOUBLE_H_NE: () => DOUBLE_H_NE,
|
|
23
|
+
DOUBLE_H_NW: () => DOUBLE_H_NW,
|
|
24
|
+
DOUBLE_H_S: () => DOUBLE_H_S,
|
|
25
|
+
DOUBLE_H_SE: () => DOUBLE_H_SE,
|
|
26
|
+
DOUBLE_H_SW: () => DOUBLE_H_SW,
|
|
27
|
+
DOUBLE_W_E: () => DOUBLE_W_E,
|
|
28
|
+
DOUBLE_W_NE: () => DOUBLE_W_NE,
|
|
29
|
+
DOUBLE_W_NW: () => DOUBLE_W_NW,
|
|
30
|
+
DOUBLE_W_SE: () => DOUBLE_W_SE,
|
|
31
|
+
DOUBLE_W_SW: () => DOUBLE_W_SW,
|
|
32
|
+
DOUBLE_W_W: () => DOUBLE_W_W
|
|
33
|
+
});
|
|
34
|
+
module.exports = __toCommonJS(double_exports);
|
|
35
|
+
var import_hex_system = require("./hex-system.cjs");
|
|
36
|
+
const DOUBLE_H_N = Object.freeze({ col: 0, row: -2, system: import_hex_system.DOUBLE_H });
|
|
37
|
+
const DOUBLE_H_NE = Object.freeze({ col: 1, row: -1, system: import_hex_system.DOUBLE_H });
|
|
38
|
+
const DOUBLE_H_SE = Object.freeze({ col: 1, row: 1, system: import_hex_system.DOUBLE_H });
|
|
39
|
+
const DOUBLE_H_S = Object.freeze({ col: 0, row: 2, system: import_hex_system.DOUBLE_H });
|
|
40
|
+
const DOUBLE_H_SW = Object.freeze({ col: -1, row: 1, system: import_hex_system.DOUBLE_H });
|
|
41
|
+
const DOUBLE_H_NW = Object.freeze({ col: -1, row: -1, system: import_hex_system.DOUBLE_H });
|
|
42
|
+
const DOUBLE_W_E = Object.freeze({ col: 2, row: 0, system: import_hex_system.DOUBLE_W });
|
|
43
|
+
const DOUBLE_W_SE = Object.freeze({ col: 1, row: 1, system: import_hex_system.DOUBLE_W });
|
|
44
|
+
const DOUBLE_W_SW = Object.freeze({ col: -1, row: 1, system: import_hex_system.DOUBLE_W });
|
|
45
|
+
const DOUBLE_W_W = Object.freeze({ col: -2, row: 0, system: import_hex_system.DOUBLE_W });
|
|
46
|
+
const DOUBLE_W_NW = Object.freeze({ col: -1, row: 1, system: import_hex_system.DOUBLE_W });
|
|
47
|
+
const DOUBLE_W_NE = Object.freeze({ col: 1, row: -1, system: import_hex_system.DOUBLE_W });
|
|
48
|
+
//# sourceMappingURL=double.cjs.map
|
package/double.cjs.map
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/packages/hexgrid/double.ts"],
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAwE;AAiBjE,MAAM,aAAa,OAAO,OAAO,EAAE,KAAK,GAAG,KAAK,IAAI,QAAQ,2BAAS,CAAsC;AAC3G,MAAM,cAAc,OAAO,OAAO,EAAE,KAAK,GAAG,KAAK,IAAI,QAAQ,2BAAS,CAAsC;AAC5G,MAAM,cAAc,OAAO,OAAO,EAAE,KAAK,GAAG,KAAK,GAAG,QAAQ,2BAAS,CAAsC;AAC3G,MAAM,aAAa,OAAO,OAAO,EAAE,KAAK,GAAG,KAAK,GAAG,QAAQ,2BAAS,CAAsC;AAC1G,MAAM,cAAc,OAAO,OAAO,EAAE,KAAK,IAAI,KAAK,GAAG,QAAQ,2BAAS,CAAsC;AAC5G,MAAM,cAAc,OAAO,OAAO,EAAE,KAAK,IAAI,KAAK,IAAI,QAAQ,2BAAS,CAAsC;AAI7G,MAAM,aAAa,OAAO,OAAO,EAAE,KAAK,GAAG,KAAK,GAAG,QAAQ,2BAAS,CAAqC;AACzG,MAAM,cAAc,OAAO,OAAO,EAAE,KAAK,GAAG,KAAK,GAAG,QAAQ,2BAAS,CAAqC;AAC1G,MAAM,cAAc,OAAO,OAAO,EAAE,KAAK,IAAI,KAAK,GAAG,QAAQ,2BAAS,CAAqC;AAC3G,MAAM,aAAa,OAAO,OAAO,EAAE,KAAK,IAAI,KAAK,GAAG,QAAQ,2BAAS,CAAqC;AAC1G,MAAM,cAAc,OAAO,OAAO,EAAE,KAAK,IAAI,KAAK,GAAG,QAAQ,2BAAS,CAAqC;AAC3G,MAAM,cAAc,OAAO,OAAO,EAAE,KAAK,GAAG,KAAK,IAAI,QAAQ,2BAAS,CAAqC;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|