@edv4h/usketch-plugin-map 0.11.0 → 0.12.0

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 (55) hide show
  1. package/dist/base/base-icon-layer.d.ts +9 -0
  2. package/dist/base/base-icon-layer.d.ts.map +1 -0
  3. package/dist/base/base-icon-layer.js +55 -0
  4. package/dist/base/base-icon-layer.js.map +1 -0
  5. package/dist/base/base-icon.d.ts +15 -0
  6. package/dist/base/base-icon.d.ts.map +1 -0
  7. package/dist/base/base-icon.js +22 -0
  8. package/dist/base/base-icon.js.map +1 -0
  9. package/dist/base/base-layer.d.ts +1 -1
  10. package/dist/base/base-layer.d.ts.map +1 -1
  11. package/dist/base/base-layer.js +29 -124
  12. package/dist/base/base-layer.js.map +1 -1
  13. package/dist/base/base-map-shape.d.ts +4 -0
  14. package/dist/base/base-map-shape.d.ts.map +1 -1
  15. package/dist/base/base-map-shape.js.map +1 -1
  16. package/dist/base/base-ops.d.ts +42 -0
  17. package/dist/base/base-ops.d.ts.map +1 -1
  18. package/dist/base/base-ops.js +110 -1
  19. package/dist/base/base-ops.js.map +1 -1
  20. package/dist/base/territory-style.d.ts +22 -38
  21. package/dist/base/territory-style.d.ts.map +1 -1
  22. package/dist/base/territory-style.js +6 -26
  23. package/dist/base/territory-style.js.map +1 -1
  24. package/dist/base/territory.d.ts.map +1 -1
  25. package/dist/base/territory.js +39 -12
  26. package/dist/base/territory.js.map +1 -1
  27. package/dist/hud/register-map-hud.d.ts.map +1 -1
  28. package/dist/hud/register-map-hud.js +29 -20
  29. package/dist/hud/register-map-hud.js.map +1 -1
  30. package/dist/icon-render.d.ts.map +1 -1
  31. package/dist/icon-render.js +6 -1
  32. package/dist/icon-render.js.map +1 -1
  33. package/dist/index.d.ts +2 -2
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +2 -2
  36. package/dist/index.js.map +1 -1
  37. package/dist/map-tool.d.ts.map +1 -1
  38. package/dist/map-tool.js +20 -45
  39. package/dist/map-tool.js.map +1 -1
  40. package/dist/plugin.d.ts.map +1 -1
  41. package/dist/plugin.js +12 -11
  42. package/dist/plugin.js.map +1 -1
  43. package/dist/tool-state.d.ts +1 -3
  44. package/dist/tool-state.d.ts.map +1 -1
  45. package/dist/tool-state.js +1 -10
  46. package/dist/tool-state.js.map +1 -1
  47. package/package.json +2 -1
  48. package/dist/icons.d.ts +0 -17
  49. package/dist/icons.d.ts.map +0 -1
  50. package/dist/icons.js +0 -949
  51. package/dist/icons.js.map +0 -1
  52. package/dist/map-icon-layer.d.ts +0 -9
  53. package/dist/map-icon-layer.d.ts.map +0 -1
  54. package/dist/map-icon-layer.js +0 -55
  55. package/dist/map-icon-layer.js.map +0 -1
@@ -1,35 +1,28 @@
1
1
  import type { ReactNode } from "react";
2
- import type { BaseRegionAnchor } from "./base-ops.js";
2
+ import type { BaseRegionAnchor, TerritoryRegion } from "./base-ops.js";
3
3
  /**
4
- * Host-facing appearance options for the base "territory" (領域) overlay drawn by
5
- * BaseAreaLayer. Everything is optional and merges over the defaults, so passing
6
- * `{}` keeps the stock look. Pass via `createMapPlugin({ territory })`.
4
+ * Host-facing appearance for the base "territory" (領域) overlay drawn by
5
+ * BaseAreaLayer. The plugin is HEADLESS: it computes the territory + region
6
+ * geometry and owns positioning / viewport-follow / z-order / `show`-gating /
7
+ * redraw, but draws NOTHING by itself. The host supplies the look via `region`
8
+ * (area) and `label` render hooks. Pass via `createMapPlugin({ territory })`.
9
+ * Omit a hook to draw nothing for that part.
7
10
  */
