@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,44 @@
1
+ export declare const AXIAL: "axial";
2
+ export declare const CUBE: "cube";
3
+ export declare const DOUBLE_H: "doubleH";
4
+ export declare const DOUBLE_W: "doubleW";
5
+ export declare const ODD_R: "oddR";
6
+ export declare const ODD_Q: "oddQ";
7
+ export declare const EVEN_R: "evenR";
8
+ export declare const EVEN_Q: "evenQ";
9
+ export type Axial = typeof AXIAL;
10
+ export type Cube = typeof CUBE;
11
+ export type DoubleHeight = typeof DOUBLE_H;
12
+ export type DoubleWidth = typeof DOUBLE_W;
13
+ export type OddR = typeof ODD_R;
14
+ export type OddQ = typeof ODD_Q;
15
+ export type EvenR = typeof EVEN_R;
16
+ export type EvenQ = typeof EVEN_Q;
17
+ export interface HexSystems {
18
+ axial: Axial;
19
+ cube: Cube;
20
+ doubleH: DoubleHeight;
21
+ doubleW: DoubleWidth;
22
+ evenQ: EvenQ;
23
+ evenR: EvenR;
24
+ oddQ: OddQ;
25
+ oddR: OddR;
26
+ }
27
+ export type HexSystem = keyof HexSystems;
28
+ export declare const HEX_SYSTEMS: readonly HexSystem[];
29
+ export declare const SQRT_3: number;
30
+ export declare const SQRT_3_2: number;
31
+ export declare const SQRT_3_3: number;
32
+ export declare const TWO_PI: number;
33
+ export declare const CW_60 = 60;
34
+ export declare const CW_120 = 120;
35
+ export declare const CW_180 = 180;
36
+ export declare const CW_240 = 240;
37
+ export declare const CW_300 = 300;
38
+ export declare const CCW_60 = 300;
39
+ export declare const CCW_120 = 240;
40
+ export declare const CCW_180 = 180;
41
+ export declare const CCW_240 = 120;
42
+ export declare const CCW_300 = 60;
43
+ export type HexRotation = 0 | typeof CW_60 | typeof CW_120 | typeof CW_180 | typeof CW_240 | typeof CW_300;
44
+ //# sourceMappingURL=hex-system.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hex-system.d.ts","sourceRoot":"","sources":["../../../src/packages/hexgrid/hex-system.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,KAAK,EAAG,OAAgB,CAAC;AACtC,eAAO,MAAM,IAAI,EAAG,MAAe,CAAC;AACpC,eAAO,MAAM,QAAQ,EAAG,SAAkB,CAAC;AAC3C,eAAO,MAAM,QAAQ,EAAG,SAAkB,CAAC;AAC3C,eAAO,MAAM,KAAK,EAAG,MAAe,CAAC;AACrC,eAAO,MAAM,KAAK,EAAG,MAAe,CAAC;AACrC,eAAO,MAAM,MAAM,EAAG,OAAgB,CAAC;AACvC,eAAO,MAAM,MAAM,EAAG,OAAgB,CAAC;AAEvC,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC;AACjC,MAAM,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC;AAC/B,MAAM,MAAM,YAAY,GAAG,OAAO,QAAQ,CAAC;AAC3C,MAAM,MAAM,WAAW,GAAG,OAAO,QAAQ,CAAC;AAC1C,MAAM,MAAM,IAAI,GAAG,OAAO,KAAK,CAAC;AAChC,MAAM,MAAM,IAAI,GAAG,OAAO,KAAK,CAAC;AAChC,MAAM,MAAM,KAAK,GAAG,OAAO,MAAM,CAAC;AAClC,MAAM,MAAM,KAAK,GAAG,OAAO,MAAM,CAAC;AAElC,MAAM,WAAW,UAAU;IAC1B,KAAK,EAAE,KAAK,CAAC;IACb,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,YAAY,CAAC;IACtB,OAAO,EAAE,WAAW,CAAC;IACrB,KAAK,EAAE,KAAK,CAAC;IACb,KAAK,EAAE,KAAK,CAAC;IACb,IAAI,EAAE,IAAI,CAAC;IACX,IAAI,EAAE,IAAI,CAAC;CACX;AAED,MAAM,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC;AAEzC,eAAO,MAAM,WAAW,EAAE,SAAS,SAAS,EAE1C,CAAC;AAEH,eAAO,MAAM,MAAM,QAAe,CAAC;AACnC,eAAO,MAAM,QAAQ,QAAa,CAAC;AACnC,eAAO,MAAM,QAAQ,QAAa,CAAC;AAEnC,eAAO,MAAM,MAAM,QAAc,CAAC;AAElC,eAAO,MAAM,KAAK,KAAK,CAAC;AACxB,eAAO,MAAM,MAAM,MAAM,CAAC;AAC1B,eAAO,MAAM,MAAM,MAAM,CAAC;AAC1B,eAAO,MAAM,MAAM,MAAM,CAAC;AAC1B,eAAO,MAAM,MAAM,MAAM,CAAC;AAE1B,eAAO,MAAM,MAAM,MAAS,CAAC;AAC7B,eAAO,MAAM,OAAO,MAAS,CAAC;AAC9B,eAAO,MAAM,OAAO,MAAS,CAAC;AAC9B,eAAO,MAAM,OAAO,MAAS,CAAC;AAC9B,eAAO,MAAM,OAAO,KAAQ,CAAC;AAE7B,MAAM,MAAM,WAAW,GAAG,CAAC,GAAG,OAAO,KAAK,GAAG,OAAO,MAAM,GAAG,OAAO,MAAM,GAAG,OAAO,MAAM,GAAG,OAAO,MAAM,CAAC"}
package/hex-system.mjs ADDED
@@ -0,0 +1,58 @@
1
+ const AXIAL = "axial";
2
+ const CUBE = "cube";
3
+ const DOUBLE_H = "doubleH";
4
+ const DOUBLE_W = "doubleW";
5
+ const ODD_R = "oddR";
6
+ const ODD_Q = "oddQ";
7
+ const EVEN_R = "evenR";
8
+ const EVEN_Q = "evenQ";
9
+ const HEX_SYSTEMS = Object.freeze([
10
+ AXIAL,
11
+ CUBE,
12
+ DOUBLE_H,
13
+ DOUBLE_W,
14
+ EVEN_Q,
15
+ EVEN_R,
16
+ ODD_Q,
17
+ ODD_R
18
+ ]);
19
+ const SQRT_3 = Math.sqrt(3);
20
+ const SQRT_3_2 = SQRT_3 / 2;
21
+ const SQRT_3_3 = SQRT_3 / 3;
22
+ const TWO_PI = Math.PI * 2;
23
+ const CW_60 = 60;
24
+ const CW_120 = 120;
25
+ const CW_180 = 180;
26
+ const CW_240 = 240;
27
+ const CW_300 = 300;
28
+ const CCW_60 = CW_300;
29
+ const CCW_120 = CW_240;
30
+ const CCW_180 = CW_180;
31
+ const CCW_240 = CW_120;
32
+ const CCW_300 = CW_60;
33
+ export {
34
+ AXIAL,
35
+ CCW_120,
36
+ CCW_180,
37
+ CCW_240,
38
+ CCW_300,
39
+ CCW_60,
40
+ CUBE,
41
+ CW_120,
42
+ CW_180,
43
+ CW_240,
44
+ CW_300,
45
+ CW_60,
46
+ DOUBLE_H,
47
+ DOUBLE_W,
48
+ EVEN_Q,
49
+ EVEN_R,
50
+ HEX_SYSTEMS,
51
+ ODD_Q,
52
+ ODD_R,
53
+ SQRT_3,
54
+ SQRT_3_2,
55
+ SQRT_3_3,
56
+ TWO_PI
57
+ };
58
+ //# sourceMappingURL=hex-system.mjs.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/packages/hexgrid/hex-system.ts"],
4
+ "mappings": "AAAO,MAAM,QAAQ;AACd,MAAM,OAAO;AACb,MAAM,WAAW;AACjB,MAAM,WAAW;AACjB,MAAM,QAAQ;AACd,MAAM,QAAQ;AACd,MAAM,SAAS;AACf,MAAM,SAAS;AAwBf,MAAM,cAAoC,OAAO,OAAO;AAAA,EAC9D;AAAA,EAAO;AAAA,EAAM;AAAA,EAAU;AAAA,EAAU;AAAA,EAAQ;AAAA,EAAQ;AAAA,EAAO;AACzD,CAAC;AAEM,MAAM,SAAS,KAAK,KAAK,CAAC;AAC1B,MAAM,WAAW,SAAS;AAC1B,MAAM,WAAW,SAAS;AAE1B,MAAM,SAAS,KAAK,KAAK;AAEzB,MAAM,QAAQ;AACd,MAAM,SAAS;AACf,MAAM,SAAS;AACf,MAAM,SAAS;AACf,MAAM,SAAS;AAEf,MAAM,SAAS;AACf,MAAM,UAAU;AAChB,MAAM,UAAU;AAChB,MAAM,UAAU;AAChB,MAAM,UAAU;",
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 hexes_within_exports = {};
21
+ __export(hexes_within_exports, {
22
+ hexesWithin: () => hexesWithin
23
+ });
24
+ module.exports = __toCommonJS(hexes_within_exports);
25
+ const hexesWithin = /* @__PURE__ */ __name((radius) => {
26
+ if (radius < 0 || !Number.isSafeInteger(radius)) {
27
+ throw new RangeError("hexesWithin expects a positive integer radius");
28
+ }
29
+ return 1 + 3 * radius * (radius + 1);
30
+ }, "hexesWithin");
31
+ //# sourceMappingURL=hexes-within.cjs.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/packages/hexgrid/hexes-within.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAIO,MAAM,cAAc,wBAAC,WAAmB;AAC9C,MAAI,SAAS,KAAK,CAAC,OAAO,cAAc,MAAM,GAAG;AAChD,UAAM,IAAI,WAAW,+CAA+C;AAAA,EACrE;AACA,SAAO,IAAK,IAAI,UAAU,SAAS;AACpC,GAL2B;",
5
+ "names": []
6
+ }
@@ -0,0 +1,6 @@
1
+ /**
2
+ * How many hexes are reachable from a starting hex given a Manhattan
3
+ * distance radius?
4
+ */
5
+ export declare const hexesWithin: (radius: number) => number;
6
+ //# sourceMappingURL=hexes-within.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hexes-within.d.ts","sourceRoot":"","sources":["../../../src/packages/hexgrid/hexes-within.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,WAAW,GAAI,QAAQ,MAAM,WAKzC,CAAC"}
@@ -0,0 +1,12 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ const hexesWithin = /* @__PURE__ */ __name((radius) => {
4
+ if (radius < 0 || !Number.isSafeInteger(radius)) {
5
+ throw new RangeError("hexesWithin expects a positive integer radius");
6
+ }
7
+ return 1 + 3 * radius * (radius + 1);
8
+ }, "hexesWithin");
9
+ export {
10
+ hexesWithin
11
+ };
12
+ //# sourceMappingURL=hexes-within.mjs.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/packages/hexgrid/hexes-within.ts"],
4
+ "mappings": ";;AAIO,MAAM,cAAc,wBAAC,WAAmB;AAC9C,MAAI,SAAS,KAAK,CAAC,OAAO,cAAc,MAAM,GAAG;AAChD,UAAM,IAAI,WAAW,+CAA+C;AAAA,EACrE;AACA,SAAO,IAAK,IAAI,UAAU,SAAS;AACpC,GAL2B;",
5
+ "names": []
6
+ }
package/index.cjs ADDED
@@ -0,0 +1,74 @@
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 __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
15
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
16
+ var index_exports = {};
17
+ module.exports = __toCommonJS(index_exports);
18
+ __reExport(index_exports, require("./axial-add.cjs"), module.exports);
19
+ __reExport(index_exports, require("./axial-from-cube.cjs"), module.exports);
20
+ __reExport(index_exports, require("./axial-from-double.cjs"), module.exports);
21
+ __reExport(index_exports, require("./axial-from-offset.cjs"), module.exports);
22
+ __reExport(index_exports, require("./axial-intersection.cjs"), module.exports);
23
+ __reExport(index_exports, require("./axial-lerp.cjs"), module.exports);
24
+ __reExport(index_exports, require("./axial-line-draw.cjs"), module.exports);
25
+ __reExport(index_exports, require("./axial-neighbor.cjs"), module.exports);
26
+ __reExport(index_exports, require("./axial-range.cjs"), module.exports);
27
+ __reExport(index_exports, require("./axial-round.cjs"), module.exports);
28
+ __reExport(index_exports, require("./axial-subtract.cjs"), module.exports);
29
+ __reExport(index_exports, require("./axial.cjs"), module.exports);
30
+ __reExport(index_exports, require("./covering-grid.cjs"), module.exports);
31
+ __reExport(index_exports, require("./cube-add.cjs"), module.exports);
32
+ __reExport(index_exports, require("./cube-distance.cjs"), module.exports);
33
+ __reExport(index_exports, require("./cube-from-axial.cjs"), module.exports);
34
+ __reExport(index_exports, require("./cube-from-double.cjs"), module.exports);
35
+ __reExport(index_exports, require("./cube-heading.cjs"), module.exports);
36
+ __reExport(index_exports, require("./cube-intersection.cjs"), module.exports);
37
+ __reExport(index_exports, require("./cube-lerp.cjs"), module.exports);
38
+ __reExport(index_exports, require("./cube-line-draw.cjs"), module.exports);
39
+ __reExport(index_exports, require("./cube-neighbor.cjs"), module.exports);
40
+ __reExport(index_exports, require("./cube-range.cjs"), module.exports);
41
+ __reExport(index_exports, require("./cube-rotate.cjs"), module.exports);
42
+ __reExport(index_exports, require("./cube-round.cjs"), module.exports);
43
+ __reExport(index_exports, require("./cube-subtract.cjs"), module.exports);
44
+ __reExport(index_exports, require("./cube.cjs"), module.exports);
45
+ __reExport(index_exports, require("./double-add.cjs"), module.exports);
46
+ __reExport(index_exports, require("./double-distance.cjs"), module.exports);
47
+ __reExport(index_exports, require("./double-from-qrs.cjs"), module.exports);
48
+ __reExport(index_exports, require("./double-neighbor.cjs"), module.exports);
49
+ __reExport(index_exports, require("./double.cjs"), module.exports);
50
+ __reExport(index_exports, require("./hex-contains-point.cjs"), module.exports);
51
+ __reExport(index_exports, require("./hex-distance.cjs"), module.exports);
52
+ __reExport(index_exports, require("./hex-reachable.cjs"), module.exports);
53
+ __reExport(index_exports, require("./hex-system.cjs"), module.exports);
54
+ __reExport(index_exports, require("./hexes-within.cjs"), module.exports);
55
+ __reExport(index_exports, require("./lerp.cjs"), module.exports);
56
+ __reExport(index_exports, require("./offset-distance.cjs"), module.exports);
57
+ __reExport(index_exports, require("./offset-from-qrs.cjs"), module.exports);
58
+ __reExport(index_exports, require("./offset-neighbor.cjs"), module.exports);
59
+ __reExport(index_exports, require("./offset.cjs"), module.exports);
60
+ __reExport(index_exports, require("./orientation.cjs"), module.exports);
61
+ __reExport(index_exports, require("./pixel-from-qrs.cjs"), module.exports);
62
+ __reExport(index_exports, require("./point.cjs"), module.exports);
63
+ __reExport(index_exports, require("./qrs-eq.cjs"), module.exports);
64
+ __reExport(index_exports, require("./qrs-from-double.cjs"), module.exports);
65
+ __reExport(index_exports, require("./qrs-from-pixel.cjs"), module.exports);
66
+ __reExport(index_exports, require("./qrs-hash-code.cjs"), module.exports);
67
+ __reExport(index_exports, require("./qrs-intersection.cjs"), module.exports);
68
+ __reExport(index_exports, require("./qrs-range.cjs"), module.exports);
69
+ __reExport(index_exports, require("./qrs-ring.cjs"), module.exports);
70
+ __reExport(index_exports, require("./qrs-scale.cjs"), module.exports);
71
+ __reExport(index_exports, require("./qrs-spiral.cjs"), module.exports);
72
+ __reExport(index_exports, require("./qrs-subtract.cjs"), module.exports);
73
+ __reExport(index_exports, require("./qrs.cjs"), module.exports);
74
+ //# sourceMappingURL=index.cjs.map
package/index.cjs.map ADDED
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/packages/hexgrid/index.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAAA,0BAAc,2BAAd;AACA,0BAAc,iCADd;AAEA,0BAAc,mCAFd;AAGA,0BAAc,mCAHd;AAIA,0BAAc,oCAJd;AAKA,0BAAc,4BALd;AAMA,0BAAc,iCANd;AAOA,0BAAc,gCAPd;AAQA,0BAAc,6BARd;AASA,0BAAc,6BATd;AAUA,0BAAc,gCAVd;AAWA,0BAAc,uBAXd;AAYA,0BAAc,+BAZd;AAaA,0BAAc,0BAbd;AAcA,0BAAc,+BAdd;AAeA,0BAAc,iCAfd;AAgBA,0BAAc,kCAhBd;AAiBA,0BAAc,8BAjBd;AAkBA,0BAAc,mCAlBd;AAmBA,0BAAc,2BAnBd;AAoBA,0BAAc,gCApBd;AAqBA,0BAAc,+BArBd;AAsBA,0BAAc,4BAtBd;AAuBA,0BAAc,6BAvBd;AAwBA,0BAAc,4BAxBd;AAyBA,0BAAc,+BAzBd;AA0BA,0BAAc,sBA1Bd;AA2BA,0BAAc,4BA3Bd;AA4BA,0BAAc,iCA5Bd;AA6BA,0BAAc,iCA7Bd;AA8BA,0BAAc,iCA9Bd;AA+BA,0BAAc,wBA/Bd;AAgCA,0BAAc,oCAhCd;AAiCA,0BAAc,8BAjCd;AAkCA,0BAAc,+BAlCd;AAmCA,0BAAc,4BAnCd;AAoCA,0BAAc,8BApCd;AAqCA,0BAAc,sBArCd;AAsCA,0BAAc,iCAtCd;AAuCA,0BAAc,iCAvCd;AAwCA,0BAAc,iCAxCd;AAyCA,0BAAc,wBAzCd;AA0CA,0BAAc,6BA1Cd;AA2CA,0BAAc,gCA3Cd;AA4CA,0BAAc,uBA5Cd;AA6CA,0BAAc,wBA7Cd;AA8CA,0BAAc,iCA9Cd;AA+CA,0BAAc,gCA/Cd;AAgDA,0BAAc,+BAhDd;AAiDA,0BAAc,kCAjDd;AAkDA,0BAAc,2BAlDd;AAmDA,0BAAc,0BAnDd;AAoDA,0BAAc,2BApDd;AAqDA,0BAAc,4BArDd;AAsDA,0BAAc,8BAtDd;AAuDA,0BAAc,qBAvDd;",
5
+ "names": []
6
+ }
package/index.d.ts ADDED
@@ -0,0 +1,57 @@
1
+ export * from "./axial-add";
2
+ export * from "./axial-from-cube";
3
+ export * from "./axial-from-double";
4
+ export * from "./axial-from-offset";
5
+ export * from "./axial-intersection";
6
+ export * from "./axial-lerp";
7
+ export * from "./axial-line-draw";
8
+ export * from "./axial-neighbor";
9
+ export * from "./axial-range";
10
+ export * from "./axial-round";
11
+ export * from "./axial-subtract";
12
+ export * from "./axial";
13
+ export * from "./covering-grid";
14
+ export * from "./cube-add";
15
+ export * from "./cube-distance";
16
+ export * from "./cube-from-axial";
17
+ export * from "./cube-from-double";
18
+ export * from "./cube-heading";
19
+ export * from "./cube-intersection";
20
+ export * from "./cube-lerp";
21
+ export * from "./cube-line-draw";
22
+ export * from "./cube-neighbor";
23
+ export * from "./cube-range";
24
+ export * from "./cube-rotate";
25
+ export * from "./cube-round";
26
+ export * from "./cube-subtract";
27
+ export * from "./cube";
28
+ export * from "./double-add";
29
+ export * from "./double-distance";
30
+ export * from "./double-from-qrs";
31
+ export * from "./double-neighbor";
32
+ export * from "./double";
33
+ export * from "./hex-contains-point";
34
+ export * from "./hex-distance";
35
+ export * from "./hex-reachable";
36
+ export * from "./hex-system";
37
+ export * from "./hexes-within";
38
+ export * from "./lerp";
39
+ export * from "./offset-distance";
40
+ export * from "./offset-from-qrs";
41
+ export * from "./offset-neighbor";
42
+ export * from "./offset";
43
+ export * from "./orientation";
44
+ export * from "./pixel-from-qrs";
45
+ export * from "./point";
46
+ export * from "./qrs-eq";
47
+ export * from "./qrs-from-double";
48
+ export * from "./qrs-from-pixel";
49
+ export * from "./qrs-hash-code";
50
+ export * from "./qrs-intersection";
51
+ export * from "./qrs-range";
52
+ export * from "./qrs-ring";
53
+ export * from "./qrs-scale";
54
+ export * from "./qrs-spiral";
55
+ export * from "./qrs-subtract";
56
+ export * from "./qrs";
57
+ //# sourceMappingURL=index.d.ts.map
package/index.d.ts.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/packages/hexgrid/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC"}
package/index.mjs ADDED
@@ -0,0 +1,57 @@
1
+ export * from "./axial-add.mjs";
2
+ export * from "./axial-from-cube.mjs";
3
+ export * from "./axial-from-double.mjs";
4
+ export * from "./axial-from-offset.mjs";
5
+ export * from "./axial-intersection.mjs";
6
+ export * from "./axial-lerp.mjs";
7
+ export * from "./axial-line-draw.mjs";
8
+ export * from "./axial-neighbor.mjs";
9
+ export * from "./axial-range.mjs";
10
+ export * from "./axial-round.mjs";
11
+ export * from "./axial-subtract.mjs";
12
+ export * from "./axial.mjs";
13
+ export * from "./covering-grid.mjs";
14
+ export * from "./cube-add.mjs";
15
+ export * from "./cube-distance.mjs";
16
+ export * from "./cube-from-axial.mjs";
17
+ export * from "./cube-from-double.mjs";
18
+ export * from "./cube-heading.mjs";
19
+ export * from "./cube-intersection.mjs";
20
+ export * from "./cube-lerp.mjs";
21
+ export * from "./cube-line-draw.mjs";
22
+ export * from "./cube-neighbor.mjs";
23
+ export * from "./cube-range.mjs";
24
+ export * from "./cube-rotate.mjs";
25
+ export * from "./cube-round.mjs";
26
+ export * from "./cube-subtract.mjs";
27
+ export * from "./cube.mjs";
28
+ export * from "./double-add.mjs";
29
+ export * from "./double-distance.mjs";
30
+ export * from "./double-from-qrs.mjs";
31
+ export * from "./double-neighbor.mjs";
32
+ export * from "./double.mjs";
33
+ export * from "./hex-contains-point.mjs";
34
+ export * from "./hex-distance.mjs";
35
+ export * from "./hex-reachable.mjs";
36
+ export * from "./hex-system.mjs";
37
+ export * from "./hexes-within.mjs";
38
+ export * from "./lerp.mjs";
39
+ export * from "./offset-distance.mjs";
40
+ export * from "./offset-from-qrs.mjs";
41
+ export * from "./offset-neighbor.mjs";
42
+ export * from "./offset.mjs";
43
+ export * from "./orientation.mjs";
44
+ export * from "./pixel-from-qrs.mjs";
45
+ export * from "./point.mjs";
46
+ export * from "./qrs-eq.mjs";
47
+ export * from "./qrs-from-double.mjs";
48
+ export * from "./qrs-from-pixel.mjs";
49
+ export * from "./qrs-hash-code.mjs";
50
+ export * from "./qrs-intersection.mjs";
51
+ export * from "./qrs-range.mjs";
52
+ export * from "./qrs-ring.mjs";
53
+ export * from "./qrs-scale.mjs";
54
+ export * from "./qrs-spiral.mjs";
55
+ export * from "./qrs-subtract.mjs";
56
+ export * from "./qrs.mjs";
57
+ //# sourceMappingURL=index.mjs.map
package/index.mjs.map ADDED
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/packages/hexgrid/index.ts"],
4
+ "mappings": "AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;",
5
+ "names": []
6
+ }
package/lerp.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 lerp_exports = {};
21
+ __export(lerp_exports, {
22
+ lerp: () => lerp
23
+ });
24
+ module.exports = __toCommonJS(lerp_exports);
25
+ const lerp = /* @__PURE__ */ __name((a, b, frac) => {
26
+ return a * (1 - frac) * (b * frac);
27
+ }, "lerp");
28
+ //# sourceMappingURL=lerp.cjs.map
package/lerp.cjs.map ADDED
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/packages/hexgrid/lerp.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGO,MAAM,OAAO,wBAAC,GAAW,GAAW,SAAyB;AACnE,SAAO,KAAK,IAAI,SAAS,IAAI;AAC9B,GAFoB;",
5
+ "names": []
6
+ }
package/lerp.d.ts ADDED
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Linear interpolate from `a` to `b` with `frac` fractional progress (percent complete, in the range `[0,1]`).
3
+ */
4
+ export declare const lerp: (a: number, b: number, frac: number) => number;
5
+ //# sourceMappingURL=lerp.d.ts.map
package/lerp.d.ts.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lerp.d.ts","sourceRoot":"","sources":["../../../src/packages/hexgrid/lerp.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,IAAI,GAAI,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE,MAAM,MAAM,KAAG,MAEzD,CAAC"}
package/lerp.mjs ADDED
@@ -0,0 +1,9 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ const lerp = /* @__PURE__ */ __name((a, b, frac) => {
4
+ return a * (1 - frac) * (b * frac);
5
+ }, "lerp");
6
+ export {
7
+ lerp
8
+ };
9
+ //# sourceMappingURL=lerp.mjs.map
package/lerp.mjs.map ADDED
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/packages/hexgrid/lerp.ts"],
4
+ "mappings": ";;AAGO,MAAM,OAAO,wBAAC,GAAW,GAAW,SAAyB;AACnE,SAAO,KAAK,IAAI,SAAS,IAAI;AAC9B,GAFoB;",
5
+ "names": []
6
+ }
@@ -0,0 +1,33 @@
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_distance_exports = {};
21
+ __export(offset_distance_exports, {
22
+ offsetDistance: () => offsetDistance
23
+ });
24
+ module.exports = __toCommonJS(offset_distance_exports);
25
+ var import_axial_from_offset = require("./axial-from-offset.cjs");
26
+ var import_axial_subtract = require("./axial-subtract.cjs");
27
+ const offsetDistance = /* @__PURE__ */ __name((left, right) => {
28
+ const l = (0, import_axial_from_offset.axialFromOffset)(left);
29
+ const r = (0, import_axial_from_offset.axialFromOffset)(right);
30
+ const d = (0, import_axial_subtract.axialSubtract)(l, r);
31
+ return (Math.abs(d.q) + Math.abs(d.q + d.r) + Math.abs(d.r)) / 2;
32
+ }, "offsetDistance");
33
+ //# sourceMappingURL=offset-distance.cjs.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/packages/hexgrid/offset-distance.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,+BAAgC;AAChC,4BAA8B;AAGvB,MAAM,iBAAiB,wBAAC,MAAiC,UAA6C;AAC5G,QAAM,QAAI,0CAAgB,IAAI;AAC9B,QAAM,QAAI,0CAAgB,KAAK;AAC/B,QAAM,QAAI,qCAAc,GAAG,CAAC;AAC5B,UAAQ,KAAK,IAAI,EAAE,CAAC,IAAI,KAAK,IAAI,EAAE,IAAI,EAAE,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC,KAAK;AAChE,GAL8B;",
5
+ "names": []
6
+ }
@@ -0,0 +1,3 @@
1
+ import type { OffsetPoint, OffsetSystem } from "./offset.js";
2
+ export declare const offsetDistance: (left: OffsetPoint<OffsetSystem>, right: OffsetPoint<OffsetSystem>) => number;
3
+ //# sourceMappingURL=offset-distance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"offset-distance.d.ts","sourceRoot":"","sources":["../../../src/packages/hexgrid/offset-distance.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE7D,eAAO,MAAM,cAAc,GAAI,MAAM,WAAW,CAAC,YAAY,CAAC,EAAE,OAAO,WAAW,CAAC,YAAY,CAAC,KAAG,MAKlG,CAAC"}
@@ -0,0 +1,14 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ import { axialFromOffset } from "./axial-from-offset.mjs";
4
+ import { axialSubtract } from "./axial-subtract.mjs";
5
+ const offsetDistance = /* @__PURE__ */ __name((left, right) => {
6
+ const l = axialFromOffset(left);
7
+ const r = axialFromOffset(right);
8
+ const d = axialSubtract(l, r);
9
+ return (Math.abs(d.q) + Math.abs(d.q + d.r) + Math.abs(d.r)) / 2;
10
+ }, "offsetDistance");
11
+ export {
12
+ offsetDistance
13
+ };
14
+ //# sourceMappingURL=offset-distance.mjs.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/packages/hexgrid/offset-distance.ts"],
4
+ "mappings": ";;AAAA,SAAS,uBAAuB;AAChC,SAAS,qBAAqB;AAGvB,MAAM,iBAAiB,wBAAC,MAAiC,UAA6C;AAC5G,QAAM,IAAI,gBAAgB,IAAI;AAC9B,QAAM,IAAI,gBAAgB,KAAK;AAC/B,QAAM,IAAI,cAAc,GAAG,CAAC;AAC5B,UAAQ,KAAK,IAAI,EAAE,CAAC,IAAI,KAAK,IAAI,EAAE,IAAI,EAAE,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC,KAAK;AAChE,GAL8B;",
5
+ "names": []
6
+ }
@@ -0,0 +1,70 @@
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_from_qrs_exports = {};
21
+ __export(offset_from_qrs_exports, {
22
+ evenQFromQRS: () => evenQFromQRS,
23
+ evenRFromQRS: () => evenRFromQRS,
24
+ oddQFromQRS: () => oddQFromQRS,
25
+ oddRFromQRS: () => oddRFromQRS
26
+ });
27
+ module.exports = __toCommonJS(offset_from_qrs_exports);
28
+ var import_hex_system = require("./hex-system.cjs");
29
+ const SIMPLE_AXIAL_KEY = Object.freeze({
30
+ [import_hex_system.EVEN_Q]: "q",
31
+ [import_hex_system.EVEN_R]: "r",
32
+ [import_hex_system.ODD_Q]: "q",
33
+ [import_hex_system.ODD_R]: "r"
34
+ });
35
+ const COMPLEX_AXIAL_KEY = Object.freeze({
36
+ [import_hex_system.EVEN_Q]: "r",
37
+ [import_hex_system.EVEN_R]: "q",
38
+ [import_hex_system.ODD_Q]: "r",
39
+ [import_hex_system.ODD_R]: "q"
40
+ });
41
+ const offsetFromQRS = /* @__PURE__ */ __name((system, point) => {
42
+ const simpleAxialKey = SIMPLE_AXIAL_KEY[system];
43
+ const simpleIn = point[simpleAxialKey];
44
+ const complexAxialKey = COMPLEX_AXIAL_KEY[system];
45
+ const complexIn = point[complexAxialKey];
46
+ let bit = simpleIn & 1;
47
+ if (system === import_hex_system.ODD_R || system === import_hex_system.ODD_Q) {
48
+ bit = -bit;
49
+ }
50
+ const complexOut = complexIn + (simpleIn + bit) / 2;
51
+ let col;
52
+ let row;
53
+ if (system === import_hex_system.ODD_R || system === import_hex_system.EVEN_R) {
54
+ col = complexOut;
55
+ row = simpleIn;
56
+ } else {
57
+ col = simpleIn;
58
+ row = complexOut;
59
+ }
60
+ return {
61
+ col,
62
+ row,
63
+ system
64
+ };
65
+ }, "offsetFromQRS");
66
+ const oddRFromQRS = /* @__PURE__ */ __name((point) => offsetFromQRS(import_hex_system.ODD_R, point), "oddRFromQRS");
67
+ const oddQFromQRS = /* @__PURE__ */ __name((point) => offsetFromQRS(import_hex_system.ODD_Q, point), "oddQFromQRS");
68
+ const evenRFromQRS = /* @__PURE__ */ __name((point) => offsetFromQRS(import_hex_system.EVEN_R, point), "evenRFromQRS");
69
+ const evenQFromQRS = /* @__PURE__ */ __name((point) => offsetFromQRS(import_hex_system.EVEN_Q, point), "evenQFromQRS");
70
+ //# sourceMappingURL=offset-from-qrs.cjs.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/packages/hexgrid/offset-from-qrs.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAA6C;AAI7C,MAAM,mBAAuE,OAAO,OAAO;AAAA,EAC1F,CAAC,wBAAM,GAAG;AAAA,EACV,CAAC,wBAAM,GAAG;AAAA,EACV,CAAC,uBAAK,GAAG;AAAA,EACT,CAAC,uBAAK,GAAG;AACV,CAAC;AAED,MAAM,oBAAwE,OAAO,OAAO;AAAA,EAC3F,CAAC,wBAAM,GAAG;AAAA,EACV,CAAC,wBAAM,GAAG;AAAA,EACV,CAAC,uBAAK,GAAG;AAAA,EACT,CAAC,uBAAK,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,2BAAS,WAAW,yBAAO;AACzC,UAAM,CAAC;AAAA,EACR;AACA,QAAM,aAAa,aAAc,WAAW,OAAO;AACnD,MAAI;AACJ,MAAI;AACJ,MAAI,WAAW,2BAAS,WAAW,0BAAQ;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,yBAAO,KAAK,GAA9D;AACpB,MAAM,cAAc,wBAAC,UAAmC,cAAc,yBAAO,KAAK,GAA9D;AACpB,MAAM,eAAe,wBAAC,UAAoC,cAAc,0BAAQ,KAAK,GAAhE;AACrB,MAAM,eAAe,wBAAC,UAAoC,cAAc,0BAAQ,KAAK,GAAhE;",
5
+ "names": []
6
+ }
@@ -0,0 +1,7 @@
1
+ import type { EvenQPoint, EvenRPoint, OddQPoint, OddRPoint } from "./offset.js";
2
+ import type { BareQRSPoint } from "./qrs.js";
3
+ export declare const oddRFromQRS: (point: BareQRSPoint) => OddRPoint;
4
+ export declare const oddQFromQRS: (point: BareQRSPoint) => OddQPoint;
5
+ export declare const evenRFromQRS: (point: BareQRSPoint) => EvenRPoint;
6
+ export declare const evenQFromQRS: (point: BareQRSPoint) => EvenQPoint;
7
+ //# sourceMappingURL=offset-from-qrs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"offset-from-qrs.d.ts","sourceRoot":"","sources":["../../../src/packages/hexgrid/offset-from-qrs.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAA6B,MAAM,aAAa,CAAC;AAC3G,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AA0C7C,eAAO,MAAM,WAAW,GAAI,OAAO,YAAY,KAAG,SAAwC,CAAC;AAC3F,eAAO,MAAM,WAAW,GAAI,OAAO,YAAY,KAAG,SAAwC,CAAC;AAC3F,eAAO,MAAM,YAAY,GAAI,OAAO,YAAY,KAAG,UAA0C,CAAC;AAC9F,eAAO,MAAM,YAAY,GAAI,OAAO,YAAY,KAAG,UAA0C,CAAC"}