@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
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
+
import { EVEN_Q, EVEN_R, ODD_Q, ODD_R } from "./hex-system.mjs";
|
|
4
|
+
const SIMPLE_AXIAL_KEY = Object.freeze({
|
|
5
|
+
[EVEN_Q]: "q",
|
|
6
|
+
[EVEN_R]: "r",
|
|
7
|
+
[ODD_Q]: "q",
|
|
8
|
+
[ODD_R]: "r"
|
|
9
|
+
});
|
|
10
|
+
const COMPLEX_AXIAL_KEY = Object.freeze({
|
|
11
|
+
[EVEN_Q]: "r",
|
|
12
|
+
[EVEN_R]: "q",
|
|
13
|
+
[ODD_Q]: "r",
|
|
14
|
+
[ODD_R]: "q"
|
|
15
|
+
});
|
|
16
|
+
const offsetFromQRS = /* @__PURE__ */ __name((system, point) => {
|
|
17
|
+
const simpleAxialKey = SIMPLE_AXIAL_KEY[system];
|
|
18
|
+
const simpleIn = point[simpleAxialKey];
|
|
19
|
+
const complexAxialKey = COMPLEX_AXIAL_KEY[system];
|
|
20
|
+
const complexIn = point[complexAxialKey];
|
|
21
|
+
let bit = simpleIn & 1;
|
|
22
|
+
if (system === ODD_R || system === ODD_Q) {
|
|
23
|
+
bit = -bit;
|
|
24
|
+
}
|
|
25
|
+
const complexOut = complexIn + (simpleIn + bit) / 2;
|
|
26
|
+
let col;
|
|
27
|
+
let row;
|
|
28
|
+
if (system === ODD_R || system === EVEN_R) {
|
|
29
|
+
col = complexOut;
|
|
30
|
+
row = simpleIn;
|
|
31
|
+
} else {
|
|
32
|
+
col = simpleIn;
|
|
33
|
+
row = complexOut;
|
|
34
|
+
}
|
|
35
|
+
return {
|
|
36
|
+
col,
|
|
37
|
+
row,
|
|
38
|
+
system
|
|
39
|
+
};
|
|
40
|
+
}, "offsetFromQRS");
|
|
41
|
+
const oddRFromQRS = /* @__PURE__ */ __name((point) => offsetFromQRS(ODD_R, point), "oddRFromQRS");
|
|
42
|
+
const oddQFromQRS = /* @__PURE__ */ __name((point) => offsetFromQRS(ODD_Q, point), "oddQFromQRS");
|
|
43
|
+
const evenRFromQRS = /* @__PURE__ */ __name((point) => offsetFromQRS(EVEN_R, point), "evenRFromQRS");
|
|
44
|
+
const evenQFromQRS = /* @__PURE__ */ __name((point) => offsetFromQRS(EVEN_Q, point), "evenQFromQRS");
|
|
45
|
+
export {
|
|
46
|
+
evenQFromQRS,
|
|
47
|
+
evenRFromQRS,
|
|
48
|
+
oddQFromQRS,
|
|
49
|
+
oddRFromQRS
|
|
50
|
+
};
|
|
51
|
+
//# sourceMappingURL=offset-from-qrs.mjs.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/packages/hexgrid/offset-from-qrs.ts"],
|
|
4
|
+
"mappings": ";;AAAA,SAAS,QAAQ,QAAQ,OAAO,aAAa;AAI7C,MAAM,mBAAuE,OAAO,OAAO;AAAA,EAC1F,CAAC,MAAM,GAAG;AAAA,EACV,CAAC,MAAM,GAAG;AAAA,EACV,CAAC,KAAK,GAAG;AAAA,EACT,CAAC,KAAK,GAAG;AACV,CAAC;AAED,MAAM,oBAAwE,OAAO,OAAO;AAAA,EAC3F,CAAC,MAAM,GAAG;AAAA,EACV,CAAC,MAAM,GAAG;AAAA,EACV,CAAC,KAAK,GAAG;AAAA,EACT,CAAC,KAAK,GAAG;AACV,CAAC;AAED,MAAM,gBAAgB,wBAAyB,QAAW,UAAwC;AACjG,QAAM,iBAAiB,iBAAiB,MAAM;AAC9C,QAAM,WAAmB,MAAM,cAAc;AAC7C,QAAM,kBAAkB,kBAAkB,MAAM;AAChD,QAAM,YAAoB,MAAM,eAAe;AAC/C,MAAI,MAAc,WAAW;AAC7B,MAAI,WAAW,SAAS,WAAW,OAAO;AACzC,UAAM,CAAC;AAAA,EACR;AACA,QAAM,aAAa,aAAc,WAAW,OAAO;AACnD,MAAI;AACJ,MAAI;AACJ,MAAI,WAAW,SAAS,WAAW,QAAQ;AAC1C,UAAM;AACN,UAAM;AAAA,EACP,OAAO;AACN,UAAM;AACN,UAAM;AAAA,EACP;AACA,SAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,EACD;AACD,GAxBsB;AA0Bf,MAAM,cAAc,wBAAC,UAAmC,cAAc,OAAO,KAAK,GAA9D;AACpB,MAAM,cAAc,wBAAC,UAAmC,cAAc,OAAO,KAAK,GAA9D;AACpB,MAAM,eAAe,wBAAC,UAAoC,cAAc,QAAQ,KAAK,GAAhE;AACrB,MAAM,eAAe,wBAAC,UAAoC,cAAc,QAAQ,KAAK,GAAhE;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
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 offset_neighbor_exports = {};
|
|
21
|
+
__export(offset_neighbor_exports, {
|
|
22
|
+
offsetNeighbor: () => offsetNeighbor
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(offset_neighbor_exports);
|
|
25
|
+
var import_hex_system = require("./hex-system.cjs");
|
|
26
|
+
const DIRECTION_DIFFERENCES = Object.freeze({
|
|
27
|
+
[import_hex_system.EVEN_Q]: [
|
|
28
|
+
[[1, 1], [1, 0], [0, -1], [-1, 0], [-1, 1], [0, 1]],
|
|
29
|
+
[[1, 0], [1, -1], [0, -1], [-1, -1], [-1, 0], [0, 1]]
|
|
30
|
+
],
|
|
31
|
+
[import_hex_system.EVEN_R]: [
|
|
32
|
+
[[1, 0], [1, -1], [0, -1], [-1, 0], [0, 1], [1, 1]],
|
|
33
|
+
[[1, 0], [0, -1], [-1, -1], [-1, 0], [-1, 1], [0, 1]]
|
|
34
|
+
],
|
|
35
|
+
[import_hex_system.ODD_Q]: [
|
|
36
|
+
[[1, 0], [1, -1], [0, -1], [-1, -1], [-1, 0], [0, 1]],
|
|
37
|
+
[[1, 1], [1, 0], [0, -1], [-1, 0], [-1, 1], [0, 1]]
|
|
38
|
+
],
|
|
39
|
+
[import_hex_system.ODD_R]: [
|
|
40
|
+
[[1, 0], [0, -1], [-1, 1], [-1, 0], [-1, 1], [0, 1]],
|
|
41
|
+
[[1, 0], [1, -1], [0, -1], [-1, 0], [0, 1], [1, 1]]
|
|
42
|
+
]
|
|
43
|
+
});
|
|
44
|
+
const offsetNeighbor = /* @__PURE__ */ __name((offset, direction) => {
|
|
45
|
+
const simpleKey = offset.system === import_hex_system.ODD_Q || offset.system === import_hex_system.EVEN_Q ? "col" : "row";
|
|
46
|
+
const bit = offset[simpleKey] & 1;
|
|
47
|
+
const [colStep, rowStep] = DIRECTION_DIFFERENCES[offset.system][bit][direction];
|
|
48
|
+
return {
|
|
49
|
+
col: offset.col + colStep,
|
|
50
|
+
row: offset.row + rowStep,
|
|
51
|
+
system: offset.system
|
|
52
|
+
};
|
|
53
|
+
}, "offsetNeighbor");
|
|
54
|
+
//# sourceMappingURL=offset-neighbor.cjs.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/packages/hexgrid/offset-neighbor.ts"],
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAA6C;AAK7C,MAAM,wBAAkF,OAAO,OAAO;AAAA,EACrG,CAAC,wBAAM,GAAG;AAAA,IACT,CAAE,CAAE,GAAG,CAAE,GAAG,CAAE,GAAG,CAAE,GAAG,CAAE,GAAG,EAAG,GAAG,CAAE,IAAI,CAAE,GAAG,CAAE,IAAI,CAAE,GAAG,CAAE,GAAG,CAAE,CAAE;AAAA,IAChE,CAAE,CAAE,GAAG,CAAE,GAAG,CAAE,GAAG,EAAG,GAAG,CAAE,GAAG,EAAG,GAAG,CAAE,IAAI,EAAG,GAAG,CAAE,IAAI,CAAE,GAAG,CAAE,GAAG,CAAE,CAAE;AAAA,EACnE;AAAA,EACA,CAAC,wBAAM,GAAG;AAAA,IACT,CAAE,CAAE,GAAG,CAAE,GAAG,CAAE,GAAG,EAAG,GAAG,CAAE,GAAG,EAAG,GAAG,CAAE,IAAI,CAAE,GAAG,CAAE,GAAG,CAAE,GAAG,CAAE,GAAG,CAAE,CAAE;AAAA,IAChE,CAAE,CAAE,GAAG,CAAE,GAAG,CAAE,GAAG,EAAG,GAAG,CAAE,IAAI,EAAG,GAAG,CAAE,IAAI,CAAE,GAAG,CAAE,IAAI,CAAE,GAAG,CAAE,GAAG,CAAE,CAAE;AAAA,EACnE;AAAA,EACA,CAAC,uBAAK,GAAG;AAAA,IACR,CAAE,CAAE,GAAG,CAAE,GAAG,CAAE,GAAG,EAAG,GAAG,CAAE,GAAG,EAAG,GAAG,CAAE,IAAI,EAAG,GAAG,CAAE,IAAI,CAAE,GAAG,CAAE,GAAG,CAAE,CAAE;AAAA,IAClE,CAAE,CAAE,GAAG,CAAE,GAAG,CAAE,GAAG,CAAE,GAAG,CAAE,GAAG,EAAG,GAAG,CAAE,IAAI,CAAE,GAAG,CAAE,IAAI,CAAE,GAAG,CAAE,GAAG,CAAE,CAAE;AAAA,EACjE;AAAA,EACA,CAAC,uBAAK,GAAG;AAAA,IACR,CAAE,CAAE,GAAG,CAAE,GAAG,CAAE,GAAG,EAAG,GAAG,CAAE,IAAI,CAAE,GAAG,CAAE,IAAI,CAAE,GAAG,CAAE,IAAI,CAAE,GAAG,CAAE,GAAG,CAAE,CAAE;AAAA,IACjE,CAAE,CAAE,GAAG,CAAE,GAAG,CAAE,GAAG,EAAG,GAAG,CAAE,GAAG,EAAG,GAAG,CAAE,IAAI,CAAE,GAAG,CAAE,GAAG,CAAE,GAAG,CAAE,GAAG,CAAE,CAAE;AAAA,EACjE;AACD,CAAC;AAEM,MAAM,iBAAiB,wBAAyB,QAAwB,cAA+C;AAC7H,QAAM,YAA8B,OAAO,WAAW,2BAAS,OAAO,WAAW,2BAAS,QAAQ;AAClG,QAAM,MAAO,OAAO,SAAS,IAAI;AACjC,QAAM,CAAE,SAAS,OAAQ,IAAI,sBAAsB,OAAO,MAAM,EAAE,GAAG,EAAG,SAAS;AACjF,SAAO;AAAA,IACN,KAAK,OAAO,MAAM;AAAA,IAClB,KAAK,OAAO,MAAM;AAAA,IAClB,QAAQ,OAAO;AAAA,EAChB;AACD,GAT8B;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"offset-neighbor.d.ts","sourceRoot":"","sources":["../../../src/packages/hexgrid/offset-neighbor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAc,eAAe,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAuB1F,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,YAAY,EAAE,QAAQ,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,eAAe,KAAG,WAAW,CAAC,CAAC,CASxH,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
+
import { EVEN_Q, EVEN_R, ODD_Q, ODD_R } from "./hex-system.mjs";
|
|
4
|
+
const DIRECTION_DIFFERENCES = Object.freeze({
|
|
5
|
+
[EVEN_Q]: [
|
|
6
|
+
[[1, 1], [1, 0], [0, -1], [-1, 0], [-1, 1], [0, 1]],
|
|
7
|
+
[[1, 0], [1, -1], [0, -1], [-1, -1], [-1, 0], [0, 1]]
|
|
8
|
+
],
|
|
9
|
+
[EVEN_R]: [
|
|
10
|
+
[[1, 0], [1, -1], [0, -1], [-1, 0], [0, 1], [1, 1]],
|
|
11
|
+
[[1, 0], [0, -1], [-1, -1], [-1, 0], [-1, 1], [0, 1]]
|
|
12
|
+
],
|
|
13
|
+
[ODD_Q]: [
|
|
14
|
+
[[1, 0], [1, -1], [0, -1], [-1, -1], [-1, 0], [0, 1]],
|
|
15
|
+
[[1, 1], [1, 0], [0, -1], [-1, 0], [-1, 1], [0, 1]]
|
|
16
|
+
],
|
|
17
|
+
[ODD_R]: [
|
|
18
|
+
[[1, 0], [0, -1], [-1, 1], [-1, 0], [-1, 1], [0, 1]],
|
|
19
|
+
[[1, 0], [1, -1], [0, -1], [-1, 0], [0, 1], [1, 1]]
|
|
20
|
+
]
|
|
21
|
+
});
|
|
22
|
+
const offsetNeighbor = /* @__PURE__ */ __name((offset, direction) => {
|
|
23
|
+
const simpleKey = offset.system === ODD_Q || offset.system === EVEN_Q ? "col" : "row";
|
|
24
|
+
const bit = offset[simpleKey] & 1;
|
|
25
|
+
const [colStep, rowStep] = DIRECTION_DIFFERENCES[offset.system][bit][direction];
|
|
26
|
+
return {
|
|
27
|
+
col: offset.col + colStep,
|
|
28
|
+
row: offset.row + rowStep,
|
|
29
|
+
system: offset.system
|
|
30
|
+
};
|
|
31
|
+
}, "offsetNeighbor");
|
|
32
|
+
export {
|
|
33
|
+
offsetNeighbor
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=offset-neighbor.mjs.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/packages/hexgrid/offset-neighbor.ts"],
|
|
4
|
+
"mappings": ";;AAAA,SAAS,QAAQ,QAAQ,OAAO,aAAa;AAK7C,MAAM,wBAAkF,OAAO,OAAO;AAAA,EACrG,CAAC,MAAM,GAAG;AAAA,IACT,CAAE,CAAE,GAAG,CAAE,GAAG,CAAE,GAAG,CAAE,GAAG,CAAE,GAAG,EAAG,GAAG,CAAE,IAAI,CAAE,GAAG,CAAE,IAAI,CAAE,GAAG,CAAE,GAAG,CAAE,CAAE;AAAA,IAChE,CAAE,CAAE,GAAG,CAAE,GAAG,CAAE,GAAG,EAAG,GAAG,CAAE,GAAG,EAAG,GAAG,CAAE,IAAI,EAAG,GAAG,CAAE,IAAI,CAAE,GAAG,CAAE,GAAG,CAAE,CAAE;AAAA,EACnE;AAAA,EACA,CAAC,MAAM,GAAG;AAAA,IACT,CAAE,CAAE,GAAG,CAAE,GAAG,CAAE,GAAG,EAAG,GAAG,CAAE,GAAG,EAAG,GAAG,CAAE,IAAI,CAAE,GAAG,CAAE,GAAG,CAAE,GAAG,CAAE,GAAG,CAAE,CAAE;AAAA,IAChE,CAAE,CAAE,GAAG,CAAE,GAAG,CAAE,GAAG,EAAG,GAAG,CAAE,IAAI,EAAG,GAAG,CAAE,IAAI,CAAE,GAAG,CAAE,IAAI,CAAE,GAAG,CAAE,GAAG,CAAE,CAAE;AAAA,EACnE;AAAA,EACA,CAAC,KAAK,GAAG;AAAA,IACR,CAAE,CAAE,GAAG,CAAE,GAAG,CAAE,GAAG,EAAG,GAAG,CAAE,GAAG,EAAG,GAAG,CAAE,IAAI,EAAG,GAAG,CAAE,IAAI,CAAE,GAAG,CAAE,GAAG,CAAE,CAAE;AAAA,IAClE,CAAE,CAAE,GAAG,CAAE,GAAG,CAAE,GAAG,CAAE,GAAG,CAAE,GAAG,EAAG,GAAG,CAAE,IAAI,CAAE,GAAG,CAAE,IAAI,CAAE,GAAG,CAAE,GAAG,CAAE,CAAE;AAAA,EACjE;AAAA,EACA,CAAC,KAAK,GAAG;AAAA,IACR,CAAE,CAAE,GAAG,CAAE,GAAG,CAAE,GAAG,EAAG,GAAG,CAAE,IAAI,CAAE,GAAG,CAAE,IAAI,CAAE,GAAG,CAAE,IAAI,CAAE,GAAG,CAAE,GAAG,CAAE,CAAE;AAAA,IACjE,CAAE,CAAE,GAAG,CAAE,GAAG,CAAE,GAAG,EAAG,GAAG,CAAE,GAAG,EAAG,GAAG,CAAE,IAAI,CAAE,GAAG,CAAE,GAAG,CAAE,GAAG,CAAE,GAAG,CAAE,CAAE;AAAA,EACjE;AACD,CAAC;AAEM,MAAM,iBAAiB,wBAAyB,QAAwB,cAA+C;AAC7H,QAAM,YAA8B,OAAO,WAAW,SAAS,OAAO,WAAW,SAAS,QAAQ;AAClG,QAAM,MAAO,OAAO,SAAS,IAAI;AACjC,QAAM,CAAE,SAAS,OAAQ,IAAI,sBAAsB,OAAO,MAAM,EAAE,GAAG,EAAG,SAAS;AACjF,SAAO;AAAA,IACN,KAAK,OAAO,MAAM;AAAA,IAClB,KAAK,OAAO,MAAM;AAAA,IAClB,QAAQ,OAAO;AAAA,EAChB;AACD,GAT8B;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
package/offset.cjs
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
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 offset_exports = {};
|
|
21
|
+
__export(offset_exports, {
|
|
22
|
+
OFFSET_DIRECTIONS: () => OFFSET_DIRECTIONS,
|
|
23
|
+
OFFSET_Q_N: () => OFFSET_Q_N,
|
|
24
|
+
OFFSET_Q_NE: () => OFFSET_Q_NE,
|
|
25
|
+
OFFSET_Q_NW: () => OFFSET_Q_NW,
|
|
26
|
+
OFFSET_Q_S: () => OFFSET_Q_S,
|
|
27
|
+
OFFSET_Q_SE: () => OFFSET_Q_SE,
|
|
28
|
+
OFFSET_Q_SW: () => OFFSET_Q_SW,
|
|
29
|
+
OFFSET_R_E: () => OFFSET_R_E,
|
|
30
|
+
OFFSET_R_NE: () => OFFSET_R_NE,
|
|
31
|
+
OFFSET_R_NW: () => OFFSET_R_NW,
|
|
32
|
+
OFFSET_R_SE: () => OFFSET_R_SE,
|
|
33
|
+
OFFSET_R_SW: () => OFFSET_R_SW,
|
|
34
|
+
OFFSET_R_W: () => OFFSET_R_W,
|
|
35
|
+
stringifyOffset: () => stringifyOffset
|
|
36
|
+
});
|
|
37
|
+
module.exports = __toCommonJS(offset_exports);
|
|
38
|
+
const OFFSET_R_E = 0;
|
|
39
|
+
const OFFSET_R_NE = 1;
|
|
40
|
+
const OFFSET_R_NW = 2;
|
|
41
|
+
const OFFSET_R_W = 3;
|
|
42
|
+
const OFFSET_R_SW = 4;
|
|
43
|
+
const OFFSET_R_SE = 5;
|
|
44
|
+
const OFFSET_Q_SE = OFFSET_R_E;
|
|
45
|
+
const OFFSET_Q_NE = OFFSET_R_NE;
|
|
46
|
+
const OFFSET_Q_N = OFFSET_R_NW;
|
|
47
|
+
const OFFSET_Q_NW = OFFSET_R_W;
|
|
48
|
+
const OFFSET_Q_SW = OFFSET_R_SW;
|
|
49
|
+
const OFFSET_Q_S = OFFSET_R_SE;
|
|
50
|
+
const OFFSET_DIRECTIONS = Object.freeze([
|
|
51
|
+
OFFSET_Q_SE,
|
|
52
|
+
OFFSET_Q_NE,
|
|
53
|
+
OFFSET_Q_N,
|
|
54
|
+
OFFSET_Q_NW,
|
|
55
|
+
OFFSET_Q_SW,
|
|
56
|
+
OFFSET_Q_S
|
|
57
|
+
]);
|
|
58
|
+
const stringifyOffset = /* @__PURE__ */ __name(({ row, col, system }) => {
|
|
59
|
+
return `${system}<${col},${row}>`;
|
|
60
|
+
}, "stringifyOffset");
|
|
61
|
+
//# sourceMappingURL=offset.cjs.map
|
package/offset.cjs.map
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/packages/hexgrid/offset.ts"],
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAmBO,MAAM,aAAa;AACnB,MAAM,cAAc;AACpB,MAAM,cAAc;AACpB,MAAM,aAAa;AACnB,MAAM,cAAc;AACpB,MAAM,cAAc;AAIpB,MAAM,cAAc;AACpB,MAAM,cAAc;AACpB,MAAM,aAAa;AACnB,MAAM,cAAc;AACpB,MAAM,cAAc;AACpB,MAAM,aAAa;AAEnB,MAAM,oBAA2D,OAAO,OAAO;AAAA,EACrF;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,CAAC;AAEM,MAAM,kBAAkB,wBAAC,EAAE,KAAK,KAAK,OAAO,MAAyC;AAC3F,SAAO,GAAG,MAAM,IAAI,GAAG,IAAI,GAAG;AAC/B,GAF+B;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
package/offset.d.ts
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { EVEN_Q, EVEN_R, ODD_Q, ODD_R } from "./hex-system.js";
|
|
2
|
+
import type { Point } from "./point.js";
|
|
3
|
+
export interface BareOffset {
|
|
4
|
+
col: number;
|
|
5
|
+
row: number;
|
|
6
|
+
}
|
|
7
|
+
export type OffsetSystem = typeof ODD_Q | typeof ODD_R | typeof EVEN_Q | typeof EVEN_R;
|
|
8
|
+
export interface OffsetPoint<SystemT extends OffsetSystem> extends Point, BareOffset {
|
|
9
|
+
system: SystemT;
|
|
10
|
+
}
|
|
11
|
+
export interface OddRPoint extends OffsetPoint<typeof ODD_R> {
|
|
12
|
+
}
|
|
13
|
+
export interface OddQPoint extends OffsetPoint<typeof ODD_Q> {
|
|
14
|
+
}
|
|
15
|
+
export interface EvenRPoint extends OffsetPoint<typeof EVEN_R> {
|
|
16
|
+
}
|
|
17
|
+
export interface EvenQPoint extends OffsetPoint<typeof EVEN_Q> {
|
|
18
|
+
}
|
|
19
|
+
export declare const OFFSET_R_E = 0;
|
|
20
|
+
export declare const OFFSET_R_NE = 1;
|
|
21
|
+
export declare const OFFSET_R_NW = 2;
|
|
22
|
+
export declare const OFFSET_R_W = 3;
|
|
23
|
+
export declare const OFFSET_R_SW = 4;
|
|
24
|
+
export declare const OFFSET_R_SE = 5;
|
|
25
|
+
export type OffsetDirection = typeof OFFSET_R_E | typeof OFFSET_R_NE | typeof OFFSET_R_NW | typeof OFFSET_R_W | typeof OFFSET_R_SW | typeof OFFSET_R_SE;
|
|
26
|
+
export declare const OFFSET_Q_SE = 0;
|
|
27
|
+
export declare const OFFSET_Q_NE = 1;
|
|
28
|
+
export declare const OFFSET_Q_N = 2;
|
|
29
|
+
export declare const OFFSET_Q_NW = 3;
|
|
30
|
+
export declare const OFFSET_Q_SW = 4;
|
|
31
|
+
export declare const OFFSET_Q_S = 5;
|
|
32
|
+
export declare const OFFSET_DIRECTIONS: Readonly<Readonly<OffsetDirection>[]>;
|
|
33
|
+
export declare const stringifyOffset: ({ row, col, system }: OffsetPoint<OffsetSystem>) => string;
|
|
34
|
+
//# sourceMappingURL=offset.d.ts.map
|
package/offset.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"offset.d.ts","sourceRoot":"","sources":["../../../src/packages/hexgrid/offset.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC,MAAM,WAAW,UAAU;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,MAAM,YAAY,GAAG,OAAO,KAAK,GAAG,OAAO,KAAK,GAAG,OAAO,MAAM,GAAG,OAAO,MAAM,CAAC;AAEvF,MAAM,WAAW,WAAW,CAAC,OAAO,SAAS,YAAY,CAAE,SAAQ,KAAK,EAAE,UAAU;IACnF,MAAM,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,SAAU,SAAQ,WAAW,CAAC,OAAO,KAAK,CAAC;CAAG;AAC/D,MAAM,WAAW,SAAU,SAAQ,WAAW,CAAC,OAAO,KAAK,CAAC;CAAG;AAC/D,MAAM,WAAW,UAAW,SAAQ,WAAW,CAAC,OAAO,MAAM,CAAC;CAAG;AACjE,MAAM,WAAW,UAAW,SAAQ,WAAW,CAAC,OAAO,MAAM,CAAC;CAAG;AAEjE,eAAO,MAAM,UAAU,IAAI,CAAC;AAC5B,eAAO,MAAM,WAAW,IAAI,CAAC;AAC7B,eAAO,MAAM,WAAW,IAAI,CAAC;AAC7B,eAAO,MAAM,UAAU,IAAI,CAAC;AAC5B,eAAO,MAAM,WAAW,IAAI,CAAC;AAC7B,eAAO,MAAM,WAAW,IAAI,CAAC;AAE7B,MAAM,MAAM,eAAe,GAAG,OAAO,UAAU,GAAG,OAAO,WAAW,GAAG,OAAO,WAAW,GAAG,OAAO,UAAU,GAAG,OAAO,WAAW,GAAG,OAAO,WAAW,CAAC;AAExJ,eAAO,MAAM,WAAW,IAAa,CAAC;AACtC,eAAO,MAAM,WAAW,IAAc,CAAC;AACvC,eAAO,MAAM,UAAU,IAAc,CAAC;AACtC,eAAO,MAAM,WAAW,IAAa,CAAC;AACtC,eAAO,MAAM,WAAW,IAAc,CAAC;AACvC,eAAO,MAAM,UAAU,IAAc,CAAC;AAEtC,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAOlE,CAAC;AAEH,eAAO,MAAM,eAAe,GAAI,sBAAsB,WAAW,CAAC,YAAY,CAAC,KAAG,MAEjF,CAAC"}
|
package/offset.mjs
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
+
const OFFSET_R_E = 0;
|
|
4
|
+
const OFFSET_R_NE = 1;
|
|
5
|
+
const OFFSET_R_NW = 2;
|
|
6
|
+
const OFFSET_R_W = 3;
|
|
7
|
+
const OFFSET_R_SW = 4;
|
|
8
|
+
const OFFSET_R_SE = 5;
|
|
9
|
+
const OFFSET_Q_SE = OFFSET_R_E;
|
|
10
|
+
const OFFSET_Q_NE = OFFSET_R_NE;
|
|
11
|
+
const OFFSET_Q_N = OFFSET_R_NW;
|
|
12
|
+
const OFFSET_Q_NW = OFFSET_R_W;
|
|
13
|
+
const OFFSET_Q_SW = OFFSET_R_SW;
|
|
14
|
+
const OFFSET_Q_S = OFFSET_R_SE;
|
|
15
|
+
const OFFSET_DIRECTIONS = Object.freeze([
|
|
16
|
+
OFFSET_Q_SE,
|
|
17
|
+
OFFSET_Q_NE,
|
|
18
|
+
OFFSET_Q_N,
|
|
19
|
+
OFFSET_Q_NW,
|
|
20
|
+
OFFSET_Q_SW,
|
|
21
|
+
OFFSET_Q_S
|
|
22
|
+
]);
|
|
23
|
+
const stringifyOffset = /* @__PURE__ */ __name(({ row, col, system }) => {
|
|
24
|
+
return `${system}<${col},${row}>`;
|
|
25
|
+
}, "stringifyOffset");
|
|
26
|
+
export {
|
|
27
|
+
OFFSET_DIRECTIONS,
|
|
28
|
+
OFFSET_Q_N,
|
|
29
|
+
OFFSET_Q_NE,
|
|
30
|
+
OFFSET_Q_NW,
|
|
31
|
+
OFFSET_Q_S,
|
|
32
|
+
OFFSET_Q_SE,
|
|
33
|
+
OFFSET_Q_SW,
|
|
34
|
+
OFFSET_R_E,
|
|
35
|
+
OFFSET_R_NE,
|
|
36
|
+
OFFSET_R_NW,
|
|
37
|
+
OFFSET_R_SE,
|
|
38
|
+
OFFSET_R_SW,
|
|
39
|
+
OFFSET_R_W,
|
|
40
|
+
stringifyOffset
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=offset.mjs.map
|
package/offset.mjs.map
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/packages/hexgrid/offset.ts"],
|
|
4
|
+
"mappings": ";;AAmBO,MAAM,aAAa;AACnB,MAAM,cAAc;AACpB,MAAM,cAAc;AACpB,MAAM,aAAa;AACnB,MAAM,cAAc;AACpB,MAAM,cAAc;AAIpB,MAAM,cAAc;AACpB,MAAM,cAAc;AACpB,MAAM,aAAa;AACnB,MAAM,cAAc;AACpB,MAAM,cAAc;AACpB,MAAM,aAAa;AAEnB,MAAM,oBAA2D,OAAO,OAAO;AAAA,EACrF;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,CAAC;AAEM,MAAM,kBAAkB,wBAAC,EAAE,KAAK,KAAK,OAAO,MAAyC;AAC3F,SAAO,GAAG,MAAM,IAAI,GAAG,IAAI,GAAG;AAC/B,GAF+B;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
package/orientation.cjs
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
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 orientation_exports = {};
|
|
20
|
+
__export(orientation_exports, {
|
|
21
|
+
FLAT: () => FLAT,
|
|
22
|
+
ORIENTATION_FLAT: () => ORIENTATION_FLAT,
|
|
23
|
+
ORIENTATION_POINTY: () => ORIENTATION_POINTY,
|
|
24
|
+
POINTY: () => POINTY
|
|
25
|
+
});
|
|
26
|
+
module.exports = __toCommonJS(orientation_exports);
|
|
27
|
+
var import_hex_system = require("./hex-system.cjs");
|
|
28
|
+
const FLAT = "flat";
|
|
29
|
+
const POINTY = "pointy";
|
|
30
|
+
const ORIENTATION_POINTY = Object.freeze({
|
|
31
|
+
b0: import_hex_system.SQRT_3_3,
|
|
32
|
+
b1: -1 / 3,
|
|
33
|
+
b2: 0,
|
|
34
|
+
b3: 2 / 3,
|
|
35
|
+
f0: import_hex_system.SQRT_3,
|
|
36
|
+
f1: import_hex_system.SQRT_3_2,
|
|
37
|
+
f2: 0,
|
|
38
|
+
f3: 3 / 2,
|
|
39
|
+
start60Deg: 0.5,
|
|
40
|
+
type: POINTY
|
|
41
|
+
});
|
|
42
|
+
const ORIENTATION_FLAT = Object.freeze({
|
|
43
|
+
f0: 3 / 2,
|
|
44
|
+
f1: 0,
|
|
45
|
+
f2: import_hex_system.SQRT_3_2,
|
|
46
|
+
f3: import_hex_system.SQRT_3,
|
|
47
|
+
b0: 2 / 3,
|
|
48
|
+
b1: 0,
|
|
49
|
+
b2: -1 / 3,
|
|
50
|
+
b3: import_hex_system.SQRT_3_3,
|
|
51
|
+
start60Deg: 0,
|
|
52
|
+
type: FLAT
|
|
53
|
+
});
|
|
54
|
+
//# sourceMappingURL=orientation.cjs.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/packages/hexgrid/orientation.ts"],
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAA2C;AAoBpC,MAAM,OAAO;AACb,MAAM,SAAS;AAIf,MAAM,qBAA+C,OAAO,OAAO;AAAA,EACzE,IAAI;AAAA,EACJ,IAAI,KAAK;AAAA,EACT,IAAI;AAAA,EACJ,IAAI,IAAI;AAAA,EACR,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI,IAAI;AAAA,EACR,YAAY;AAAA,EACZ,MAAM;AACP,CAAC;AAEM,MAAM,mBAA6C,OAAO,OAAO;AAAA,EACvE,IAAI,IAAI;AAAA,EACR,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI,IAAI;AAAA,EACR,IAAI;AAAA,EACJ,IAAI,KAAK;AAAA,EACT,IAAI;AAAA,EACJ,YAAY;AAAA,EACZ,MAAM;AACP,CAAC;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
package/orientation.d.ts
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
export interface HexOrientation {
|
|
2
|
+
b0: number;
|
|
3
|
+
b1: number;
|
|
4
|
+
b2: number;
|
|
5
|
+
b3: number;
|
|
6
|
+
f0: number;
|
|
7
|
+
f1: number;
|
|
8
|
+
f2: number;
|
|
9
|
+
f3: number;
|
|
10
|
+
start60Deg: number;
|
|
11
|
+
type: HexOrientationName;
|
|
12
|
+
}
|
|
13
|
+
export interface HexOrientations {
|
|
14
|
+
flat: typeof ORIENTATION_FLAT;
|
|
15
|
+
pointy: typeof ORIENTATION_POINTY;
|
|
16
|
+
}
|
|
17
|
+
export declare const FLAT = "flat";
|
|
18
|
+
export declare const POINTY = "pointy";
|
|
19
|
+
export type HexOrientationName = keyof HexOrientations;
|
|
20
|
+
export declare const ORIENTATION_POINTY: Readonly<HexOrientation>;
|
|
21
|
+
export declare const ORIENTATION_FLAT: Readonly<HexOrientation>;
|
|
22
|
+
export interface PointXY {
|
|
23
|
+
x: number;
|
|
24
|
+
y: number;
|
|
25
|
+
}
|
|
26
|
+
export interface HexLayout {
|
|
27
|
+
orientation: HexOrientation;
|
|
28
|
+
origin: PointXY;
|
|
29
|
+
/**
|
|
30
|
+
* The smallest useful unit in this layout. Pixel values
|
|
31
|
+
* will be rounded to it.
|
|
32
|
+
*/
|
|
33
|
+
resolution: number;
|
|
34
|
+
size: PointXY;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=orientation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orientation.d.ts","sourceRoot":"","sources":["../../../src/packages/hexgrid/orientation.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,cAAc;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,kBAAkB,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC/B,IAAI,EAAE,OAAO,gBAAgB,CAAC;IAC9B,MAAM,EAAE,OAAO,kBAAkB,CAAC;CAClC;AAED,eAAO,MAAM,IAAI,SAAS,CAAC;AAC3B,eAAO,MAAM,MAAM,WAAW,CAAC;AAE/B,MAAM,MAAM,kBAAkB,GAAG,MAAM,eAAe,CAAC;AAEvD,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,cAAc,CAWtD,CAAC;AAEH,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,cAAc,CAWpD,CAAC;AAEH,MAAM,WAAW,OAAO;IACvB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACV;AAED,MAAM,WAAW,SAAS;IACzB,WAAW,EAAE,cAAc,CAAC;IAC5B,MAAM,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,OAAO,CAAC;CACd"}
|
package/orientation.mjs
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { SQRT_3, SQRT_3_2, SQRT_3_3 } from "./hex-system.mjs";
|
|
2
|
+
const FLAT = "flat";
|
|
3
|
+
const POINTY = "pointy";
|
|
4
|
+
const ORIENTATION_POINTY = Object.freeze({
|
|
5
|
+
b0: SQRT_3_3,
|
|
6
|
+
b1: -1 / 3,
|
|
7
|
+
b2: 0,
|
|
8
|
+
b3: 2 / 3,
|
|
9
|
+
f0: SQRT_3,
|
|
10
|
+
f1: SQRT_3_2,
|
|
11
|
+
f2: 0,
|
|
12
|
+
f3: 3 / 2,
|
|
13
|
+
start60Deg: 0.5,
|
|
14
|
+
type: POINTY
|
|
15
|
+
});
|
|
16
|
+
const ORIENTATION_FLAT = Object.freeze({
|
|
17
|
+
f0: 3 / 2,
|
|
18
|
+
f1: 0,
|
|
19
|
+
f2: SQRT_3_2,
|
|
20
|
+
f3: SQRT_3,
|
|
21
|
+
b0: 2 / 3,
|
|
22
|
+
b1: 0,
|
|
23
|
+
b2: -1 / 3,
|
|
24
|
+
b3: SQRT_3_3,
|
|
25
|
+
start60Deg: 0,
|
|
26
|
+
type: FLAT
|
|
27
|
+
});
|
|
28
|
+
export {
|
|
29
|
+
FLAT,
|
|
30
|
+
ORIENTATION_FLAT,
|
|
31
|
+
ORIENTATION_POINTY,
|
|
32
|
+
POINTY
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=orientation.mjs.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/packages/hexgrid/orientation.ts"],
|
|
4
|
+
"mappings": "AAAA,SAAS,QAAQ,UAAU,gBAAgB;AAoBpC,MAAM,OAAO;AACb,MAAM,SAAS;AAIf,MAAM,qBAA+C,OAAO,OAAO;AAAA,EACzE,IAAI;AAAA,EACJ,IAAI,KAAK;AAAA,EACT,IAAI;AAAA,EACJ,IAAI,IAAI;AAAA,EACR,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI,IAAI;AAAA,EACR,YAAY;AAAA,EACZ,MAAM;AACP,CAAC;AAEM,MAAM,mBAA6C,OAAO,OAAO;AAAA,EACvE,IAAI,IAAI;AAAA,EACR,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI,IAAI;AAAA,EACR,IAAI;AAAA,EACJ,IAAI,KAAK;AAAA,EACT,IAAI;AAAA,EACJ,YAAY;AAAA,EACZ,MAAM;AACP,CAAC;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|