8
11
  export interface TerritoryStyle {
9
- /** Per-cell translucent fill opacity (default 0.24). */
10
- fillOpacity?: number;
11
- /** Base-coloured strip drawn on the exposed edges of each region. */
12
- border?: {
13
- /** Strip thickness as a fraction of a tile (default 0.16). */
14
- ratio?: number;
15
- opacity?: number;
16
- };
17
- /** Dashed radius ring around each base's beacon cell. */
18
- ring?: {
19
- enabled?: boolean;
20
- strokeWidth?: number;
21
- /** SVG `stroke-dasharray` (default `"8 6"`). */
22
- dash?: string;
23
- opacity?: number;
12
+ /**
13
+ * Draw a whole region's AREA (fill / border / ring — however the host likes).
14
+ * Return SVG in WORLD coordinates (the layer applies the viewport transform).
15
+ * Return `null` to draw nothing for that region. Omit → no area is drawn.
16
+ */
17
+ region?: {
18
+ render?: (region: TerritoryRegion) => ReactNode;
24
19
  };
25
- /** Name-chip label at each region's centre. */
20
+ /**
21
+ * Draw a region's label. The layer positions the returned node at the region
22
+ * centre (screen space); the host owns its look. Return `null` for no label on
23
+ * that region. Omit → no labels are drawn.
24
+ */
26
25
  label?: {
27
- enabled?: boolean;
28
- /**
29
- * Custom label content for a region. The layer positions the returned node
30
- * at the region centre (screen space); you own its look. Return `null` to
31
- * draw no label for that region. Omit for the stock pill.
32
- */
33
26
  render?: (anchor: BaseRegionAnchor) => ReactNode;
34
27
  };
35
28
  /**
@@ -40,24 +33,15 @@ export interface TerritoryStyle {
40
33
  show?: "base-mode" | "always";
41
34
  }
42
35
  export interface ResolvedTerritoryStyle {
43
- fillOpacity: number;
44
- border: {
45
- ratio: number;
46
- opacity: number;
47
- };
48
- ring: {
49
- enabled: boolean;
50
- strokeWidth: number;
51
- dash: string;
52
- opacity: number;
36
+ region: {
37
+ render?: (region: TerritoryRegion) => ReactNode;
53
38
  };
54
39
  label: {
55
- enabled: boolean;
56
40
  render?: (anchor: BaseRegionAnchor) => ReactNode;
57
41
  };
58
42
  show: "base-mode" | "always";
59
43
  }
60
- /** The stock territory look (matches what shipped before the style option). */
44
+ /** Defaults: headless (no render hooks) + base-mode gating. */
61
45
  export declare const DEFAULT_TERRITORY_STYLE: ResolvedTerritoryStyle;
62
46
  export declare function resolveTerritoryStyle(style?: TerritoryStyle): ResolvedTerritoryStyle;
63
47
  //# sourceMappingURL=territory-style.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"territory-style.d.ts","sourceRoot":"","sources":["../../src/base/territory-style.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEtD;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC9B,wDAAwD;IACxD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qEAAqE;IACrE,MAAM,CAAC,EAAE;QACR,8DAA8D;QAC9D,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,yDAAyD;IACzD,IAAI,CAAC,EAAE;QACN,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,gDAAgD;QAChD,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,+CAA+C;IAC/C,KAAK,CAAC,EAAE;QACP,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB;;;;WAIG;QACH,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,SAAS,CAAC;KACjD,CAAC;IACF;;;;OAIG;IACH,IAAI,CAAC,EAAE,WAAW,GAAG,QAAQ,CAAC;CAC9B;AAED,MAAM,WAAW,sBAAsB;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,IAAI,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/E,KAAK,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,SAAS,CAAA;KAAE,CAAC;IAC9E,IAAI,EAAE,WAAW,GAAG,QAAQ,CAAC;CAC7B;AAED,+EAA+E;AAC/E,eAAO,MAAM,uBAAuB,EAAE,sBAMrC,CAAC;AAOF,wBAAgB,qBAAqB,CAAC,KAAK,CAAC,EAAE,cAAc,GAAG,sBAAsB,CAoBpF"}
1
+ {"version":3,"file":"territory-style.d.ts","sourceRoot":"","sources":["../../src/base/territory-style.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEvE;;;;;;;GAOG;AACH,MAAM,WAAW,cAAc;IAC9B;;;;OAIG;IACH,MAAM,CAAC,EAAE;QACR,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,SAAS,CAAC;KAChD,CAAC;IACF;;;;OAIG;IACH,KAAK,CAAC,EAAE;QACP,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,SAAS,CAAC;KACjD,CAAC;IACF;;;;OAIG;IACH,IAAI,CAAC,EAAE,WAAW,GAAG,QAAQ,CAAC;CAC9B;AAED,MAAM,WAAW,sBAAsB;IACtC,MAAM,EAAE;QAAE,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,SAAS,CAAA;KAAE,CAAC;IAC5D,KAAK,EAAE;QAAE,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,SAAS,CAAA;KAAE,CAAC;IAC5D,IAAI,EAAE,WAAW,GAAG,QAAQ,CAAC;CAC7B;AAED,+DAA+D;AAC/D,eAAO,MAAM,uBAAuB,EAAE,sBAIrC,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,KAAK,CAAC,EAAE,cAAc,GAAG,sBAAsB,CAMpF"}
@@ -1,34 +1,14 @@
1
- /** The stock territory look (matches what shipped before the style option). */
1
+ /** Defaults: headless (no render hooks) + base-mode gating. */
2
2
  export const DEFAULT_TERRITORY_STYLE = {
3
- fillOpacity: 0.24,
4
- border: { ratio: 0.16, opacity: 0.85 },
5
- ring: { enabled: true, strokeWidth: 2, dash: "8 6", opacity: 0.7 },
6
- label: { enabled: true },
3
+ region: {},
4
+ label: {},
7
5
  show: "base-mode",
8
6
  };
9
- /** Keep the default whenever an override value is `undefined` (avoids NaN downstream). */
10
- function pick(base, override) {
11
- return override === undefined ? base : override;
12
- }
13
7
  export function resolveTerritoryStyle(style) {
14
- const d = DEFAULT_TERRITORY_STYLE;
15
8
  return {
16
- fillOpacity: pick(d.fillOpacity, style?.fillOpacity),
17
- border: {
18
- ratio: pick(d.border.ratio, style?.border?.ratio),
19
- opacity: pick(d.border.opacity, style?.border?.opacity),
20
- },
21
- ring: {
22
- enabled: pick(d.ring.enabled, style?.ring?.enabled),
23
- strokeWidth: pick(d.ring.strokeWidth, style?.ring?.strokeWidth),
24
- dash: pick(d.ring.dash, style?.ring?.dash),
25
- opacity: pick(d.ring.opacity, style?.ring?.opacity),
26
- },
27
- label: {
28
- enabled: pick(d.label.enabled, style?.label?.enabled),
29
- render: style?.label?.render,
30
- },
31
- show: pick(d.show, style?.show),
9
+ region: { render: style?.region?.render },
10
+ label: { render: style?.label?.render },
11
+ show: style?.show ?? DEFAULT_TERRITORY_STYLE.show,
32
12
  };
33
13
  }
34
14
  //# sourceMappingURL=territory-style.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"territory-style.js","sourceRoot":"","sources":["../../src/base/territory-style.ts"],"names":[],"mappings":"AAmDA,+EAA+E;AAC/E,MAAM,CAAC,MAAM,uBAAuB,GAA2B;IAC9D,WAAW,EAAE,IAAI;IACjB,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;IACtC,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE;IAClE,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;IACxB,IAAI,EAAE,WAAW;CACjB,CAAC;AAEF,0FAA0F;AAC1F,SAAS,IAAI,CAAI,IAAO,EAAE,QAAuB;IAChD,OAAO,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAAsB;IAC3D,MAAM,CAAC,GAAG,uBAAuB,CAAC;IAClC,OAAO;QACN,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,EAAE,WAAW,CAAC;QACpD,MAAM,EAAE;YACP,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC;YACjD,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC;SACvD;QACD,IAAI,EAAE;YACL,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC;YACnD,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,CAAC;YAC/D,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC;YAC1C,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC;SACnD;QACD,KAAK,EAAE;YACN,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC;YACrD,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM;SAC5B;QACD,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC;KAC/B,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"territory-style.js","sourceRoot":"","sources":["../../src/base/territory-style.ts"],"names":[],"mappings":"AA0CA,+DAA+D;AAC/D,MAAM,CAAC,MAAM,uBAAuB,GAA2B;IAC9D,MAAM,EAAE,EAAE;IACV,KAAK,EAAE,EAAE;IACT,IAAI,EAAE,WAAW;CACjB,CAAC;AAEF,MAAM,UAAU,qBAAqB,CAAC,KAAsB;IAC3D,OAAO;QACN,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE;QACzC,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE;QACvC,IAAI,EAAE,KAAK,EAAE,IAAI,IAAI,uBAAuB,CAAC,IAAI;KACjD,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"territory.d.ts","sourceRoot":"","sources":["../../src/base/territory.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAKxD,qFAAqF;AACrF,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAqG/C;;;GAGG;AACH,wBAAgB,gBAAgB,CAC/B,KAAK,EAAE,UAAU,EACjB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,GAC1B,SAAS,CAuBX"}
1
+ {"version":3,"file":"territory.d.ts","sourceRoot":"","sources":["../../src/base/territory.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAMxD,qFAAqF;AACrF,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAoH/C;;;GAGG;AACH,wBAAgB,gBAAgB,CAC/B,KAAK,EAAE,UAAU,EACjB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,GAC1B,SAAS,CAqCX"}
@@ -1,5 +1,6 @@
1
1
  import { cellKey, parseCellKey, worldToCell } from "../autotile.js";
2
- import { isTileMap } from "../tilemap-shape.js";
2
+ import { makeTerrainSampler, resolveBaseGen } from "../base-terrain.js";
3
+ import { isTileMap, seededTilemap } from "../tilemap-shape.js";
3
4
  import { isBaseMap } from "./base-map-shape.js";
4
5
  const EMPTY_CELLS = {};
5
6
  const EMPTY_HAND_PAINT = {};
@@ -33,18 +34,28 @@ function collectBeacons(bases, tile) {
33
34
  }
34
35
  return out;
35
36
  }
36
- function signature(beacons, exclude) {
37
+ function signature(beacons, exclude, baseSeed) {
37
38
  const b = beacons
38
39
  .map((x) => `${x.baseId}:${Math.round(x.cx)}:${Math.round(x.cy)}:${x.radius}`)
39
40
  .sort()
40
41
  .join("|");
41
- return `${b}#${[...exclude].sort().join(",")}`;
42
+ // baseSeed affects the effective terrain (generated cells), so it must key the
43
+ // cache — the `cells` object identity can persist across a seed change.
44
+ return `${b}#${[...exclude].sort().join(",")}#seed:${baseSeed ?? "none"}`;
42
45
  }
43
- function build(beacons, cells, handPaint, tile, exclude) {
46
+ function build(beacons, handPaint, tile, exclude,
47
+ /** Effective terrain of a cell: painted ?? generated (infinite base) ?? undefined. */
48
+ terrainAt) {
44
49
  const territory = {};
45
50
  const queue = [];
46
- // 1) Core disk: every cell within `radius` of a beacon is owned, regardless of
47
- // paint. Sorted so overlapping cores resolve deterministically (first wins).
51
+ const isExcluded = (c, r) => {
52
+ const terr = terrainAt(c, r);
53
+ return terr !== undefined && exclude.has(terr);
54
+ };
55
+ // 1) Core disk: every cell within `radius` of a beacon is owned — EXCEPT cells
56
+ // whose effective terrain is excluded (e.g. generated sea when
57
+ // excludeTerrains=["water"]). Sorted so overlapping cores resolve
58
+ // deterministically (first wins).
48
59
  const sorted = [...beacons].sort((a, b) => (a.baseId < b.baseId ? -1 : 1));
49
60
  for (const bec of sorted) {
50
61
  const [cc, cr] = worldToCell(bec.cx, bec.cy, tile);
@@ -59,6 +70,8 @@ function build(beacons, cells, handPaint, tile, exclude) {
59
70
  const k = cellKey(c, r);
60
71
  if (k in territory)
61
72
  continue;
73
+ if (isExcluded(c, r))
74
+ continue; // don't claim excluded terrain (e.g. sea)
62
75
  territory[k] = bec.baseId;
63
76
  queue.push([c, r]);
64
77
  }
@@ -66,7 +79,8 @@ function build(beacons, cells, handPaint, tile, exclude) {
66
79
  }
67
80
  // 2) Growth: expand from the core through HAND-PAINTED, non-excluded cells
68
81
  // (no radius cap). Generated terrain is NOT walkable, so a generated
69
- // continent is never auto-claimed — only land the user hand-painted.
82
+ // continent is never auto-claimed — only land the user hand-painted. The
83
+ // exclude check uses the EFFECTIVE terrain (same as the core disk).
70
84
  for (let head = 0; head < queue.length; head++) {
71
85
  const [c, r] = queue[head];
72
86
  const baseId = territory[cellKey(c, r)];
@@ -81,8 +95,8 @@ function build(beacons, cells, handPaint, tile, exclude) {
81
95
  continue;
82
96
  if (!(k in handPaint))
83
97
  continue; // only hand-painted land expands
84
- if (exclude.has(cells[k]))
85
- continue; // hand-painted wall (e.g. water)
98
+ if (isExcluded(nc, nr))
99
+ continue; // hand-painted / effective wall (e.g. water)
86
100
  territory[k] = baseId;
87
101
  queue.push([nc, nr]);
88
102
  }
@@ -97,16 +111,29 @@ export function computeTerritory(store, tile, exclude) {
97
111
  const base = findBaseMap(store);
98
112
  if (!base || Object.keys(base.bases).length === 0)
99
113
  return {};
100
- const tilemap = findTilemap(store);
114
+ // Source paint AND seed from the SAME tilemap so the effective-terrain sampler
115
+ // stays self-consistent (and matches the renderer). Prefer the deterministic
116
+ // seeded tilemap; fall back to the first tilemap when none carries a seed —
117
+ // otherwise `cells`/`handPaint` could come from one tilemap while `baseSeed`
118
+ // comes from a different one (insertion-order dependent).
119
+ const seededTm = seededTilemap(store.getShapes().values());
120
+ const tilemap = seededTm ?? findTilemap(store);
101
121
  const cells = tilemap?.cells ?? EMPTY_CELLS;
102
122
  const handPaint = tilemap?.handPaint ?? EMPTY_HAND_PAINT;
103
123
  const t = tilemap?.tile ?? tile;
104
124
  const beacons = collectBeacons(base.bases, t);
105
125
  if (beacons.length === 0)
106
126
  return {};
107
- const sig = signature(beacons, exclude);
127
+ // Effective-terrain sampler so exclude also stops GENERATED terrain (infinite
128
+ // base / `baseSeed`), not just hand-painted cells — otherwise a beacon's core
129
+ // disk swallows the generated sea (#982).
130
+ const baseSeed = seededTm?.baseSeed ?? null;
131
+ const sampler = makeTerrainSampler(cells, baseSeed, null, resolveBaseGen(seededTm?.baseGen));
132
+ const sig = signature(beacons, exclude, baseSeed);
108
133
  // Keyed by the `cells` object: it gets a fresh identity on every paint/generate
109
134
  // commit, and `handPaint` always changes alongside it, so this stays correct.
135
+ // (baseSeed is folded into `sig` since the `cells` identity can persist across
136
+ // a seed change.)
110
137
  let bySig = cache.get(cells);
111
138
  if (!bySig) {
112
139
  bySig = new Map();
@@ -115,7 +142,7 @@ export function computeTerritory(store, tile, exclude) {
115
142
  const cached = bySig.get(sig);
116
143
  if (cached)
117
144
  return cached;
118
- const result = build(beacons, cells, handPaint, t, exclude);
145
+ const result = build(beacons, handPaint, t, exclude, sampler);
119
146
  bySig.set(sig, result);
120
147
  return result;
121
148
  }
@@ -1 +1 @@
1
- {"version":3,"file":"territory.js","sourceRoot":"","sources":["../../src/base/territory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"territory.js","sourceRoot":"","sources":["../../src/base/territory.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"register-map-hud.d.ts","sourceRoot":"","sources":["../../src/hud/register-map-hud.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAe,aAAa,EAAa,MAAM,uBAAuB,CAAC;AA6BnF;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,IAAI,CA+P3E"}
1
+ {"version":3,"file":"register-map-hud.d.ts","sourceRoot":"","sources":["../../src/hud/register-map-hud.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAe,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAiCxE;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,IAAI,CAoQ3E"}
@@ -1,10 +1,13 @@
1
+ // Registers the map plugin's operations onto the Control HUD (actions + settings)
2
+ // instead of a bespoke on-canvas palette. The map tool's canvas interactions are
3
+ // unchanged; only the control surface moves into the HUD (toggle with `).
4
+ import { ICON_CATEGORIES, ICONS } from "@edv4h/usketch-map-icons";
1
5
  import { DEFAULT_BASE_RADIUS } from "../base/base-map-shape.js";
2
- import { createBase, deleteBase, getBaseMap, resolveBaseMap } from "../base/base-ops.js";
6
+ import { createBase, deleteBase, getBaseMap, setBaseIcon, setBaseRadius, } from "../base/base-ops.js";
3
7
  import { baseStateStore } from "../base/base-state.js";
4
8
  import { genStateStore } from "../gen-state.js";
5
9
  import { generateIntoBox, viewportCellBox } from "../generate.js";
6
10
  import { defaultParams, GENERATORS, GENERATORS_BY_ID } from "../generators/index.js";
7
- import { ICON_CATEGORIES, ICONS } from "../icons.js";
8
11
  import { TERRAINS } from "../terrain.js";
9
12
  import { toolStateStore } from "../tool-state.js";
10
13
  const MODE_OPTIONS = [
@@ -12,7 +15,6 @@ const MODE_OPTIONS = [
12
15
  { value: "eraser", label: "消しゴム" },
13
16
  { value: "fill", label: "塗りつぶし" },
14
17
  { value: "region", label: "領域塗り" },
15
- { value: "stamp", label: "アイコン" },
16
18
  { value: "generate", label: "生成" },
17
19
  { value: "base", label: "拠点" },
18
20
  ];
@@ -31,14 +33,13 @@ const ICON_OPTIONS = ICONS.map((i) => ({
31
33
  export function registerMapHud(ctx, tile) {
32
34
  const offs = [];
33
35
  const deps = { store: ctx.store, commands: ctx.commands, tile };
34
- // ── Mode / terrain / icon (bound to toolStateStore) ──
36
+ // ── Mode / terrain (bound to toolStateStore) ──
35
37
  offs.push(ctx.hud.registerSettings({
36
38
  id: "usketch-map:tool",
37
39
  label: "RPG マップ操作",
38
40
  fields: [
39
41
  { name: "mode", label: "モード", type: "enum", options: MODE_OPTIONS },
40
42
  { name: "terrain", label: "地形", type: "enum", options: TERRAIN_OPTIONS },
41
- { name: "iconKey", label: "アイコン", type: "enum", options: ICON_OPTIONS },
42
43
  ],
43
44
  get: (name) => toolStateStore.get()[name],
44
45
  set: (name, value) => toolStateStore.set({ [name]: value }),
@@ -188,26 +189,34 @@ export function registerMapHud(ctx, tile) {
188
189
  };
189
190
  };
190
191
  offs.push(ctx.hud.registerSettings({
191
- id: "usketch-map:base-radius",
192
- label: "拠点: 半径(マス)",
193
- fields: [{ name: "radius", label: "半径", type: "number", min: 1, max: 64, step: 1 }],
194
- get: () => {
192
+ id: "usketch-map:base-look",
193
+ label: "拠点: 半径とアイコン",
194
+ // Radius sizes the territory disk AND (unless overridden) picks the landmark
195
+ // icon tier. Icon "" = 半径連動(自動); any other value overrides the tier.
196
+ fields: [
197
+ { name: "radius", label: "半径(マス)", type: "number", min: 1, max: 64, step: 1 },
198
+ {
199
+ name: "icon",
200
+ label: "アイコン",
201
+ type: "enum",
202
+ options: [{ value: "", label: "半径連動(自動)" }, ...ICON_OPTIONS],
203
+ },
204
+ ],
205
+ get: (name) => {
195
206
  const active = baseStateStore.get().activeBaseId;
196
- const bases = getBaseMap(ctx.store)?.bases;
197
- return (active && bases?.[active]?.radius) || DEFAULT_BASE_RADIUS;
207
+ const base = active ? getBaseMap(ctx.store)?.bases[active] : undefined;
208
+ if (name === "icon")
209
+ return base?.icon ?? "";
210
+ return base?.radius || DEFAULT_BASE_RADIUS;
198
211
  },
199
- set: (_name, value) => {
212
+ set: (name, value) => {
200
213
  const active = baseStateStore.get().activeBaseId;
201
214
  if (!active)
202
215
  return;
203
- const { id } = resolveBaseMap(ctx.store, tile);
204
- const shape = ctx.store.getShape(id);
205
- const base = shape?.bases[active];
206
- if (!shape || !base)
207
- return;
208
- const radius = Math.max(1, Math.round(Number(value)));
209
- const nextBases = { ...shape.bases, [active]: { ...base, radius } };
210
- ctx.store.updateShape(id, { bases: nextBases });
216
+ if (name === "icon")
217
+ setBaseIcon(deps, active, value ? String(value) : null);
218
+ else
219
+ setBaseRadius(deps, active, Number(value));
211
220
  },
212
221
  subscribe: subBaseAndStore,
213
222
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"register-map-hud.js","sourceRoot":"","sources":["../../src/hud/register-map-hud.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"register-map-hud.js","sourceRoot":"","sources":["../../src/hud/register-map-hud.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"icon-render.d.ts","sourceRoot":"","sources":["../src/icon-render.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAS1C;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC3B,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,SAAS,SAAK,GACZ,YAAY,GAAG,IAAI,CAgBrB"}
1
+ {"version":3,"file":"icon-render.d.ts","sourceRoot":"","sources":["../src/icon-render.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAQ1C;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC3B,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,SAAS,SAAK,GACZ,YAAY,GAAG,IAAI,CAgBrB"}
@@ -1,5 +1,10 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { ICONS_BY_KEY } from "./icons.js";
2
+ // Draw a single world-layer icon into a grid cell. Extracted from the old
3
+ // `map-icon` shape's body so the icon-grid layer (map-icon-layer.tsx) can render
4
+ // icons stored as tilemap cell data (cellKey → iconKey) — icons are no longer
5
+ // free shapes. The CSS custom properties (terrainCssVars) and the wobble filter
6
+ // are applied ONCE by the layer wrapper, not per icon, so this stays cheap.
7
+ import { ICONS_BY_KEY } from "@edv4h/usketch-map-icons";
3
8
  import { renderSvgNodes } from "./svg-nodes.js";
4
9
  function parseViewBox(vb) {
5
10
  const p = vb.split(/[\s,]+/).map(Number);
@@ -1 +1 @@
1
- {"version":3,"file":"icon-render.js","sourceRoot":"","sources":["../src/icon-render.tsx"],"names":[],"mappings":";AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,SAAS,YAAY,CAAC,EAAU;IAC/B,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACzC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AACvD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAC3B,OAAe,EACf,GAAW,EACX,GAAW,EACX,IAAY,EACZ,SAAS,GAAG,EAAE;IAEd,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACvC,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpD,MAAM,EAAE,GAAG,IAAI,GAAG,EAAE,CAAC;IACrB,MAAM,EAAE,GAAG,IAAI,GAAG,EAAE,CAAC;IACrB,MAAM,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC;IACrB,MAAM,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC;IACrB,OAAO,CACN,YAEC,SAAS,EAAE,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,eAAe,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,YAE5E,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC,IAHxD,GAAG,SAAS,GAAG,GAAG,IAAI,GAAG,EAAE,CAI7B,CACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"icon-render.js","sourceRoot":"","sources":["../src/icon-render.tsx"],"names":[],"mappings":";AAAA,0EAA0E;AAC1E,iFAAiF;AACjF,8EAA8E;AAC9E,gFAAgF;AAChF,4EAA4E;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,SAAS,YAAY,CAAC,EAAU;IAC/B,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACzC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AACvD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAC3B,OAAe,EACf,GAAW,EACX,GAAW,EACX,IAAY,EACZ,SAAS,GAAG,EAAE;IAEd,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACvC,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpD,MAAM,EAAE,GAAG,IAAI,GAAG,EAAE,CAAC;IACrB,MAAM,EAAE,GAAG,IAAI,GAAG,EAAE,CAAC;IACrB,MAAM,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC;IACrB,MAAM,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC;IACrB,OAAO,CACN,YAEC,SAAS,EAAE,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,eAAe,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,YAE5E,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC,IAHxD,GAAG,SAAS,GAAG,GAAG,IAAI,GAAG,EAAE,CAI7B,CACJ,CAAC;AACH,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
+ export { ICONS, type IconCategory, type IconDef } from "@edv4h/usketch-map-icons";
1
2
  export { BASE_MAP_TYPE, type BaseInfo, type BaseMapShapeData, } from "./base/base-map-shape.js";
2
- export { type BaseRegionAnchor, baseIdAtWorld, baseRegionAnchors, getBaseMap, } from "./base/base-ops.js";
3
+ export { type BaseRegionAnchor, baseIdAtWorld, baseRegionAnchors, baseRegions, getBaseMap, type TerritoryRegion, } from "./base/base-ops.js";
3
4
  export { type BaseToolState, baseStateStore, useBaseState } from "./base/base-state.js";
4
5
  export { computeTerritory, type Territory } from "./base/territory.js";
5
6
  export { DEFAULT_TERRITORY_STYLE, type ResolvedTerritoryStyle, resolveTerritoryStyle, type TerritoryStyle, } from "./base/territory-style.js";
@@ -8,7 +9,6 @@ export { type GenState, genStateStore, useGenState, type WorldRect } from "./gen
8
9
  export { resolveTilemap } from "./generate.js";
9
10
  export { GENERATORS, type GenContext, type GenParam, type MapGenerator, } from "./generators/index.js";
10
11
  export { renderIconAt } from "./icon-render.js";
11
- export { ICONS, type IconCategory, type IconDef } from "./icons.js";
12
12
  export { DEFAULT_INFINITE_SEED, disableInfiniteTerrain, type EnableInfiniteTerrainOptions, enableInfiniteTerrain, getInfiniteSeed, isInfiniteTerrainEnabled, setInfiniteSeed, } from "./infinite-terrain.js";
13
13
  export { createMapApi, getMapApi, type MapApi, mapService } from "./map-service.js";
14
14
  export { MAP_TOOL_ID } from "./map-tool-id.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,aAAa,EACb,KAAK,QAAQ,EACb,KAAK,gBAAgB,GACrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACN,KAAK,gBAAgB,EACrB,aAAa,EACb,iBAAiB,EACjB,UAAU,GACV,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,KAAK,aAAa,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACxF,OAAO,EAAE,gBAAgB,EAAE,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEvE,OAAO,EACN,uBAAuB,EACvB,KAAK,sBAAsB,EAC3B,qBAAqB,EACrB,KAAK,cAAc,GACnB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,KAAK,aAAa,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACxF,OAAO,EAAE,KAAK,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAK3F,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EACN,UAAU,EACV,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,KAAK,YAAY,GACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,KAAK,YAAY,EAAE,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AAMpE,OAAO,EACN,qBAAqB,EACrB,sBAAsB,EACtB,KAAK,4BAA4B,EACjC,qBAAqB,EACrB,eAAe,EACf,wBAAwB,EACxB,eAAe,GACf,MAAM,uBAAuB,CAAC;AAI/B,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,KAAK,MAAM,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACpF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,YAAY,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EACN,KAAK,iBAAiB,EACtB,eAAe,EACf,oBAAoB,GACpB,MAAM,wBAAwB,CAAC;AAMhC,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EACN,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,iBAAiB,GACjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,KAAK,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1E,OAAO,EACN,YAAY,EACZ,SAAS,EACT,aAAa,EACb,WAAW,EACX,aAAa,EACb,YAAY,EACZ,KAAK,gBAAgB,GACrB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACN,SAAS,EACT,KAAK,OAAO,EACZ,KAAK,YAAY,EACjB,cAAc,EACd,eAAe,GACf,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACN,KAAK,uBAAuB,EAC5B,kBAAkB,GAClB,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,YAAY,EAAE,KAAK,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAClF,OAAO,EACN,aAAa,EACb,KAAK,QAAQ,EACb,KAAK,gBAAgB,GACrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACN,KAAK,gBAAgB,EACrB,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,UAAU,EACV,KAAK,eAAe,GACpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,KAAK,aAAa,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACxF,OAAO,EAAE,gBAAgB,EAAE,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEvE,OAAO,EACN,uBAAuB,EACvB,KAAK,sBAAsB,EAC3B,qBAAqB,EACrB,KAAK,cAAc,GACnB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,KAAK,aAAa,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACxF,OAAO,EAAE,KAAK,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAK3F,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EACN,UAAU,EACV,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,KAAK,YAAY,GACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAMhD,OAAO,EACN,qBAAqB,EACrB,sBAAsB,EACtB,KAAK,4BAA4B,EACjC,qBAAqB,EACrB,eAAe,EACf,wBAAwB,EACxB,eAAe,GACf,MAAM,uBAAuB,CAAC;AAI/B,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,KAAK,MAAM,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACpF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,YAAY,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EACN,KAAK,iBAAiB,EACtB,eAAe,EACf,oBAAoB,GACpB,MAAM,wBAAwB,CAAC;AAMhC,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EACN,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,iBAAiB,GACjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,KAAK,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1E,OAAO,EACN,YAAY,EACZ,SAAS,EACT,aAAa,EACb,WAAW,EACX,aAAa,EACb,YAAY,EACZ,KAAK,gBAAgB,GACrB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACN,SAAS,EACT,KAAK,OAAO,EACZ,KAAK,YAAY,EACjB,cAAc,EACd,eAAe,GACf,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACN,KAAK,uBAAuB,EAC5B,kBAAkB,GAClB,MAAM,2BAA2B,CAAC"}
package/dist/index.js CHANGED
@@ -1,5 +1,6 @@
1
+ export { ICONS } from "@edv4h/usketch-map-icons";
1
2
  export { BASE_MAP_TYPE, } from "./base/base-map-shape.js";
2
- export { baseIdAtWorld, baseRegionAnchors, getBaseMap, } from "./base/base-ops.js";
3
+ export { baseIdAtWorld, baseRegionAnchors, baseRegions, getBaseMap, } from "./base/base-ops.js";
3
4
  export { baseStateStore, useBaseState } from "./base/base-state.js";
4
5
  export { computeTerritory } from "./base/territory.js";
5
6
  // ── Territory (領域) overlay appearance — pass via `createMapPlugin({ territory })`.
@@ -13,7 +14,6 @@ export { genStateStore, useGenState } from "./gen-state.js";
13
14
  export { resolveTilemap } from "./generate.js";
14
15
  export { GENERATORS, } from "./generators/index.js";
15
16
  export { renderIconAt } from "./icon-render.js";
16
- export { ICONS } from "./icons.js";
17
17
  // ── Infinite base terrain public API (#946 / #937 follow-up) ──
18
18
  // Enable/disable/seed the infinite base terrain from a host's own UI without the
19
19
  // Control HUD. Same logic the HUD toggle runs; the seed lives on the tilemap
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,aAAa,GAGb,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAEN,aAAa,EACb,iBAAiB,EACjB,UAAU,GACV,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAsB,cAAc,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACxF,OAAO,EAAE,gBAAgB,EAAkB,MAAM,qBAAqB,CAAC;AACvE,oFAAoF;AACpF,OAAO,EACN,uBAAuB,EAEvB,qBAAqB,GAErB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAsB,aAAa,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACxF,OAAO,EAAiB,aAAa,EAAE,WAAW,EAAkB,MAAM,gBAAgB,CAAC;AAC3F,kFAAkF;AAClF,gFAAgF;AAChF,wEAAwE;AACxE,qEAAqE;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EACN,UAAU,GAIV,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAmC,MAAM,YAAY,CAAC;AACpE,iEAAiE;AACjE,iFAAiF;AACjF,6EAA6E;AAC7E,8EAA8E;AAC9E,mFAAmF;AACnF,OAAO,EACN,qBAAqB,EACrB,sBAAsB,EAEtB,qBAAqB,EACrB,eAAe,EACf,wBAAwB,EACxB,eAAe,GACf,MAAM,uBAAuB,CAAC;AAC/B,8EAA8E;AAC9E,kFAAkF;AAClF,kFAAkF;AAClF,OAAO,EAAE,YAAY,EAAE,SAAS,EAAe,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACpF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,eAAe,EAAyB,MAAM,aAAa,CAAC;AACrE,OAAO,EAEN,eAAe,EACf,oBAAoB,GACpB,MAAM,wBAAwB,CAAC;AAOhC,OAAO,EAGN,iBAAiB,GACjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAoC,MAAM,cAAc,CAAC;AAC1E,OAAO,EACN,YAAY,EACZ,SAAS,EACT,aAAa,EACb,WAAW,EACX,aAAa,EACb,YAAY,GAEZ,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACN,SAAS,EAGT,cAAc,EACd,eAAe,GACf,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAEN,kBAAkB,GAClB,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAmC,MAAM,0BAA0B,CAAC;AAClF,OAAO,EACN,aAAa,GAGb,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAEN,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,UAAU,GAEV,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAsB,cAAc,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACxF,OAAO,EAAE,gBAAgB,EAAkB,MAAM,qBAAqB,CAAC;AACvE,oFAAoF;AACpF,OAAO,EACN,uBAAuB,EAEvB,qBAAqB,GAErB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAsB,aAAa,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACxF,OAAO,EAAiB,aAAa,EAAE,WAAW,EAAkB,MAAM,gBAAgB,CAAC;AAC3F,kFAAkF;AAClF,gFAAgF;AAChF,wEAAwE;AACxE,qEAAqE;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EACN,UAAU,GAIV,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,iEAAiE;AACjE,iFAAiF;AACjF,6EAA6E;AAC7E,8EAA8E;AAC9E,mFAAmF;AACnF,OAAO,EACN,qBAAqB,EACrB,sBAAsB,EAEtB,qBAAqB,EACrB,eAAe,EACf,wBAAwB,EACxB,eAAe,GACf,MAAM,uBAAuB,CAAC;AAC/B,8EAA8E;AAC9E,kFAAkF;AAClF,kFAAkF;AAClF,OAAO,EAAE,YAAY,EAAE,SAAS,EAAe,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACpF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,eAAe,EAAyB,MAAM,aAAa,CAAC;AACrE,OAAO,EAEN,eAAe,EACf,oBAAoB,GACpB,MAAM,wBAAwB,CAAC;AAOhC,OAAO,EAGN,iBAAiB,GACjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAoC,MAAM,cAAc,CAAC;AAC1E,OAAO,EACN,YAAY,EACZ,SAAS,EACT,aAAa,EACb,WAAW,EACX,aAAa,EACb,YAAY,GAEZ,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACN,SAAS,EAGT,cAAc,EACd,eAAe,GACf,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAEN,kBAAkB,GAClB,MAAM,2BAA2B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"map-tool.d.ts","sourceRoot":"","sources":["../src/map-tool.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAKX,cAAc,EACd,MAAM,uBAAuB,CAAC;AA2E/B,wBAAgB,uBAAuB,CAAC,IAAI,GAAE,MAAqB,GAAG,cAAc,CA8YnF"}
1
+ {"version":3,"file":"map-tool.d.ts","sourceRoot":"","sources":["../src/map-tool.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAKX,cAAc,EACd,MAAM,uBAAuB,CAAC;AA0E/B,wBAAgB,uBAAuB,CAAC,IAAI,GAAE,MAAqB,GAAG,cAAc,CA0XnF"}