@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 @@
1
+ {"version":3,"file":"qrs-scale.d.ts","sourceRoot":"","sources":["../../../src/packages/hexgrid/qrs-scale.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE9E,eAAO,MAAM,YAAY,GAAI,OAAO,YAAY,EAAE,QAAQ,MAAM,KAAG,YAA8D,CAAC;AAElI,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,SAAS,EAAE,OAAO,CAAC,EAAE,QAAQ,MAAM,EAAE,SAAS,UAAU,CAAC,CAAC,CAAC,KAAG,CAEvH,CAAC"}
package/qrs-scale.mjs ADDED
@@ -0,0 +1,11 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ const bareQRSScale = /* @__PURE__ */ __name((point, factor) => ({ q: point.q * factor, r: point.r * factor }), "bareQRSScale");
4
+ const qrsScale = /* @__PURE__ */ __name((point, factor, builder) => {
5
+ return builder(point.q * factor, point.r * factor);
6
+ }, "qrsScale");
7
+ export {
8
+ bareQRSScale,
9
+ qrsScale
10
+ };
11
+ //# sourceMappingURL=qrs-scale.mjs.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/packages/hexgrid/qrs-scale.ts"],
4
+ "mappings": ";;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-spiral.cjs ADDED
@@ -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_spiral_exports = {};
21
+ __export(qrs_spiral_exports, {
22
+ qrsSpiral: () => qrsSpiral
23
+ });
24
+ module.exports = __toCommonJS(qrs_spiral_exports);
25
+ var import_qrs_ring = require("./qrs-ring.cjs");
26
+ const qrsSpiral = /* @__PURE__ */ __name((center, radius, builder) => {
27
+ if (radius < 1) {
28
+ return [];
29
+ }
30
+ const points = [];
31
+ for (let r = 1; r <= radius; r++) {
32
+ points.push(...(0, import_qrs_ring.qrsRing)(center, r, builder));
33
+ }
34
+ return points;
35
+ }, "qrsSpiral");
36
+ //# sourceMappingURL=qrs-spiral.cjs.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/packages/hexgrid/qrs-spiral.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAAwB;AAGjB,MAAM,YAAY,wBACxB,QACA,QACA,YACS;AACT,MAAI,SAAS,GAAG;AACf,WAAO,CAAC;AAAA,EACT;AACA,QAAM,SAAc,CAAC;AACrB,WAAS,IAAI,GAAG,KAAK,QAAQ,KAAK;AACjC,WAAO,KAAK,OAAG,yBAAc,QAAQ,GAAG,OAAO,CAAC;AAAA,EACjD;AACA,SAAO;AACR,GAbyB;",
5
+ "names": []
6
+ }
@@ -0,0 +1,3 @@
1
+ import type { QRSBuilder, QRSPoint, QRSSystem } from "./qrs.js";
2
+ export declare const qrsSpiral: <P extends QRSPoint<S>, S extends QRSSystem>(center: P, radius: number, builder: QRSBuilder<P>) => P[];
3
+ //# sourceMappingURL=qrs-spiral.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qrs-spiral.d.ts","sourceRoot":"","sources":["../../../src/packages/hexgrid/qrs-spiral.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAEhE,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,SAAS,EACnE,QAAQ,CAAC,EACT,QAAQ,MAAM,EACd,SAAS,UAAU,CAAC,CAAC,CAAC,KACpB,CAAC,EASH,CAAC"}
package/qrs-spiral.mjs ADDED
@@ -0,0 +1,17 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ import { qrsRing } from "./qrs-ring.mjs";
4
+ const qrsSpiral = /* @__PURE__ */ __name((center, radius, builder) => {
5
+ if (radius < 1) {
6
+ return [];
7
+ }
8
+ const points = [];
9
+ for (let r = 1; r <= radius; r++) {
10
+ points.push(...qrsRing(center, r, builder));
11
+ }
12
+ return points;
13
+ }, "qrsSpiral");
14
+ export {
15
+ qrsSpiral
16
+ };
17
+ //# sourceMappingURL=qrs-spiral.mjs.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/packages/hexgrid/qrs-spiral.ts"],
4
+ "mappings": ";;AAAA,SAAS,eAAe;AAGjB,MAAM,YAAY,wBACxB,QACA,QACA,YACS;AACT,MAAI,SAAS,GAAG;AACf,WAAO,CAAC;AAAA,EACT;AACA,QAAM,SAAc,CAAC;AACrB,WAAS,IAAI,GAAG,KAAK,QAAQ,KAAK;AACjC,WAAO,KAAK,GAAG,QAAc,QAAQ,GAAG,OAAO,CAAC;AAAA,EACjD;AACA,SAAO;AACR,GAbyB;",
5
+ "names": []
6
+ }
@@ -0,0 +1,31 @@
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_subtract_exports = {};
21
+ __export(qrs_subtract_exports, {
22
+ bareQRSSubtract: () => bareQRSSubtract,
23
+ qrsSubtract: () => qrsSubtract
24
+ });
25
+ module.exports = __toCommonJS(qrs_subtract_exports);
26
+ const bareQRSSubtract = /* @__PURE__ */ __name((left, right) => ({
27
+ q: left.q - right.q,
28
+ r: left.r - right.r
29
+ }), "bareQRSSubtract");
30
+ const qrsSubtract = /* @__PURE__ */ __name((left, right, builder) => builder(left.q - right.q, left.r - right.r), "qrsSubtract");
31
+ //# sourceMappingURL=qrs-subtract.cjs.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/packages/hexgrid/qrs-subtract.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEO,MAAM,kBAAkB,wBAAC,MAAoB,WAAuC;AAAA,EAC1F,GAAG,KAAK,IAAI,MAAM;AAAA,EAClB,GAAG,KAAK,IAAI,MAAM;AACnB,IAH+B;AAKxB,MAAM,cAAc,wBAA6C,MAAS,OAAU,YAA8B,QAAQ,KAAK,IAAI,MAAM,GAAG,KAAK,IAAI,MAAM,CAAC,GAAxI;",
5
+ "names": []
6
+ }
@@ -0,0 +1,4 @@
1
+ import type { BareQRSPoint, QRSBuilder, QRSPoint, QRSSystem } from "./qrs.js";
2
+ export declare const bareQRSSubtract: (left: BareQRSPoint, right: BareQRSPoint) => BareQRSPoint;
3
+ export declare const qrsSubtract: <P extends QRSPoint<S>, S extends QRSSystem>(left: P, right: P, builder: QRSBuilder<P>) => P;
4
+ //# sourceMappingURL=qrs-subtract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qrs-subtract.d.ts","sourceRoot":"","sources":["../../../src/packages/hexgrid/qrs-subtract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE9E,eAAO,MAAM,eAAe,GAAI,MAAM,YAAY,EAAE,OAAO,YAAY,KAAG,YAGxE,CAAC;AAEH,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,SAAS,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,EAAE,SAAS,UAAU,CAAC,CAAC,CAAC,KAAG,CAAgD,CAAC"}
@@ -0,0 +1,12 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ const bareQRSSubtract = /* @__PURE__ */ __name((left, right) => ({
4
+ q: left.q - right.q,
5
+ r: left.r - right.r
6
+ }), "bareQRSSubtract");
7
+ const qrsSubtract = /* @__PURE__ */ __name((left, right, builder) => builder(left.q - right.q, left.r - right.r), "qrsSubtract");
8
+ export {
9
+ bareQRSSubtract,
10
+ qrsSubtract
11
+ };
12
+ //# sourceMappingURL=qrs-subtract.mjs.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/packages/hexgrid/qrs-subtract.ts"],
4
+ "mappings": ";;AAEO,MAAM,kBAAkB,wBAAC,MAAoB,WAAuC;AAAA,EAC1F,GAAG,KAAK,IAAI,MAAM;AAAA,EAClB,GAAG,KAAK,IAAI,MAAM;AACnB,IAH+B;AAKxB,MAAM,cAAc,wBAA6C,MAAS,OAAU,YAA8B,QAAQ,KAAK,IAAI,MAAM,GAAG,KAAK,IAAI,MAAM,CAAC,GAAxI;",
5
+ "names": []
6
+ }
package/qrs.cjs ADDED
@@ -0,0 +1,28 @@
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_exports = {};
21
+ __export(qrs_exports, {
22
+ QRS_ORIGIN: () => QRS_ORIGIN,
23
+ bareQRS: () => bareQRS
24
+ });
25
+ module.exports = __toCommonJS(qrs_exports);
26
+ const QRS_ORIGIN = Object.freeze({ q: 0, r: 0 });
27
+ const bareQRS = /* @__PURE__ */ __name((q, r) => ({ q, r }), "bareQRS");
28
+ //# sourceMappingURL=qrs.cjs.map
package/qrs.cjs.map ADDED
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/packages/hexgrid/qrs.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAoCO,MAAM,aAAa,OAAO,OAAO,EAAE,GAAG,GAAG,GAAG,EAAE,CAAiC;AAE/E,MAAM,UAAU,wBAAC,GAAW,OAA6B,EAAE,GAAG,EAAE,IAAhD;",
5
+ "names": []
6
+ }
package/qrs.d.ts ADDED
@@ -0,0 +1,36 @@
1
+ import type { Axial, Cube } from "./hex-system.js";
2
+ import type { Point } from "./point.js";
3
+ export type QRSSystem = Axial | Cube;
4
+ /**
5
+ * In the QRS notation, `q` is the column, while `r` is the row.
6
+ */
7
+ export interface BareQRSPoint {
8
+ /**
9
+ * Bottom left (negative) to top right (positive).
10
+ */
11
+ q: number;
12
+ /**
13
+ * Top (negative) to bottom (positive);
14
+ */
15
+ r: number;
16
+ }
17
+ /**
18
+ * A QRS Point which also has its {@link HexSystem} materialized with its coordinates.
19
+ */
20
+ export interface QRSPoint<S extends QRSSystem> extends Point, BareQRSPoint {
21
+ system: S;
22
+ }
23
+ /**
24
+ * A function which can add together two QRS points with the same system.
25
+ */
26
+ export type QRSAdder<P extends QRSPoint<QRSSystem>> = (left: P, right: P) => P;
27
+ /**
28
+ * A function which can structures numbers into a QRS point for a given system.
29
+ */
30
+ export type QRSBuilder<P extends QRSPoint<QRSSystem>> = (q: number, r: number) => P;
31
+ export declare const QRS_ORIGIN: Readonly<{
32
+ readonly q: 0;
33
+ readonly r: 0;
34
+ }>;
35
+ export declare const bareQRS: (q: number, r: number) => BareQRSPoint;
36
+ //# sourceMappingURL=qrs.d.ts.map
package/qrs.d.ts.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qrs.d.ts","sourceRoot":"","sources":["../../../src/packages/hexgrid/qrs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,IAAI,CAAC;AAErC;;GAEG;AACH,MAAM,WAAW,YAAY;IAC5B;;OAEG;IACH,CAAC,EAAE,MAAM,CAAC;IACV;;OAEG;IACH,CAAC,EAAE,MAAM,CAAC;CACV;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ,CAAC,CAAC,SAAS,SAAS,CAAE,SAAQ,KAAK,EAAE,YAAY;IACzE,MAAM,EAAE,CAAC,CAAC;CACV;AAED;;GAEG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC;AAE/E;;GAEG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC,CAAC;AAEpF,eAAO,MAAM,UAAU;;;EAAgE,CAAC;AAExF,eAAO,MAAM,OAAO,GAAI,GAAG,MAAM,EAAE,GAAG,MAAM,KAAG,YAA0B,CAAC"}
package/qrs.mjs ADDED
@@ -0,0 +1,9 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ const QRS_ORIGIN = Object.freeze({ q: 0, r: 0 });
4
+ const bareQRS = /* @__PURE__ */ __name((q, r) => ({ q, r }), "bareQRS");
5
+ export {
6
+ QRS_ORIGIN,
7
+ bareQRS
8
+ };
9
+ //# sourceMappingURL=qrs.mjs.map
package/qrs.mjs.map ADDED
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/packages/hexgrid/qrs.ts"],
4
+ "mappings": ";;AAoCO,MAAM,aAAa,OAAO,OAAO,EAAE,GAAG,GAAG,GAAG,EAAE,CAAiC;AAE/E,MAAM,UAAU,wBAAC,GAAW,OAA6B,EAAE,GAAG,EAAE,IAAhD;",
5
+ "names": []
6
+ }