@thegraid/hexlib 1.3.7 → 1.3.8

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.
@@ -1,17 +1,10 @@
1
1
  import { RC } from "@thegraid/common-lib";
2
2
  /** Hexagonal canonical directions */
3
- export declare enum Dir {
4
- C = 0,
5
- NE = 1,
6
- E = 2,
7
- SE = 3,
8
- SW = 4,
9
- W = 5,
10
- NW = 6
11
- }
12
3
  export type HexDir = 'NE' | 'EN' | 'E' | 'ES' | 'SE' | 'S' | 'SW' | 'WS' | 'W' | 'WN' | 'NW' | 'N';
13
4
  export type EwDir = Exclude<HexDir, 'N' | 'S' | 'EN' | 'WN' | 'ES' | 'WS'>;
14
5
  export type NsDir = Exclude<HexDir, 'E' | 'W' | 'NE' | 'NW' | 'SE' | 'SW'>;
6
+ export type Or8Dir = Exclude<HexDir, 'EN' | 'WN' | 'ES' | 'WS'>;
7
+ export type Or4Dir = Exclude<Or8Dir, 'NE' | 'NW' | 'SE' | 'SW'>;
15
8
  type DCR = {
16
9
  [key in 'dc' | 'dr']: number;
17
10
  };
@@ -22,12 +15,29 @@ export type TopoNS = {
22
15
  [key in NsDir]: DCR;
23
16
  };
24
17
  export type Topo = TopoEW | TopoNS;
18
+ export type TopoOr8 = {
19
+ [key in Or8Dir]: DCR;
20
+ };
21
+ export type TopoOr4 = {
22
+ [key in Or4Dir]: DCR;
23
+ };
24
+ export type TopoXYWH = {
25
+ x: number;
26
+ y: number;
27
+ w: number;
28
+ h: number;
29
+ dxdc: number;
30
+ dydr: number;
31
+ };
32
+ /** function that returns XYWH of cell of size rad at row, col; using dxdc & dydr of the Topo. */
33
+ export type TopoMetric = (rad?: number, row?: number, col?: number) => TopoXYWH;
25
34
  /** Hex things */
