@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.
Files changed (344) hide show
  1. package/README.md +2141 -0
  2. package/axial-add.cjs +30 -0
  3. package/axial-add.cjs.map +6 -0
  4. package/axial-add.d.ts +6 -0
  5. package/axial-add.d.ts.map +1 -0
  6. package/axial-add.mjs +11 -0
  7. package/axial-add.mjs.map +6 -0
  8. package/axial-from-cube.cjs +33 -0
  9. package/axial-from-cube.cjs.map +6 -0
  10. package/axial-from-cube.d.ts +7 -0
  11. package/axial-from-cube.d.ts.map +1 -0
  12. package/axial-from-cube.mjs +14 -0
  13. package/axial-from-cube.mjs.map +6 -0
  14. package/axial-from-double.cjs +30 -0
  15. package/axial-from-double.cjs.map +6 -0
  16. package/axial-from-double.d.ts +5 -0
  17. package/axial-from-double.d.ts.map +1 -0
  18. package/axial-from-double.mjs +11 -0
  19. package/axial-from-double.mjs.map +6 -0
  20. package/axial-from-offset.cjs +64 -0
  21. package/axial-from-offset.cjs.map +6 -0
  22. package/axial-from-offset.d.ts +4 -0
  23. package/axial-from-offset.d.ts.map +1 -0
  24. package/axial-from-offset.mjs +45 -0
  25. package/axial-from-offset.mjs.map +6 -0
  26. package/axial-intersection.cjs +28 -0
  27. package/axial-intersection.cjs.map +6 -0
  28. package/axial-intersection.d.ts +3 -0
  29. package/axial-intersection.d.ts.map +1 -0
  30. package/axial-intersection.mjs +9 -0
  31. package/axial-intersection.mjs.map +6 -0
  32. package/axial-lerp.cjs +32 -0
  33. package/axial-lerp.cjs.map +6 -0
  34. package/axial-lerp.d.ts +3 -0
  35. package/axial-lerp.d.ts.map +1 -0
  36. package/axial-lerp.mjs +13 -0
  37. package/axial-lerp.mjs.map +6 -0
  38. package/axial-line-draw.cjs +39 -0
  39. package/axial-line-draw.cjs.map +6 -0
  40. package/axial-line-draw.d.ts +3 -0
  41. package/axial-line-draw.d.ts.map +1 -0
  42. package/axial-line-draw.mjs +20 -0
  43. package/axial-line-draw.mjs.map +6 -0
  44. package/axial-neighbor.cjs +27 -0
  45. package/axial-neighbor.cjs.map +6 -0
  46. package/axial-neighbor.d.ts +3 -0
  47. package/axial-neighbor.d.ts.map +1 -0
  48. package/axial-neighbor.mjs +8 -0
  49. package/axial-neighbor.mjs.map +6 -0
  50. package/axial-range.cjs +29 -0
  51. package/axial-range.cjs.map +6 -0
  52. package/axial-range.d.ts +3 -0
  53. package/axial-range.d.ts.map +1 -0
  54. package/axial-range.mjs +10 -0
  55. package/axial-range.mjs.map +6 -0
  56. package/axial-round.cjs +31 -0
  57. package/axial-round.cjs.map +6 -0
  58. package/axial-round.d.ts +3 -0
  59. package/axial-round.d.ts.map +1 -0
  60. package/axial-round.mjs +12 -0
  61. package/axial-round.mjs.map +6 -0
  62. package/axial-subtract.cjs +28 -0
  63. package/axial-subtract.cjs.map +6 -0
  64. package/axial-subtract.d.ts +6 -0
  65. package/axial-subtract.d.ts.map +1 -0
  66. package/axial-subtract.mjs +9 -0
  67. package/axial-subtract.mjs.map +6 -0
  68. package/axial.cjs +66 -0
  69. package/axial.cjs.map +6 -0
  70. package/axial.d.ts +83 -0
  71. package/axial.d.ts.map +1 -0
  72. package/axial.mjs +47 -0
  73. package/axial.mjs.map +6 -0
  74. package/covering-grid.cjs +78 -0
  75. package/covering-grid.cjs.map +6 -0
  76. package/covering-grid.d.ts +20 -0
  77. package/covering-grid.d.ts.map +1 -0
  78. package/covering-grid.mjs +59 -0
  79. package/covering-grid.mjs.map +6 -0
  80. package/cube-add.cjs +32 -0
  81. package/cube-add.cjs.map +6 -0
  82. package/cube-add.d.ts +6 -0
  83. package/cube-add.d.ts.map +1 -0
  84. package/cube-add.mjs +13 -0
  85. package/cube-add.mjs.map +6 -0
  86. package/cube-distance.cjs +30 -0
  87. package/cube-distance.cjs.map +6 -0
  88. package/cube-distance.d.ts +6 -0
  89. package/cube-distance.d.ts.map +1 -0
  90. package/cube-distance.mjs +11 -0
  91. package/cube-distance.mjs.map +6 -0
  92. package/cube-from-axial.cjs +34 -0
  93. package/cube-from-axial.cjs.map +6 -0
  94. package/cube-from-axial.d.ts +7 -0
  95. package/cube-from-axial.d.ts.map +1 -0
  96. package/cube-from-axial.mjs +15 -0
  97. package/cube-from-axial.mjs.map +6 -0
  98. package/cube-from-double.cjs +30 -0
  99. package/cube-from-double.cjs.map +6 -0
  100. package/cube-from-double.d.ts +5 -0
  101. package/cube-from-double.d.ts.map +1 -0
  102. package/cube-from-double.mjs +11 -0
  103. package/cube-from-double.mjs.map +6 -0
  104. package/cube-heading.cjs +54 -0
  105. package/cube-heading.cjs.map +6 -0
  106. package/cube-heading.d.ts +3 -0
  107. package/cube-heading.d.ts.map +1 -0
  108. package/cube-heading.mjs +35 -0
  109. package/cube-heading.mjs.map +6 -0
  110. package/cube-intersection.cjs +28 -0
  111. package/cube-intersection.cjs.map +6 -0
  112. package/cube-intersection.d.ts +3 -0
  113. package/cube-intersection.d.ts.map +1 -0
  114. package/cube-intersection.mjs +9 -0
  115. package/cube-intersection.mjs.map +6 -0
  116. package/cube-lerp.cjs +34 -0
  117. package/cube-lerp.cjs.map +6 -0
  118. package/cube-lerp.d.ts +3 -0
  119. package/cube-lerp.d.ts.map +1 -0
  120. package/cube-lerp.mjs +15 -0
  121. package/cube-lerp.mjs.map +6 -0
  122. package/cube-line-draw.cjs +41 -0
  123. package/cube-line-draw.cjs.map +6 -0
  124. package/cube-line-draw.d.ts +3 -0
  125. package/cube-line-draw.d.ts.map +1 -0
  126. package/cube-line-draw.mjs +22 -0
  127. package/cube-line-draw.mjs.map +6 -0
  128. package/cube-neighbor.cjs +27 -0
  129. package/cube-neighbor.cjs.map +6 -0
  130. package/cube-neighbor.d.ts +6 -0
  131. package/cube-neighbor.d.ts.map +1 -0
  132. package/cube-neighbor.mjs +8 -0
  133. package/cube-neighbor.mjs.map +6 -0
  134. package/cube-range.cjs +29 -0
  135. package/cube-range.cjs.map +6 -0
  136. package/cube-range.d.ts +3 -0
  137. package/cube-range.d.ts.map +1 -0
  138. package/cube-range.mjs +10 -0
  139. package/cube-range.mjs.map +6 -0
  140. package/cube-rotate.cjs +40 -0
  141. package/cube-rotate.cjs.map +6 -0
  142. package/cube-rotate.d.ts +4 -0
  143. package/cube-rotate.d.ts.map +1 -0
  144. package/cube-rotate.mjs +21 -0
  145. package/cube-rotate.mjs.map +6 -0
  146. package/cube-round.cjs +46 -0
  147. package/cube-round.cjs.map +6 -0
  148. package/cube-round.d.ts +3 -0
  149. package/cube-round.d.ts.map +1 -0
  150. package/cube-round.mjs +27 -0
  151. package/cube-round.mjs.map +6 -0
  152. package/cube-subtract.cjs +33 -0
  153. package/cube-subtract.cjs.map +6 -0
  154. package/cube-subtract.d.ts +3 -0
  155. package/cube-subtract.d.ts.map +1 -0
  156. package/cube-subtract.mjs +14 -0
  157. package/cube-subtract.mjs.map +6 -0
  158. package/cube.cjs +82 -0
  159. package/cube.cjs.map +6 -0
  160. package/cube.d.ts +155 -0
  161. package/cube.d.ts.map +1 -0
  162. package/cube.mjs +63 -0
  163. package/cube.mjs.map +6 -0
  164. package/double-add.cjs +37 -0
  165. package/double-add.cjs.map +6 -0
  166. package/double-add.d.ts +4 -0
  167. package/double-add.d.ts.map +1 -0
  168. package/double-add.mjs +18 -0
  169. package/double-add.mjs.map +6 -0
  170. package/double-distance.cjs +36 -0
  171. package/double-distance.cjs.map +6 -0
  172. package/double-distance.d.ts +4 -0
  173. package/double-distance.d.ts.map +1 -0
  174. package/double-distance.mjs +17 -0
  175. package/double-distance.mjs.map +6 -0
  176. package/double-from-qrs.cjs +37 -0
  177. package/double-from-qrs.cjs.map +6 -0
  178. package/double-from-qrs.d.ts +5 -0
  179. package/double-from-qrs.d.ts.map +1 -0
  180. package/double-from-qrs.mjs +18 -0
  181. package/double-from-qrs.mjs.map +6 -0
  182. package/double-neighbor.cjs +29 -0
  183. package/double-neighbor.cjs.map +6 -0
  184. package/double-neighbor.d.ts +4 -0
  185. package/double-neighbor.d.ts.map +1 -0
  186. package/double-neighbor.mjs +10 -0
  187. package/double-neighbor.mjs.map +6 -0
  188. package/double.cjs +48 -0
  189. package/double.cjs.map +6 -0
  190. package/double.d.ts +77 -0
  191. package/double.d.ts.map +1 -0
  192. package/double.mjs +28 -0
  193. package/double.mjs.map +6 -0
  194. package/hex-contains-point.cjs +99 -0
  195. package/hex-contains-point.cjs.map +6 -0
  196. package/hex-contains-point.d.ts +16 -0
  197. package/hex-contains-point.d.ts.map +1 -0
  198. package/hex-contains-point.mjs +80 -0
  199. package/hex-contains-point.mjs.map +6 -0
  200. package/hex-distance.cjs +36 -0
  201. package/hex-distance.cjs.map +6 -0
  202. package/hex-distance.d.ts +11 -0
  203. package/hex-distance.d.ts.map +1 -0
  204. package/hex-distance.mjs +17 -0
  205. package/hex-distance.mjs.map +6 -0
  206. package/hex-reachable.cjs +55 -0
  207. package/hex-reachable.cjs.map +6 -0
  208. package/hex-reachable.d.ts +14 -0
  209. package/hex-reachable.d.ts.map +1 -0
  210. package/hex-reachable.mjs +36 -0
  211. package/hex-reachable.mjs.map +6 -0
  212. package/hex-system.cjs +78 -0
  213. package/hex-system.cjs.map +6 -0
  214. package/hex-system.d.ts +44 -0
  215. package/hex-system.d.ts.map +1 -0
  216. package/hex-system.mjs +58 -0
  217. package/hex-system.mjs.map +6 -0
  218. package/hexes-within.cjs +31 -0
  219. package/hexes-within.cjs.map +6 -0
  220. package/hexes-within.d.ts +6 -0
  221. package/hexes-within.d.ts.map +1 -0
  222. package/hexes-within.mjs +12 -0
  223. package/hexes-within.mjs.map +6 -0
  224. package/index.cjs +74 -0
  225. package/index.cjs.map +6 -0
  226. package/index.d.ts +57 -0
  227. package/index.d.ts.map +1 -0
  228. package/index.mjs +57 -0
  229. package/index.mjs.map +6 -0
  230. package/lerp.cjs +28 -0
  231. package/lerp.cjs.map +6 -0
  232. package/lerp.d.ts +5 -0
  233. package/lerp.d.ts.map +1 -0
  234. package/lerp.mjs +9 -0
  235. package/lerp.mjs.map +6 -0
  236. package/offset-distance.cjs +33 -0
  237. package/offset-distance.cjs.map +6 -0
  238. package/offset-distance.d.ts +3 -0
  239. package/offset-distance.d.ts.map +1 -0
  240. package/offset-distance.mjs +14 -0
  241. package/offset-distance.mjs.map +6 -0
  242. package/offset-from-qrs.cjs +70 -0
  243. package/offset-from-qrs.cjs.map +6 -0
  244. package/offset-from-qrs.d.ts +7 -0
  245. package/offset-from-qrs.d.ts.map +1 -0
  246. package/offset-from-qrs.mjs +51 -0
  247. package/offset-from-qrs.mjs.map +6 -0
  248. package/offset-neighbor.cjs +54 -0
  249. package/offset-neighbor.cjs.map +6 -0
  250. package/offset-neighbor.d.ts +3 -0
  251. package/offset-neighbor.d.ts.map +1 -0
  252. package/offset-neighbor.mjs +35 -0
  253. package/offset-neighbor.mjs.map +6 -0
  254. package/offset.cjs +61 -0
  255. package/offset.cjs.map +6 -0
  256. package/offset.d.ts +34 -0
  257. package/offset.d.ts.map +1 -0
  258. package/offset.mjs +42 -0
  259. package/offset.mjs.map +6 -0
  260. package/orientation.cjs +54 -0
  261. package/orientation.cjs.map +6 -0
  262. package/orientation.d.ts +36 -0
  263. package/orientation.d.ts.map +1 -0
  264. package/orientation.mjs +34 -0
  265. package/orientation.mjs.map +6 -0
  266. package/package.json +398 -0
  267. package/pixel-from-qrs.cjs +66 -0
  268. package/pixel-from-qrs.cjs.map +6 -0
  269. package/pixel-from-qrs.d.ts +10 -0
  270. package/pixel-from-qrs.d.ts.map +1 -0
  271. package/pixel-from-qrs.mjs +47 -0
  272. package/pixel-from-qrs.mjs.map +6 -0
  273. package/point.cjs +17 -0
  274. package/point.cjs.map +6 -0
  275. package/point.d.ts +5 -0
  276. package/point.d.ts.map +1 -0
  277. package/point.mjs +1 -0
  278. package/point.mjs.map +6 -0
  279. package/qrs-eq.cjs +26 -0
  280. package/qrs-eq.cjs.map +6 -0
  281. package/qrs-eq.d.ts +3 -0
  282. package/qrs-eq.d.ts.map +1 -0
  283. package/qrs-eq.mjs +7 -0
  284. package/qrs-eq.mjs.map +6 -0
  285. package/qrs-from-double.cjs +36 -0
  286. package/qrs-from-double.cjs.map +6 -0
  287. package/qrs-from-double.d.ts +5 -0
  288. package/qrs-from-double.d.ts.map +1 -0
  289. package/qrs-from-double.mjs +17 -0
  290. package/qrs-from-double.mjs.map +6 -0
  291. package/qrs-from-pixel.cjs +50 -0
  292. package/qrs-from-pixel.cjs.map +6 -0
  293. package/qrs-from-pixel.d.ts +12 -0
  294. package/qrs-from-pixel.d.ts.map +1 -0
  295. package/qrs-from-pixel.mjs +31 -0
  296. package/qrs-from-pixel.mjs.map +6 -0
  297. package/qrs-hash-code.cjs +41 -0
  298. package/qrs-hash-code.cjs.map +6 -0
  299. package/qrs-hash-code.d.ts +7 -0
  300. package/qrs-hash-code.d.ts.map +1 -0
  301. package/qrs-hash-code.mjs +22 -0
  302. package/qrs-hash-code.mjs.map +6 -0
  303. package/qrs-intersection.cjs +44 -0
  304. package/qrs-intersection.cjs.map +6 -0
  305. package/qrs-intersection.d.ts +3 -0
  306. package/qrs-intersection.d.ts.map +1 -0
  307. package/qrs-intersection.mjs +25 -0
  308. package/qrs-intersection.mjs.map +6 -0
  309. package/qrs-range.cjs +38 -0
  310. package/qrs-range.cjs.map +6 -0
  311. package/qrs-range.d.ts +6 -0
  312. package/qrs-range.d.ts.map +1 -0
  313. package/qrs-range.mjs +19 -0
  314. package/qrs-range.mjs.map +6 -0
  315. package/qrs-ring.cjs +50 -0
  316. package/qrs-ring.cjs.map +6 -0
  317. package/qrs-ring.d.ts +3 -0
  318. package/qrs-ring.d.ts.map +1 -0
  319. package/qrs-ring.mjs +31 -0
  320. package/qrs-ring.mjs.map +6 -0
  321. package/qrs-scale.cjs +30 -0
  322. package/qrs-scale.cjs.map +6 -0
  323. package/qrs-scale.d.ts +4 -0
  324. package/qrs-scale.d.ts.map +1 -0
  325. package/qrs-scale.mjs +11 -0
  326. package/qrs-scale.mjs.map +6 -0
  327. package/qrs-spiral.cjs +36 -0
  328. package/qrs-spiral.cjs.map +6 -0
  329. package/qrs-spiral.d.ts +3 -0
  330. package/qrs-spiral.d.ts.map +1 -0
  331. package/qrs-spiral.mjs +17 -0
  332. package/qrs-spiral.mjs.map +6 -0
  333. package/qrs-subtract.cjs +31 -0
  334. package/qrs-subtract.cjs.map +6 -0
  335. package/qrs-subtract.d.ts +4 -0
  336. package/qrs-subtract.d.ts.map +1 -0
  337. package/qrs-subtract.mjs +12 -0
  338. package/qrs-subtract.mjs.map +6 -0
  339. package/qrs.cjs +28 -0
  340. package/qrs.cjs.map +6 -0
  341. package/qrs.d.ts +36 -0
  342. package/qrs.d.ts.map +1 -0
  343. package/qrs.mjs +9 -0
  344. 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,3 @@
1
+ import type { OffsetDirection, OffsetPoint, OffsetSystem } from "./offset.js";
2
+ export declare const offsetNeighbor: <S extends OffsetSystem>(offset: OffsetPoint<S>, direction: OffsetDirection) => OffsetPoint<S>;
3
+ //# sourceMappingURL=offset-neighbor.d.ts.map
@@ -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
@@ -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
+ }
@@ -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
+ }
@@ -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"}
@@ -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
+ }