@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,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 qrs_from_double_exports = {};
21
+ __export(qrs_from_double_exports, {
22
+ qrsFromDoubleHeight: () => qrsFromDoubleHeight,
23
+ qrsFromDoubleWidth: () => qrsFromDoubleWidth
24
+ });
25
+ module.exports = __toCommonJS(qrs_from_double_exports);
26
+ const qrsFromDoubleHeight = /* @__PURE__ */ __name((double, builder) => {
27
+ const q = double.col;
28
+ const r = (double.row - q) / 2;
29
+ return builder(q, r);
30
+ }, "qrsFromDoubleHeight");
31
+ const qrsFromDoubleWidth = /* @__PURE__ */ __name((double, builder) => {
32
+ const r = double.row;
33
+ const q = (double.col - r) / 2;
34
+ return builder(q, r);
35
+ }, "qrsFromDoubleWidth");
36
+ //# sourceMappingURL=qrs-from-double.cjs.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/packages/hexgrid/qrs-from-double.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGO,MAAM,sBAAsB,wBAA6C,QAA2B,YAA8B;AACxI,QAAM,IAAI,OAAO;AACjB,QAAM,KAAK,OAAO,MAAM,KAAK;AAC7B,SAAO,QAAQ,GAAG,CAAC;AACpB,GAJmC;AAM5B,MAAM,qBAAqB,wBAA6C,QAA0B,YAA8B;AACtI,QAAM,IAAI,OAAO;AACjB,QAAM,KAAK,OAAO,MAAM,KAAK;AAC7B,SAAO,QAAQ,GAAG,CAAC;AACpB,GAJkC;",
5
+ "names": []
6
+ }
@@ -0,0 +1,5 @@
1
+ import type { DoubleHeightPoint, DoubleWidthPoint } from "./double.js";
2
+ import type { QRSBuilder, QRSPoint, QRSSystem } from "./qrs.js";
3
+ export declare const qrsFromDoubleHeight: <S extends QRSSystem, P extends QRSPoint<S>>(double: DoubleHeightPoint, builder: QRSBuilder<P>) => P;
4
+ export declare const qrsFromDoubleWidth: <S extends QRSSystem, P extends QRSPoint<S>>(double: DoubleWidthPoint, builder: QRSBuilder<P>) => P;
5
+ //# sourceMappingURL=qrs-from-double.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qrs-from-double.d.ts","sourceRoot":"","sources":["../../../src/packages/hexgrid/qrs-from-double.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAEhE,eAAO,MAAM,mBAAmB,GAAI,CAAC,SAAS,SAAS,EAAE,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,iBAAiB,EAAE,SAAS,UAAU,CAAC,CAAC,CAAC,KAAG,CAInI,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,CAAC,SAAS,SAAS,EAAE,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,gBAAgB,EAAE,SAAS,UAAU,CAAC,CAAC,CAAC,KAAG,CAIjI,CAAC"}
@@ -0,0 +1,17 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ const qrsFromDoubleHeight = /* @__PURE__ */ __name((double, builder) => {
4
+ const q = double.col;
5
+ const r = (double.row - q) / 2;
6
+ return builder(q, r);
7
+ }, "qrsFromDoubleHeight");
8
+ const qrsFromDoubleWidth = /* @__PURE__ */ __name((double, builder) => {
9
+ const r = double.row;
10
+ const q = (double.col - r) / 2;
11
+ return builder(q, r);
12
+ }, "qrsFromDoubleWidth");
13
+ export {
14
+ qrsFromDoubleHeight,
15
+ qrsFromDoubleWidth
16
+ };
17
+ //# sourceMappingURL=qrs-from-double.mjs.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/packages/hexgrid/qrs-from-double.ts"],
4
+ "mappings": ";;AAGO,MAAM,sBAAsB,wBAA6C,QAA2B,YAA8B;AACxI,QAAM,IAAI,OAAO;AACjB,QAAM,KAAK,OAAO,MAAM,KAAK;AAC7B,SAAO,QAAQ,GAAG,CAAC;AACpB,GAJmC;AAM5B,MAAM,qBAAqB,wBAA6C,QAA0B,YAA8B;AACtI,QAAM,IAAI,OAAO;AACjB,QAAM,KAAK,OAAO,MAAM,KAAK;AAC7B,SAAO,QAAQ,GAAG,CAAC;AACpB,GAJkC;",
5
+ "names": []
6
+ }
@@ -0,0 +1,50 @@
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 qrs_from_pixel_exports = {};
21
+ __export(qrs_from_pixel_exports, {
22
+ flatQRSFromPixel: () => flatQRSFromPixel,
23
+ pointyQRSFromPixel: () => pointyQRSFromPixel,
24
+ qrsFromPixel: () => qrsFromPixel
25
+ });
26
+ module.exports = __toCommonJS(qrs_from_pixel_exports);
27
+ var import_cube_round = require("./cube-round.cjs");
28
+ var import_cube = require("./cube.cjs");
29
+ var import_hex_system = require("./hex-system.cjs");
30
+ const MAG_2_3 = 2 / 3;
31
+ const flatQRSFromPixel = /* @__PURE__ */ __name(({ x, y }, builder, scale = 1) => {
32
+ const q = MAG_2_3 * x / scale;
33
+ const r = (import_hex_system.SQRT_3_3 * y - x / 3) / scale;
34
+ const round = (0, import_cube_round.cubeRound)((0, import_cube.cubeFromQR)(q, r));
35
+ return builder(round.q, round.r);
36
+ }, "flatQRSFromPixel");
37
+ const pointyQRSFromPixel = /* @__PURE__ */ __name(({ x, y }, builder, scale = 1) => {
38
+ const q = (import_hex_system.SQRT_3_3 * x - y / 3) / scale;
39
+ const r = MAG_2_3 * y / scale;
40
+ const round = (0, import_cube_round.cubeRound)((0, import_cube.cubeFromQR)(q, r));
41
+ return builder(round.q, round.r);
42
+ }, "pointyQRSFromPixel");
43
+ const qrsFromPixel = /* @__PURE__ */ __name(({ x, y }, { orientation: { b0, b1, b2, b3 }, origin: { x: cx, y: cy }, size: { x: scaleX, y: scaleY } }, builder) => {
44
+ const x0 = (x - cx) / scaleX;
45
+ const y0 = (y - cy) / scaleY;
46
+ const q = b0 * x0 + b1 * y0;
47
+ const r = b2 * x0 + b3 * y0;
48
+ return builder(q, r);
49
+ }, "qrsFromPixel");
50
+ //# sourceMappingURL=qrs-from-pixel.cjs.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/packages/hexgrid/qrs-from-pixel.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAA0B;AAC1B,kBAA2B;AAC3B,wBAAyB;AAIzB,MAAM,UAAU,IAAI;AAEb,MAAM,mBAAmB,wBAC/B,EAAE,GAAG,EAAE,GACP,SACA,QAAQ,MACD;AACP,QAAM,IAAI,UAAU,IAAI;AACxB,QAAM,KAAK,6BAAW,IAAI,IAAI,KAAK;AACnC,QAAM,YAAQ,iCAAU,wBAAW,GAAG,CAAC,CAAC;AACxC,SAAO,QAAQ,MAAM,GAAG,MAAM,CAAC;AAChC,GATgC;AAWzB,MAAM,qBAAqB,wBACjC,EAAE,GAAG,EAAE,GACP,SACA,QAAQ,MACD;AACP,QAAM,KAAK,6BAAW,IAAI,IAAI,KAAK;AACnC,QAAM,IAAI,UAAU,IAAI;AACxB,QAAM,YAAQ,iCAAU,wBAAW,GAAG,CAAC,CAAC;AACxC,SAAO,QAAQ,MAAM,GAAG,MAAM,CAAC;AAChC,GATkC;AAW3B,MAAM,eAAe,wBAC3B,EAAE,GAAG,EAAE,GACP,EAAE,aAAa,EAAE,IAAI,IAAI,IAAI,GAAG,GAAG,QAAQ,EAAE,GAAG,IAAI,GAAG,GAAG,GAAG,MAAM,EAAE,GAAG,QAAQ,GAAG,OAAO,EAAE,GAC5F,YACO;AACP,QAAM,MAAM,IAAI,MAAM;AACtB,QAAM,MAAM,IAAI,MAAM;AACtB,QAAM,IAAI,KAAK,KAAK,KAAK;AACzB,QAAM,IAAI,KAAK,KAAK,KAAK;AACzB,SAAO,QAAQ,GAAG,CAAC;AACpB,GAV4B;",
5
+ "names": []
6
+ }
@@ -0,0 +1,12 @@
1
+ import type { HexLayout, PointXY } from "./orientation.js";
2
+ import type { QRSBuilder, QRSPoint, QRSSystem } from "./qrs.js";
3
+ export declare const flatQRSFromPixel: <P extends QRSPoint<S>, S extends QRSSystem>({ x, y }: {
4
+ x: number;
5
+ y: number;
6
+ }, builder: QRSBuilder<P>, scale?: number) => P;
7
+ export declare const pointyQRSFromPixel: <P extends QRSPoint<S>, S extends QRSSystem>({ x, y }: {
8
+ x: number;
9
+ y: number;
10
+ }, builder: QRSBuilder<P>, scale?: number) => P;
11
+ export declare const qrsFromPixel: <P extends QRSPoint<S>, S extends QRSSystem>({ x, y }: PointXY, { orientation: { b0, b1, b2, b3 }, origin: { x: cx, y: cy }, size: { x: scaleX, y: scaleY } }: HexLayout, builder: QRSBuilder<P>) => P;
12
+ //# sourceMappingURL=qrs-from-pixel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qrs-from-pixel.d.ts","sourceRoot":"","sources":["../../../src/packages/hexgrid/qrs-from-pixel.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAIhE,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,SAAS,EAC1E,UAAU;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,EAClC,SAAS,UAAU,CAAC,CAAC,CAAC,EACtB,cAAS,KACP,CAKF,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,SAAS,EAC5E,UAAU;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,EAClC,SAAS,UAAU,CAAC,CAAC,CAAC,EACtB,cAAS,KACP,CAKF,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,SAAS,EACtE,UAAU,OAAO,EACjB,+FAA+F,SAAS,EACxG,SAAS,UAAU,CAAC,CAAC,CAAC,KACpB,CAMF,CAAC"}
@@ -0,0 +1,31 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ import { cubeRound } from "./cube-round.mjs";
4
+ import { cubeFromQR } from "./cube.mjs";
5
+ import { SQRT_3_3 } from "./hex-system.mjs";
6
+ const MAG_2_3 = 2 / 3;
7
+ const flatQRSFromPixel = /* @__PURE__ */ __name(({ x, y }, builder, scale = 1) => {
8
+ const q = MAG_2_3 * x / scale;
9
+ const r = (SQRT_3_3 * y - x / 3) / scale;
10
+ const round = cubeRound(cubeFromQR(q, r));
11
+ return builder(round.q, round.r);
12
+ }, "flatQRSFromPixel");
13
+ const pointyQRSFromPixel = /* @__PURE__ */ __name(({ x, y }, builder, scale = 1) => {
14
+ const q = (SQRT_3_3 * x - y / 3) / scale;
15
+ const r = MAG_2_3 * y / scale;
16
+ const round = cubeRound(cubeFromQR(q, r));
17
+ return builder(round.q, round.r);
18
+ }, "pointyQRSFromPixel");
19
+ const qrsFromPixel = /* @__PURE__ */ __name(({ x, y }, { orientation: { b0, b1, b2, b3 }, origin: { x: cx, y: cy }, size: { x: scaleX, y: scaleY } }, builder) => {
20
+ const x0 = (x - cx) / scaleX;
21
+ const y0 = (y - cy) / scaleY;
22
+ const q = b0 * x0 + b1 * y0;
23
+ const r = b2 * x0 + b3 * y0;
24
+ return builder(q, r);
25
+ }, "qrsFromPixel");
26
+ export {
27
+ flatQRSFromPixel,
28
+ pointyQRSFromPixel,
29
+ qrsFromPixel
30
+ };
31
+ //# sourceMappingURL=qrs-from-pixel.mjs.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/packages/hexgrid/qrs-from-pixel.ts"],
4
+ "mappings": ";;AAAA,SAAS,iBAAiB;AAC1B,SAAS,kBAAkB;AAC3B,SAAS,gBAAgB;AAIzB,MAAM,UAAU,IAAI;AAEb,MAAM,mBAAmB,wBAC/B,EAAE,GAAG,EAAE,GACP,SACA,QAAQ,MACD;AACP,QAAM,IAAI,UAAU,IAAI;AACxB,QAAM,KAAK,WAAW,IAAI,IAAI,KAAK;AACnC,QAAM,QAAQ,UAAU,WAAW,GAAG,CAAC,CAAC;AACxC,SAAO,QAAQ,MAAM,GAAG,MAAM,CAAC;AAChC,GATgC;AAWzB,MAAM,qBAAqB,wBACjC,EAAE,GAAG,EAAE,GACP,SACA,QAAQ,MACD;AACP,QAAM,KAAK,WAAW,IAAI,IAAI,KAAK;AACnC,QAAM,IAAI,UAAU,IAAI;AACxB,QAAM,QAAQ,UAAU,WAAW,GAAG,CAAC,CAAC;AACxC,SAAO,QAAQ,MAAM,GAAG,MAAM,CAAC;AAChC,GATkC;AAW3B,MAAM,eAAe,wBAC3B,EAAE,GAAG,EAAE,GACP,EAAE,aAAa,EAAE,IAAI,IAAI,IAAI,GAAG,GAAG,QAAQ,EAAE,GAAG,IAAI,GAAG,GAAG,GAAG,MAAM,EAAE,GAAG,QAAQ,GAAG,OAAO,EAAE,GAC5F,YACO;AACP,QAAM,MAAM,IAAI,MAAM;AACtB,QAAM,MAAM,IAAI,MAAM;AACtB,QAAM,IAAI,KAAK,KAAK,KAAK;AACzB,QAAM,IAAI,KAAK,KAAK,KAAK;AACzB,SAAO,QAAQ,GAAG,CAAC;AACpB,GAV4B;",
5
+ "names": []
6
+ }
@@ -0,0 +1,41 @@
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 qrs_hash_code_exports = {};
21
+ __export(qrs_hash_code_exports, {
22
+ qrsHashCode: () => qrsHashCode
23
+ });
24
+ module.exports = __toCommonJS(qrs_hash_code_exports);
25
+ var import_foundation = require("@rickosborne/foundation");
26
+ const buffer64 = (0, import_foundation.memoizeSupplier)(() => Buffer.allocUnsafe(8));
27
+ const toBits32 = /* @__PURE__ */ __name((num, buf = buffer64(), offset = 0) => {
28
+ if (Number.isSafeInteger(num)) {
29
+ buf.writeInt32BE(num, offset);
30
+ } else {
31
+ buf.writeFloatBE(num, offset);
32
+ }
33
+ return buf.readUInt32BE(offset);
34
+ }, "toBits32");
35
+ const qrsHashCode = /* @__PURE__ */ __name(({ q, r }) => {
36
+ const buf = buffer64();
37
+ toBits32(q, buf, 0);
38
+ toBits32(r, buf, 4);
39
+ return buf.readBigUint64LE();
40
+ }, "qrsHashCode");
41
+ //# sourceMappingURL=qrs-hash-code.cjs.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/packages/hexgrid/qrs-hash-code.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAgC;AAGhC,MAAM,eAAW,mCAAgB,MAAM,OAAO,YAAY,CAAC,CAAC;AAE5D,MAAM,WAAW,wBAAC,KAAa,MAAM,SAAS,GAAG,SAAS,MAAM;AAC/D,MAAI,OAAO,cAAc,GAAG,GAAG;AAC9B,QAAI,aAAa,KAAK,MAAM;AAAA,EAC7B,OAAO;AACN,QAAI,aAAa,KAAK,MAAM;AAAA,EAC7B;AACA,SAAO,IAAI,aAAa,MAAM;AAC/B,GAPiB;AAaV,MAAM,cAAc,wBAAC,EAAE,GAAG,EAAE,MAA4B;AAC9D,QAAM,MAAM,SAAS;AACrB,WAAS,GAAG,KAAK,CAAC;AAClB,WAAS,GAAG,KAAK,CAAC;AAClB,SAAO,IAAI,gBAAgB;AAC5B,GAL2B;",
5
+ "names": []
6
+ }
@@ -0,0 +1,7 @@
1
+ import type { BareQRSPoint } from "./qrs.js";
2
+ /**
3
+ * Generate a (very simplistic) hash code for a hex point which could
4
+ * be used as a Map/Hash key.
5
+ */
6
+ export declare const qrsHashCode: ({ q, r }: BareQRSPoint) => bigint;
7
+ //# sourceMappingURL=qrs-hash-code.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qrs-hash-code.d.ts","sourceRoot":"","sources":["../../../src/packages/hexgrid/qrs-hash-code.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAa7C;;;GAGG;AACH,eAAO,MAAM,WAAW,GAAI,UAAU,YAAY,KAAG,MAKpD,CAAC"}
@@ -0,0 +1,22 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ import { memoizeSupplier } from "@rickosborne/foundation";
4
+ const buffer64 = memoizeSupplier(() => Buffer.allocUnsafe(8));
5
+ const toBits32 = /* @__PURE__ */ __name((num, buf = buffer64(), offset = 0) => {
6
+ if (Number.isSafeInteger(num)) {
7
+ buf.writeInt32BE(num, offset);
8
+ } else {
9
+ buf.writeFloatBE(num, offset);
10
+ }
11
+ return buf.readUInt32BE(offset);
12
+ }, "toBits32");
13
+ const qrsHashCode = /* @__PURE__ */ __name(({ q, r }) => {
14
+ const buf = buffer64();
15
+ toBits32(q, buf, 0);
16
+ toBits32(r, buf, 4);
17
+ return buf.readBigUint64LE();
18
+ }, "qrsHashCode");
19
+ export {
20
+ qrsHashCode
21
+ };
22
+ //# sourceMappingURL=qrs-hash-code.mjs.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/packages/hexgrid/qrs-hash-code.ts"],
4
+ "mappings": ";;AAAA,SAAS,uBAAuB;AAGhC,MAAM,WAAW,gBAAgB,MAAM,OAAO,YAAY,CAAC,CAAC;AAE5D,MAAM,WAAW,wBAAC,KAAa,MAAM,SAAS,GAAG,SAAS,MAAM;AAC/D,MAAI,OAAO,cAAc,GAAG,GAAG;AAC9B,QAAI,aAAa,KAAK,MAAM;AAAA,EAC7B,OAAO;AACN,QAAI,aAAa,KAAK,MAAM;AAAA,EAC7B;AACA,SAAO,IAAI,aAAa,MAAM;AAC/B,GAPiB;AAaV,MAAM,cAAc,wBAAC,EAAE,GAAG,EAAE,MAA4B;AAC9D,QAAM,MAAM,SAAS;AACrB,WAAS,GAAG,KAAK,CAAC;AAClB,WAAS,GAAG,KAAK,CAAC;AAClB,SAAO,IAAI,gBAAgB;AAC5B,GAL2B;",
5
+ "names": []
6
+ }
@@ -0,0 +1,44 @@
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 qrs_intersection_exports = {};
21
+ __export(qrs_intersection_exports, {
22
+ qrsIntersection: () => qrsIntersection
23
+ });
24
+ module.exports = __toCommonJS(qrs_intersection_exports);
25
+ const qrsIntersection = /* @__PURE__ */ __name((buildFn, center1, radius1, center2, radius2 = radius1) => {
26
+ const points = [];
27
+ const qMin = Math.max(center1.q - radius1, center2.q - radius2);
28
+ const qMax = Math.min(center1.q + radius1, center2.q + radius2);
29
+ const rMin = Math.max(center1.r - radius1, center2.r - radius2);
30
+ const rMax = Math.min(center1.r + radius1, center2.r + radius2);
31
+ const s1 = -center1.q - center1.r;
32
+ const s2 = -center2.q - center2.r;
33
+ const sMin = Math.max(s1 - radius1, s2 - radius2);
34
+ const sMax = Math.min(s1 + radius1, s2 + radius2);
35
+ for (let q = qMin; q <= qMax; q++) {
36
+ const ra = Math.max(rMin, -q - sMax);
37
+ const rb = Math.min(rMax, -q - sMin);
38
+ for (let r = ra; r <= rb; r++) {
39
+ points.push(buildFn(q, r));
40
+ }
41
+ }
42
+ return points;
43
+ }, "qrsIntersection");
44
+ //# sourceMappingURL=qrs-intersection.cjs.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/packages/hexgrid/qrs-intersection.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEO,MAAM,kBAAkB,wBAC9B,SACA,SACA,SACA,SACA,UAAkB,YACT;AACT,QAAM,SAAc,CAAC;AACrB,QAAM,OAAO,KAAK,IAAI,QAAQ,IAAI,SAAS,QAAQ,IAAI,OAAO;AAC9D,QAAM,OAAO,KAAK,IAAI,QAAQ,IAAI,SAAS,QAAQ,IAAI,OAAO;AAC9D,QAAM,OAAO,KAAK,IAAI,QAAQ,IAAI,SAAS,QAAQ,IAAI,OAAO;AAC9D,QAAM,OAAO,KAAK,IAAI,QAAQ,IAAI,SAAS,QAAQ,IAAI,OAAO;AAC9D,QAAM,KAAK,CAAC,QAAQ,IAAI,QAAQ;AAChC,QAAM,KAAK,CAAC,QAAQ,IAAI,QAAQ;AAChC,QAAM,OAAO,KAAK,IAAI,KAAK,SAAS,KAAK,OAAO;AAChD,QAAM,OAAO,KAAK,IAAI,KAAK,SAAS,KAAK,OAAO;AAChD,WAAS,IAAI,MAAM,KAAK,MAAM,KAAK;AAClC,UAAM,KAAK,KAAK,IAAI,MAAM,CAAC,IAAI,IAAI;AACnC,UAAM,KAAK,KAAK,IAAI,MAAM,CAAC,IAAI,IAAI;AACnC,aAAS,IAAI,IAAI,KAAK,IAAI,KAAK;AAC9B,aAAO,KAAK,QAAQ,GAAG,CAAC,CAAC;AAAA,IAC1B;AAAA,EACD;AACA,SAAO;AACR,GAxB+B;",
5
+ "names": []
6
+ }
@@ -0,0 +1,3 @@
1
+ import type { QRSBuilder, QRSPoint, QRSSystem } from "./qrs.js";
2
+ export declare const qrsIntersection: <P extends QRSPoint<QRSSystem>>(buildFn: QRSBuilder<P>, center1: P, radius1: number, center2: P, radius2?: number) => P[];
3
+ //# sourceMappingURL=qrs-intersection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qrs-intersection.d.ts","sourceRoot":"","sources":["../../../src/packages/hexgrid/qrs-intersection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAEhE,eAAO,MAAM,eAAe,GAAI,CAAC,SAAS,QAAQ,CAAC,SAAS,CAAC,EAC5D,SAAS,UAAU,CAAC,CAAC,CAAC,EACtB,SAAS,CAAC,EACV,SAAS,MAAM,EACf,SAAS,CAAC,EACV,UAAS,MAAgB,KACvB,CAAC,EAkBH,CAAC"}
@@ -0,0 +1,25 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ const qrsIntersection = /* @__PURE__ */ __name((buildFn, center1, radius1, center2, radius2 = radius1) => {
4
+ const points = [];
5
+ const qMin = Math.max(center1.q - radius1, center2.q - radius2);
6
+ const qMax = Math.min(center1.q + radius1, center2.q + radius2);
7
+ const rMin = Math.max(center1.r - radius1, center2.r - radius2);
8
+ const rMax = Math.min(center1.r + radius1, center2.r + radius2);
9
+ const s1 = -center1.q - center1.r;
10
+ const s2 = -center2.q - center2.r;
11
+ const sMin = Math.max(s1 - radius1, s2 - radius2);
12
+ const sMax = Math.min(s1 + radius1, s2 + radius2);
13
+ for (let q = qMin; q <= qMax; q++) {
14
+ const ra = Math.max(rMin, -q - sMax);
15
+ const rb = Math.min(rMax, -q - sMin);
16
+ for (let r = ra; r <= rb; r++) {
17
+ points.push(buildFn(q, r));
18
+ }
19
+ }
20
+ return points;
21
+ }, "qrsIntersection");
22
+ export {
23
+ qrsIntersection
24
+ };
25
+ //# sourceMappingURL=qrs-intersection.mjs.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/packages/hexgrid/qrs-intersection.ts"],
4
+ "mappings": ";;AAEO,MAAM,kBAAkB,wBAC9B,SACA,SACA,SACA,SACA,UAAkB,YACT;AACT,QAAM,SAAc,CAAC;AACrB,QAAM,OAAO,KAAK,IAAI,QAAQ,IAAI,SAAS,QAAQ,IAAI,OAAO;AAC9D,QAAM,OAAO,KAAK,IAAI,QAAQ,IAAI,SAAS,QAAQ,IAAI,OAAO;AAC9D,QAAM,OAAO,KAAK,IAAI,QAAQ,IAAI,SAAS,QAAQ,IAAI,OAAO;AAC9D,QAAM,OAAO,KAAK,IAAI,QAAQ,IAAI,SAAS,QAAQ,IAAI,OAAO;AAC9D,QAAM,KAAK,CAAC,QAAQ,IAAI,QAAQ;AAChC,QAAM,KAAK,CAAC,QAAQ,IAAI,QAAQ;AAChC,QAAM,OAAO,KAAK,IAAI,KAAK,SAAS,KAAK,OAAO;AAChD,QAAM,OAAO,KAAK,IAAI,KAAK,SAAS,KAAK,OAAO;AAChD,WAAS,IAAI,MAAM,KAAK,MAAM,KAAK;AAClC,UAAM,KAAK,KAAK,IAAI,MAAM,CAAC,IAAI,IAAI;AACnC,UAAM,KAAK,KAAK,IAAI,MAAM,CAAC,IAAI,IAAI;AACnC,aAAS,IAAI,IAAI,KAAK,IAAI,KAAK;AAC9B,aAAO,KAAK,QAAQ,GAAG,CAAC,CAAC;AAAA,IAC1B;AAAA,EACD;AACA,SAAO;AACR,GAxB+B;",
5
+ "names": []
6
+ }
package/qrs-range.cjs ADDED
@@ -0,0 +1,38 @@
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 qrs_range_exports = {};
21
+ __export(qrs_range_exports, {
22
+ qrsRange: () => qrsRange
23
+ });
24
+ module.exports = __toCommonJS(qrs_range_exports);
25
+ const qrsRange = /* @__PURE__ */ __name((addFn, buildFn, center, radius) => {
26
+ const points = [];
27
+ for (let q = -radius; q <= radius; q++) {
28
+ const ra = Math.max(-radius, -q - radius);
29
+ const rb = Math.min(radius, radius - q);
30
+ for (let r = ra; r <= rb; r++) {
31
+ const vector = buildFn(q, r);
32
+ const point = addFn(center, vector);
33
+ points.push(point);
34
+ }
35
+ }
36
+ return points;
37
+ }, "qrsRange");
38
+ //# sourceMappingURL=qrs-range.cjs.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/packages/hexgrid/qrs-range.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAKO,MAAM,WAAW,wBACvB,OACA,SACA,QACA,WACS;AACT,QAAM,SAAc,CAAC;AACrB,WAAS,IAAI,CAAC,QAAQ,KAAK,QAAQ,KAAK;AACvC,UAAM,KAAK,KAAK,IAAI,CAAC,QAAQ,CAAC,IAAI,MAAM;AACxC,UAAM,KAAK,KAAK,IAAI,QAAQ,SAAS,CAAC;AACtC,aAAS,IAAI,IAAI,KAAK,IAAI,KAAK;AAC9B,YAAM,SAAS,QAAQ,GAAG,CAAC;AAC3B,YAAM,QAAQ,MAAM,QAAQ,MAAM;AAClC,aAAO,KAAK,KAAK;AAAA,IAClB;AAAA,EACD;AACA,SAAO;AACR,GAjBwB;",
5
+ "names": []
6
+ }
package/qrs-range.d.ts ADDED
@@ -0,0 +1,6 @@
1
+ import type { QRSAdder, QRSBuilder, QRSPoint, QRSSystem } from "./qrs.js";
2
+ /**
3
+ * Calculate all the points within a given radius of a given center.
4
+ */
5
+ export declare const qrsRange: <P extends QRSPoint<QRSSystem>>(addFn: QRSAdder<P>, buildFn: QRSBuilder<P>, center: P, radius: number) => P[];
6
+ //# sourceMappingURL=qrs-range.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qrs-range.d.ts","sourceRoot":"","sources":["../../../src/packages/hexgrid/qrs-range.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1E;;GAEG;AACH,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS,QAAQ,CAAC,SAAS,CAAC,EACrD,OAAO,QAAQ,CAAC,CAAC,CAAC,EAClB,SAAS,UAAU,CAAC,CAAC,CAAC,EACtB,QAAQ,CAAC,EACT,QAAQ,MAAM,KACZ,CAAC,EAYH,CAAC"}
package/qrs-range.mjs ADDED
@@ -0,0 +1,19 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ const qrsRange = /* @__PURE__ */ __name((addFn, buildFn, center, radius) => {
4
+ const points = [];
5
+ for (let q = -radius; q <= radius; q++) {
6
+ const ra = Math.max(-radius, -q - radius);
7
+ const rb = Math.min(radius, radius - q);
8
+ for (let r = ra; r <= rb; r++) {
9
+ const vector = buildFn(q, r);
10
+ const point = addFn(center, vector);
11
+ points.push(point);
12
+ }
13
+ }
14
+ return points;
15
+ }, "qrsRange");
16
+ export {
17
+ qrsRange
18
+ };
19
+ //# sourceMappingURL=qrs-range.mjs.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/packages/hexgrid/qrs-range.ts"],
4
+ "mappings": ";;AAKO,MAAM,WAAW,wBACvB,OACA,SACA,QACA,WACS;AACT,QAAM,SAAc,CAAC;AACrB,WAAS,IAAI,CAAC,QAAQ,KAAK,QAAQ,KAAK;AACvC,UAAM,KAAK,KAAK,IAAI,CAAC,QAAQ,CAAC,IAAI,MAAM;AACxC,UAAM,KAAK,KAAK,IAAI,QAAQ,SAAS,CAAC;AACtC,aAAS,IAAI,IAAI,KAAK,IAAI,KAAK;AAC9B,YAAM,SAAS,QAAQ,GAAG,CAAC;AAC3B,YAAM,QAAQ,MAAM,QAAQ,MAAM;AAClC,aAAO,KAAK,KAAK;AAAA,IAClB;AAAA,EACD;AACA,SAAO;AACR,GAjBwB;",
5
+ "names": []
6
+ }
package/qrs-ring.cjs ADDED
@@ -0,0 +1,50 @@
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 qrs_ring_exports = {};
21
+ __export(qrs_ring_exports, {
22
+ qrsRing: () => qrsRing
23
+ });
24
+ module.exports = __toCommonJS(qrs_ring_exports);
25
+ const RING_DIRECTIONS = Object.freeze([
26
+ { q: 1, r: 0 },
27
+ { q: 1, r: -1 },
28
+ { q: 0, r: -1 },
29
+ { q: -1, r: 0 },
30
+ { q: -1, r: 1 },
31
+ { q: 0, r: 1 }
32
+ ]);
33
+ const qrsRing = /* @__PURE__ */ __name((center, radius, builder) => {
34
+ if (radius < 1) {
35
+ return [];
36
+ }
37
+ const points = [];
38
+ let q = -radius + center.q;
39
+ let r = radius + center.q;
40
+ for (let i = 0; i < 6; i++) {
41
+ const neighborDirection = RING_DIRECTIONS[i];
42
+ for (let j = 0; j < radius; j++) {
43
+ points.push(builder(q, r));
44
+ q += neighborDirection.q;
45
+ r += neighborDirection.r;
46
+ }
47
+ }
48
+ return points;
49
+ }, "qrsRing");
50
+ //# sourceMappingURL=qrs-ring.cjs.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/packages/hexgrid/qrs-ring.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,MAAM,kBAA2C,OAAO,OAAO;AAAA,EAC9D,EAAE,GAAG,GAAG,GAAG,EAAE;AAAA,EACb,EAAE,GAAG,GAAG,GAAG,GAAG;AAAA,EACd,EAAE,GAAG,GAAG,GAAG,GAAG;AAAA,EACd,EAAE,GAAG,IAAI,GAAG,EAAE;AAAA,EACd,EAAE,GAAG,IAAI,GAAG,EAAE;AAAA,EACd,EAAE,GAAG,GAAG,GAAG,EAAE;AACd,CAAC;AAEM,MAAM,UAAU,wBACtB,QACA,QACA,YACS;AACT,MAAI,SAAS,GAAG;AACf,WAAO,CAAC;AAAA,EACT;AACA,QAAM,SAAc,CAAC;AACrB,MAAI,IAAI,CAAC,SAAS,OAAO;AACzB,MAAI,IAAI,SAAS,OAAO;AACxB,WAAS,IAAI,GAAG,IAAI,GAAG,KAAK;AAC3B,UAAM,oBAAoB,gBAAiB,CAAE;AAC7C,aAAS,IAAI,GAAG,IAAI,QAAQ,KAAK;AAChC,aAAO,KAAK,QAAQ,GAAG,CAAC,CAAC;AACzB,WAAK,kBAAkB;AACvB,WAAK,kBAAkB;AAAA,IACxB;AAAA,EACD;AACA,SAAO;AACR,GApBuB;",
5
+ "names": []
6
+ }
package/qrs-ring.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ import type { QRSBuilder, QRSPoint, QRSSystem } from "./qrs.js";
2
+ export declare const qrsRing: <P extends QRSPoint<S>, S extends QRSSystem>(center: P, radius: number, builder: QRSBuilder<P>) => P[];
3
+ //# sourceMappingURL=qrs-ring.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qrs-ring.d.ts","sourceRoot":"","sources":["../../../src/packages/hexgrid/qrs-ring.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgB,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAW9E,eAAO,MAAM,OAAO,GAAI,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,SAAS,EACjE,QAAQ,CAAC,EACT,QAAQ,MAAM,EACd,SAAS,UAAU,CAAC,CAAC,CAAC,KACpB,CAAC,EAgBH,CAAC"}
package/qrs-ring.mjs ADDED
@@ -0,0 +1,31 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ const RING_DIRECTIONS = Object.freeze([
4
+ { q: 1, r: 0 },
5
+ { q: 1, r: -1 },
6
+ { q: 0, r: -1 },
7
+ { q: -1, r: 0 },
8
+ { q: -1, r: 1 },
9
+ { q: 0, r: 1 }
10
+ ]);
11
+ const qrsRing = /* @__PURE__ */ __name((center, radius, builder) => {
12
+ if (radius < 1) {
13
+ return [];
14
+ }
15
+ const points = [];
16
+ let q = -radius + center.q;
17
+ let r = radius + center.q;
18
+ for (let i = 0; i < 6; i++) {
19
+ const neighborDirection = RING_DIRECTIONS[i];
20
+ for (let j = 0; j < radius; j++) {
21
+ points.push(builder(q, r));
22
+ q += neighborDirection.q;
23
+ r += neighborDirection.r;
24
+ }
25
+ }
26
+ return points;
27
+ }, "qrsRing");
28
+ export {
29
+ qrsRing
30
+ };
31
+ //# sourceMappingURL=qrs-ring.mjs.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/packages/hexgrid/qrs-ring.ts"],
4
+ "mappings": ";;AAEA,MAAM,kBAA2C,OAAO,OAAO;AAAA,EAC9D,EAAE,GAAG,GAAG,GAAG,EAAE;AAAA,EACb,EAAE,GAAG,GAAG,GAAG,GAAG;AAAA,EACd,EAAE,GAAG,GAAG,GAAG,GAAG;AAAA,EACd,EAAE,GAAG,IAAI,GAAG,EAAE;AAAA,EACd,EAAE,GAAG,IAAI,GAAG,EAAE;AAAA,EACd,EAAE,GAAG,GAAG,GAAG,EAAE;AACd,CAAC;AAEM,MAAM,UAAU,wBACtB,QACA,QACA,YACS;AACT,MAAI,SAAS,GAAG;AACf,WAAO,CAAC;AAAA,EACT;AACA,QAAM,SAAc,CAAC;AACrB,MAAI,IAAI,CAAC,SAAS,OAAO;AACzB,MAAI,IAAI,SAAS,OAAO;AACxB,WAAS,IAAI,GAAG,IAAI,GAAG,KAAK;AAC3B,UAAM,oBAAoB,gBAAiB,CAAE;AAC7C,aAAS,IAAI,GAAG,IAAI,QAAQ,KAAK;AAChC,aAAO,KAAK,QAAQ,GAAG,CAAC,CAAC;AACzB,WAAK,kBAAkB;AACvB,WAAK,kBAAkB;AAAA,IACxB;AAAA,EACD;AACA,SAAO;AACR,GApBuB;",
5
+ "names": []
6
+ }
package/qrs-scale.cjs ADDED
@@ -0,0 +1,30 @@
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 qrs_scale_exports = {};
21
+ __export(qrs_scale_exports, {
22
+ bareQRSScale: () => bareQRSScale,
23
+ qrsScale: () => qrsScale
24
+ });
25
+ module.exports = __toCommonJS(qrs_scale_exports);
26
+ const bareQRSScale = /* @__PURE__ */ __name((point, factor) => ({ q: point.q * factor, r: point.r * factor }), "bareQRSScale");
27
+ const qrsScale = /* @__PURE__ */ __name((point, factor, builder) => {
28
+ return builder(point.q * factor, point.r * factor);
29
+ }, "qrsScale");
30
+ //# sourceMappingURL=qrs-scale.cjs.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/packages/hexgrid/qrs-scale.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEO,MAAM,eAAe,wBAAC,OAAqB,YAAkC,EAAE,GAAG,MAAM,IAAI,QAAQ,GAAG,MAAM,IAAI,OAAO,IAAnG;AAErB,MAAM,WAAW,wBAA6C,OAAU,QAAgB,YAA8B;AAC5H,SAAO,QAAQ,MAAM,IAAI,QAAQ,MAAM,IAAI,MAAM;AAClD,GAFwB;",
5
+ "names": []
6
+ }
package/qrs-scale.d.ts ADDED
@@ -0,0 +1,4 @@
1
+ import type { BareQRSPoint, QRSBuilder, QRSPoint, QRSSystem } from "./qrs.js";
2
+ export declare const bareQRSScale: (point: BareQRSPoint, factor: number) => BareQRSPoint;
3
+ export declare const qrsScale: <P extends QRSPoint<S>, S extends QRSSystem>(point: P, factor: number, builder: QRSBuilder<P>) => P;
4
+ //# sourceMappingURL=qrs-scale.d.ts.map