26
35
  export declare namespace H {
27
36
  const degToRadians: number;
28
37
  const sqrt3: number;
29
38
  const sqrt3_2: number;
30
- const infin: string;
39
+ function NSxywh(rad?: number, row?: number, col?: number): TopoXYWH;
40
+ function EWxywh(rad?: number, row?: number, col?: number): TopoXYWH;
31
41
  /** not a HexDir, but identifies a Center; no Dir */
32
42
  const C: 'C';
33
43
  const N: HexDir;
@@ -1 +1 @@
1
- {"version":3,"file":"hex-intfs.d.ts","sourceRoot":"","sources":["../src/hex-intfs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hex-intfs.d.ts","sourceRoot":"","sources":["../src/hex-intfs.ts"],"names":[],"mappings":"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"}
package/dist/hex-intfs.js CHANGED
@@ -1,22 +1,25 @@
1
- // export { XYWH } from "@thegraid/common-lib";
2
- /** Hexagonal canonical directions */
3
- export var Dir;
4
- (function (Dir) {
5
- Dir[Dir["C"] = 0] = "C";
6
- Dir[Dir["NE"] = 1] = "NE";
7
- Dir[Dir["E"] = 2] = "E";
8
- Dir[Dir["SE"] = 3] = "SE";
9
- Dir[Dir["SW"] = 4] = "SW";
10
- Dir[Dir["W"] = 5] = "W";
11
- Dir[Dir["NW"] = 6] = "NW";
12
- })(Dir || (Dir = {}));
13
1
  /** Hex things */
14
2
  export var H;
15
3
  (function (H) {
16
4
  H.degToRadians = Math.PI / 180;
17
5
  H.sqrt3 = Math.sqrt(3); // 1.7320508075688772
18
6
  H.sqrt3_2 = H.sqrt3 / 2;
19
- H.infin = String.fromCodePoint(0x221E);
7
+ function NSxywh(rad = 1, row = 0, col = 0) {
8
+ const w = 2 * rad, h = H.sqrt3 * rad, dxdc = 1.5 * rad, dydr = H.sqrt3 * rad;
9
+ const x = (col) * dxdc;
10
+ const y = (row + Math.abs(Math.floor(col) % 2) / 2) * dydr;
11
+ return { x, y, w, h, dxdc, dydr };
12
+ }
13
+ H.NSxywh = NSxywh;
14
+ ;
15
+ function EWxywh(rad = 1, row = 0, col = 0) {
16
+ const h = 2 * rad, w = H.sqrt3 * rad, dydr = 1.5 * rad, dxdc = H.sqrt3 * rad;
17
+ const x = (col + Math.abs(Math.floor(row) % 2) / 2) * dxdc;
18
+ const y = (row) * dydr; // dist between rows
19
+ return { x, y, w, h, dxdc, dydr };
20
+ }
21
+ H.EWxywh = EWxywh;
22
+ ;
20
23
  /** not a HexDir, but identifies a Center; no Dir */
21
24
  H.C = 'C';
22
25
  H.N = 'N';
@@ -76,6 +79,7 @@ export var H;
76
79
  H.dirRevEW = { E: H.W, W: H.E, NE: H.SW, SE: H.NW, SW: H.NE, NW: H.SE };
77
80
  H.dirRevNS = { N: H.S, S: H.N, EN: H.WS, ES: H.WN, WS: H.EN, WN: H.ES };
78
81
  H.rotDir = { 0: 'N', 30: 'NE', 60: 'EN', 90: 'E', 120: 'ES', 150: 'SE', 180: 'S', 210: 'SW', 240: 'WS', 270: 'W', 300: 'WN', 330: 'NW', 360: 'N' };
82
+ // @deprecated: specific to hexline
79
83
  H.capColor1 = "rgba(150, 0, 0, .8)"; // unplayable: captured last turn
80
84
  H.capColor2 = "rgba(128, 80, 80, .8)"; // protoMove would capture
81
85
  H.sacColor1 = "rgba(228, 80, 0, .8)"; // unplayable: sacrifice w/o capture
@@ -1 +1 @@
1
- {"version":3,"file":"hex-intfs.js","sourceRoot":"","sources":["../src/hex-intfs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hex-intfs.js","sourceRoot":"","sources":["../src/hex-intfs.ts"],"names":[],"mappings":"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"}
package/dist/hex.d.ts CHANGED
@@ -3,7 +3,7 @@
3
3
  import { Constructor, RC, XY, XYWH } from '@thegraid/common-lib';
4
4
  import { NamedContainer, type Paintable } from "@thegraid/easeljs-lib";
5
5
  import { Container, DisplayObject, Point, Text } from "@thegraid/easeljs-module";
6
- import { EwDir, HexDir, NsDir } from "./hex-intfs";
6
+ import { H, HexDir, type TopoEW, type TopoMetric, type TopoNS } from "./hex-intfs";
7
7
  import { HexShape } from "./shapes";
8
8
  import type { MapTile, Tile } from "./tile";
9
9
  export declare const S_Resign = "Hex@Resign";
@@ -17,16 +17,6 @@ export type IdHex = {
17
17
  export type HexConstructor<T extends Hex> = new (map: HexM<T>, row: number, col: number, name?: string) => T;
18
18
  /** Record<HexDir,T>; if HexDir is mentioned then value is defined */
19
19
  export type LINKS<H extends Hex> = Partial<Record<HexDir, H>>;
20
- type DCR = {
21
- dc: number;
22
- dr: number;
23
- };
24
- type TopoEW = {
25
- [key in EwDir]: DCR;
26
- };
27
- type TopoNS = {
28
- [key in NsDir]: DCR;
29
- };
30
20
  type Topo = TopoEW | TopoNS;
31
21
  /** to recognize this class in hexUnderPoint and obtain the associated hex2: IHex2 */
32
22
  export declare class HexCont extends NamedContainer {
@@ -50,20 +40,13 @@ export declare class Hex {
50
40
  static ofMap(ihex: IdHex, otherMap: HexMap<Hex>): Hex;
51
41
  /**
52
42
  * Location/size of Hex@[row, col]
53
- * @param radius [1] 'size' of hex; radius used in drawPolyStar(radius,,, H.dirRot[tiltDir])
54
- * @param ewTopo [true] true -> suitable for ewTopo (has E & W [vertical] sides)
43
+ * @param radius [TP.hexRad] 'size' of hex; radius used in drawPolyStar(radius,,, H.dirRot[tiltDir])
44
+ * @param topo [TP.useEwTopo ? H.EWxywh : H.NSxywh] TopoMetric to use
55
45
  * @param row [0]
56
46
  * @param col [0]
57
47
  * @returns \{ x, y, w, h, dxdc, dydr } of cell at [row, col]
58
48
  */
59
- static xywh(radius?: number, ewTopo?: boolean, row?: number, col?: number): {
60
- x: number;
61
- y: number;
62
- w: number;
63
- h: number;
64
- dxdc: number;
65
- dydr: number;
66
- };
49
+ static xywh(radius?: number, topo?: typeof H.EWxywh, row?: number, col?: number): import("./hex-intfs").TopoXYWH;
67
50
  static aname(row: number, col: number): string;
68
51
  /**
69
52
  *
@@ -80,22 +63,8 @@ export declare class Hex {
80
63
  * @param col [this.col]
81
64
  * @returns \{ x, y, w, h, dxdc, dydr } of cell at [row, col]
82
65
  */
83
- xywh(radius?: number, ewTopo?: boolean, row?: number, col?: number): {
84
- x: number;
85
- y: number;
86
- w: number;
87
- h: number;
88
- dxdc: number;
89
- dydr: number;
90
- };
91
- get xywh0(): {
92
- x: number;
93
- y: number;
94
- w: number;
95
- h: number;
96
- dxdc: number;
97
- dydr: number;
98
- };
66
+ xywh(radius?: number, topo?: TopoMetric, row?: number, col?: number): import("./hex-intfs").TopoXYWH;
67
+ get xywh0(): import("./hex-intfs").TopoXYWH;
99
68
  Aname: string;
100
69
  /** reduce to serializable IHex (removes map, inf, links, etc) */
101
70
  get iHex(): IdHex;
@@ -265,13 +234,15 @@ export declare function Hex2Mixin<TBase extends Constructor<Hex1>>(Base: TBase):
265
234
  setHexColor(color: string, district?: number | undefined): void;
266
235
  /** unit distance between Hexes: adjacent = 1; see also: radialDist */
267
236
  metricDist(hex: Hex): number;
237
+ /** Location of corner on radial of given dir */
238
+ cornerXY(dir: HexDir, rad?: number, point?: Point): Point;
268
239
  /** Location of corner between dir0 and dir1; in parent coordinates.
269
240
  * @param dir0 a HexDir
270
241
  * @param dir1 a HexDir
271
242
  * @param point [new Point()] set location-x,y in point and return it.
272
243
  * @param rad [this.radius]
273
244
  */
274
- cornerPoint(dir0: HexDir, dir1: HexDir, point?: Point, rad?: number): Point;
245
+ cornerPoint(dir0: HexDir, dir1: HexDir, rad?: number, point?: Point): Point;
275
246
  /** Location of edge point in dir; in parent coordinates.
276
247
  * @param dir indicates direction to edge
277
248
  * @param rad [1] per-unit distance from center: 0 --> center, 1 --> exactly on edge, 1+ --> outside hex
@@ -297,22 +268,8 @@ export declare function Hex2Mixin<TBase extends Constructor<Hex1>>(Base: TBase):
297
268
  * @param col [this.col]
298
269
  * @returns \{ x, y, w, h, dxdc, dydr } of cell at [row, col]
299
270
  */
300
- xywh(radius?: number, ewTopo?: boolean, row?: number, col?: number): {
301
- x: number;
302
- y: number;
303
- w: number;
304
- h: number;
305
- dxdc: number;
306
- dydr: number;
307
- };
308
- readonly xywh0: {
309
- x: number;
310
- y: number;
311
- w: number;
312
- h: number;
313
- dxdc: number;
314
- dydr: number;
315
- };
271
+ xywh(radius?: number, topo?: TopoMetric | undefined, row?: number, col?: number): import("./hex-intfs").TopoXYWH;
272
+ readonly xywh0: import("./hex-intfs").TopoXYWH;
316
273
  Aname: string;
317
274
  /** reduce to serializable IHex (removes map, inf, links, etc) */
318
275
  readonly iHex: IdHex;
@@ -407,13 +364,15 @@ declare const Hex2_base: {
407
364
  setHexColor(color: string, district?: number | undefined): void;
408
365
  /** unit distance between Hexes: adjacent = 1; see also: radialDist */
409
366
  metricDist(hex: Hex): number;
367
+ /** Location of corner on radial of given dir */
368
+ cornerXY(dir: HexDir, rad?: number, point?: Point): Point;
410
369
  /** Location of corner between dir0 and dir1; in parent coordinates.
411
370
  * @param dir0 a HexDir
412
371
  * @param dir1 a HexDir
413
372
  * @param point [new Point()] set location-x,y in point and return it.
414
373
  * @param rad [this.radius]
415
374
  */
416
- cornerPoint(dir0: HexDir, dir1: HexDir, point?: Point, rad?: number): Point;
375
+ cornerPoint(dir0: HexDir, dir1: HexDir, rad?: number, point?: Point): Point;
417
376
  /** Location of edge point in dir; in parent coordinates.
418
377
  * @param dir indicates direction to edge
419
378
  * @param rad [1] per-unit distance from center: 0 --> center, 1 --> exactly on edge, 1+ --> outside hex
@@ -439,22 +398,8 @@ declare const Hex2_base: {
439
398
  * @param col [this.col]
440
399
  * @returns \{ x, y, w, h, dxdc, dydr } of cell at [row, col]
441
400
  */
442
- xywh(radius?: number, ewTopo?: boolean, row?: number, col?: number): {
443
- x: number;
444
- y: number;
445
- w: number;
446
- h: number;
447
- dxdc: number;
448
- dydr: number;
449
- };
450
- readonly xywh0: {
451
- x: number;
452
- y: number;
453
- w: number;
454
- h: number;
455
- dxdc: number;
456
- dydr: number;
457
- };
401
+ xywh(radius?: number, topo?: TopoMetric | undefined, row?: number, col?: number): import("./hex-intfs").TopoXYWH;
402
+ readonly xywh0: import("./hex-intfs").TopoXYWH;
458
403
  Aname: string;
459
404
  /** reduce to serializable IHex (removes map, inf, links, etc) */
460
405
  readonly iHex: IdHex;
@@ -618,14 +563,7 @@ export declare class HexMap<T extends Hex> extends Array<Array<T>> implements He
618
563
  readonly mapCont: MapCont;
619
564
  readonly radius: number;
620
565
  /** return this.centerHex.xywh() for this.topo */
621
- get xywh(): {
622
- x: number;
623
- y: number;
624
- w: number;
625
- h: number;
626
- dxdc: number;
627
- dydr: number;
628
- };
566
+ get xywh(): import("./hex-intfs").TopoXYWH;
629
567
  private minCol?;
630
568
  private maxCol?;
631
569
  private minRow?;
@@ -668,10 +606,14 @@ export declare class HexMap<T extends Hex> extends Array<Array<T>> implements He
668
606
  */
669
607
  showMark(hex?: Hex, mark?: DisplayObject): void;
670
608
  /** neighborhood topology, E-W & N-S orientation; even(n0) & odd(n1) rows: */
671
- topo: (rc: RC) => (TopoEW | TopoNS);
609
+ topo: (rc: RC) => Topo;
672
610
  /** see also: Hex.linkDirs */
673
611
  get linkDirs(): HexDir[];
674
612
  /** return a new RC; does not mutate the given RC.
613
+ *
614
+ * @param rc initial {row, col}
615
+ * @param dir dir to extend
616
+ * @param nt function (RC, dir) --> { H.dirs: DCR}
675
617
  * @return RC of adjacent Hex in given direction for given topo.
676
618
  */
677
619
  nextRowCol(rc: RC, dir: HexDir, nt?: Topo): RC;
@@ -680,6 +622,14 @@ export declare class HexMap<T extends Hex> extends Array<Array<T>> implements He
680
622
  /** link metaHex on metaMap; maybe need ewTopo for nh==1 ?? */
681
623
  metaLink(hex: T, rc: RC): void;
682
624
  /** link hex to/from each extant neighor */
625
+ /**
626
+ * TODO: move this to class Hex?
627
+ * @param hex the <T extends Hex> to be linked
628
+ * @param rc Row-Col at which to place the hex
629
+ * @param map the Array[row][col] to hold the hex
630
+ * @param nt selects a Topo; Topo maps from (RowCol x Dir) to a <T extends Hex> in Array.
631
+ * @param lf selcts a LINKS; LINKS maps from Dir to a next <T extends Hex>
632
+ */
683
633
  link(hex: T, rc?: RC, map?: T[][], nt?: Topo, lf?: (hex: T) => LINKS<T>): void;
684
634
  /**
685
635
  * Return the Hex under the given x,y coordinates.
@@ -697,14 +647,7 @@ export declare class HexMap<T extends Hex> extends Array<Array<T>> implements He
697
647
  *
698
648
  * see also: Table.setToRowCol(cont, row, col)
699
649
  */
700
- xyFromMap(target: DisplayObject, row?: number, col?: number): {
701
- x: number;
702
- y: number;
703
- w: number;
704
- h: number;
705
- dxdc: number;
706
- dydr: number;
707
- };
650
+ xyFromMap(target: DisplayObject, row?: number, col?: number): import("./hex-intfs").TopoXYWH;
708
651
  private _nh;
709
652
  private _mh;
710
653
  get nh(): number;
@@ -784,10 +727,10 @@ export declare class HexMap<T extends Hex> extends Array<Array<T>> implements He
784
727
  *
785
728
  * Note: district = 0; hexAry.forEach() to set alternate district.
786
729
  *
787
- * rnd == 1 looks best when nc is odd;
730
+ * rnd == 1 looks best when nc is odd; (round the corner?)
788
731
  * @param nr height
789
732
  * @param nc width [nr + 1]
790
- * @param rnd 0: all, 1: rm end of row 0 (& half of last row!)
733
+ * @param rnd [1] 0: all, 1: rm end of row 0 (& half of last row!)
791
734
  * @parma half [(rnd === 1) || (nc % 2 === 1)] force/deny final half-row
792
735
  * @param hexAry array in which to push the created Hexes [Array()<T>]
793
736
  * @returns hexAry with the created Hexes pushed (row major)
package/dist/hex.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"hex.d.ts","sourceRoot":"","sources":["../src/hex.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hex.d.ts","sourceRoot":"","sources":["../src/hex.ts"],"names":[],"mappings":"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"}
package/dist/hex.js CHANGED
@@ -53,29 +53,14 @@ export class Hex {
53
53
  }
54
54
  /**
55
55
  * Location/size of Hex@[row, col]
56
- * @param radius [1] 'size' of hex; radius used in drawPolyStar(radius,,, H.dirRot[tiltDir])
57
- * @param ewTopo [true] true -> suitable for ewTopo (has E & W [vertical] sides)
56
+ * @param radius [TP.hexRad] 'size' of hex; radius used in drawPolyStar(radius,,, H.dirRot[tiltDir])
57
+ * @param topo [TP.useEwTopo ? H.EWxywh : H.NSxywh] TopoMetric to use
58
58
  * @param row [0]
59
59
  * @param col [0]
60
60
  * @returns \{ x, y, w, h, dxdc, dydr } of cell at [row, col]
61
61
  */
62
- static xywh(radius = TP.hexRad, ewTopo = TP.useEwTopo, row = 0, col = 0) {
63
- if (ewTopo) { // tiltDir = 'NE'; tilt = 30-degrees; nsTOPO
64
- const h = 2 * radius, w = radius * H.sqrt3; // h height of hexagon (long-vertical axis)
65
- const dxdc = w;
66
- const dydr = 1.5 * radius;
67
- const x = (col + Math.abs(Math.floor(row) % 2) / 2) * dxdc;
68
- const y = (row) * dydr; // dist between rows
69
- return { x, y, w, h, dxdc, dydr };
70
- }
71
- else { // tiltdir == 'N'; tile = 0-degrees; ewTOPO
72
- const w = 2 * radius, h = radius * H.sqrt3; // radius * 1.732
73
- const dxdc = 1.5 * radius;
74
- const dydr = h;
75
- const x = (col) * dxdc;
76
- const y = (row + Math.abs(Math.floor(col) % 2) / 2) * dydr;
77
- return { x, y, w, h, dxdc, dydr };
78
- }
62
+ static xywh(radius = TP.hexRad, topo = TP.useEwTopo ? H.EWxywh : H.NSxywh, row = 0, col = 0) {
63
+ return topo(radius, row, col);
79
64
  }
80
65
  static aname(row, col) {
81
66
  return (row >= 0) ? `Hex@[${row},${col}]` : col == -1 ? S_Skip : S_Resign;
@@ -101,8 +86,8 @@ export class Hex {
101
86
  * @param col [this.col]
102
87
  * @returns \{ x, y, w, h, dxdc, dydr } of cell at [row, col]
103
88
  */
104
- xywh(radius = TP.hexRad, ewTopo = TP.useEwTopo, row = this.row, col = this.col) {
105
- return Hex.xywh(radius, ewTopo, row, col);
89
+ xywh(radius = TP.hexRad, topo, row = this.row, col = this.col) {
90
+ return Hex.xywh(radius, topo, row, col);
106
91
  }
107
92
  get xywh0() { return this.xywh(TP.hexRad); } // so can see xywh from debugger
108
93
  // _Aname: string;
@@ -397,7 +382,7 @@ export function Hex2Mixin(Base) {
397
382
  const cont = this.cont, hs = this.hexShape;
398
383
  cont.addChildAt(hs, 0);
399
384
  cont.hitArea = hs;
400
- const { x, y, w, h } = this.xywh(this.radius, TP.useEwTopo, row, col); // include margin space between hexes
385
+ const { x, y, w, h } = this.xywh(this.radius, undefined, row, col); // include margin space between hexes
401
386
  cont.x = x;
402
387
  cont.y = y;
403
388
  // initialize cache bounds:
@@ -436,13 +421,21 @@ export function Hex2Mixin(Base) {
436
421
  let dx = tx - hx, dy = ty - hy;
437
422
  return Math.sqrt(dx * dx + dy * dy); // tw == H.sqrt3
438
423
  }
424
+ /** Location of corner on radial of given dir */
425
+ cornerXY(dir, rad = this.radius, point = new Point(0, 0)) {
426
+ const deg = H.dirRot[dir];
427
+ const a = deg * H.degToRadians;
428
+ point.x += Math.sin(a) * rad;
429
+ point.y -= Math.cos(a) * rad;
430
+ return point;
431
+ }
439
432
  /** Location of corner between dir0 and dir1; in parent coordinates.
440
433
  * @param dir0 a HexDir
441
434
  * @param dir1 a HexDir
442
435
  * @param point [new Point()] set location-x,y in point and return it.
443
436
  * @param rad [this.radius]
444
437
  */
445
- cornerPoint(dir0, dir1, point = new Point(), rad = this.radius) {
438
+ cornerPoint(dir0, dir1, rad = this.radius, point = new Point()) {
446
439
  const d0 = H.dirRot[dir0], d1 = H.dirRot[dir1];
447
440
  let a2 = (d0 + d1) / 2;
448
441
  if (Math.abs(d0 - d1) > 180)
@@ -769,6 +762,10 @@ export class HexMap extends Array {
769
762
  return TP.useEwTopo ? H.ewDirs : H.nsDirs;
770
763
  }
771
764
  /** return a new RC; does not mutate the given RC.
765
+ *
766
+ * @param rc initial {row, col}
767
+ * @param dir dir to extend
768
+ * @param nt function (RC, dir) --> { H.dirs: DCR}
772
769
  * @return RC of adjacent Hex in given direction for given topo.
773
770
  */
774
771
  nextRowCol(rc, dir, nt = this.topo(rc)) {
@@ -794,6 +791,14 @@ export class HexMap extends Array {
794
791
  this.link(hex, rc, this.metaMap, nt, (hex) => hex.metaLinks);
795
792
  }
796
793
  /** link hex to/from each extant neighor */
794
+ /**
795
+ * TODO: move this to class Hex?
796
+ * @param hex the <T extends Hex> to be linked
797
+ * @param rc Row-Col at which to place the hex
798
+ * @param map the Array[row][col] to hold the hex
799
+ * @param nt selects a Topo; Topo maps from (RowCol x Dir) to a <T extends Hex> in Array.
800
+ * @param lf selcts a LINKS; LINKS maps from Dir to a next <T extends Hex>
801
+ */
797
802
  link(hex, rc = hex, map = this, nt = this.topo(rc), lf = (hex) => hex.links) {
798
803
  const topoDirs = Object.keys(nt);
799
804
  topoDirs.forEach(dir => {
@@ -992,10 +997,10 @@ export class HexMap extends Array {
992
997
  *
993
998
  * Note: district = 0; hexAry.forEach() to set alternate district.
994
999
  *
995
- * rnd == 1 looks best when nc is odd;
1000
+ * rnd == 1 looks best when nc is odd; (round the corner?)
996
1001
  * @param nr height
997
1002
  * @param nc width [nr + 1]
998
- * @param rnd 0: all, 1: rm end of row 0 (& half of last row!)
1003
+ * @param rnd [1] 0: all, 1: rm end of row 0 (& half of last row!)
999
1004
  * @parma half [(rnd === 1) || (nc % 2 === 1)] force/deny final half-row
1000
1005
  * @param hexAry array in which to push the created Hexes [Array()<T>]
1001
1006
  * @returns hexAry with the created Hexes pushed (row major)
@@ -1009,14 +1014,14 @@ export class HexMap extends Array {
1009
1014
  const ncOdd = (nc % 2) === 0;
1010
1015
  const c00 = (rnd === 0) ? 0 : 1;
1011
1016
  const nc0 = (rnd === 0) ? 0 : nc - (ncOdd ? 1 : 2 * c00);
1012
- this.addLineOfHex(nc0, 0, c00, district, hexAry);
1017
+ this.addLineOfHex(nc0, 0, c00, district, hexAry); // first [0] row
1013
1018
  for (let row = 1; row < nr - 1; row++) {
1014
- this.addLineOfHex(nc, row, 0, district, hexAry);
1019
+ this.addLineOfHex(nc, row, 0, district, hexAry); // all the interior row
1015
1020
  }
1016
1021
  const cf0 = (rnd === 0) ? 0 : 2;
1017
1022
  const ncf = nc - ((rnd === 0) ? 0 : 3);
1018
1023
  const dc = (half) ? 2 : 1;
1019
- this.addLineOfHex(ncf, nr - 1, cf0, district, hexAry, dc);
1024
+ this.addLineOfHex(ncf, nr - 1, cf0, district, hexAry, dc); // last [nr] row
1020
1025
  this.setDistrictAndPaint(hexAry, district);
1021
1026
  return hexAry;
1022
1027
  }