@edv4h/usketch-plugin-map 0.2.0 → 0.4.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 (62) hide show
  1. package/dist/autotile.d.ts +10 -0
  2. package/dist/autotile.d.ts.map +1 -1
  3. package/dist/autotile.js +15 -0
  4. package/dist/autotile.js.map +1 -1
  5. package/dist/{team/team-layer.d.ts → base/base-layer.d.ts} +2 -2
  6. package/dist/base/base-layer.d.ts.map +1 -0
  7. package/dist/{team/team-layer.js → base/base-layer.js} +28 -19
  8. package/dist/base/base-layer.js.map +1 -0
  9. package/dist/base/base-map-shape.d.ts +20 -0
  10. package/dist/{team/team-map-shape.d.ts.map → base/base-map-shape.d.ts.map} +1 -1
  11. package/dist/{team/team-map-shape.js → base/base-map-shape.js} +14 -14
  12. package/dist/{team/team-map-shape.js.map → base/base-map-shape.js.map} +1 -1
  13. package/dist/{team/team-ops.d.ts → base/base-ops.d.ts} +20 -20
  14. package/dist/{team/team-ops.d.ts.map → base/base-ops.d.ts.map} +1 -1
  15. package/dist/{team/team-ops.js → base/base-ops.js} +33 -33
  16. package/dist/{team/team-ops.js.map → base/base-ops.js.map} +1 -1
  17. package/dist/base/base-state.d.ts +9 -0
  18. package/dist/{team/team-state.d.ts.map → base/base-state.d.ts.map} +1 -1
  19. package/dist/base/base-state.js +13 -0
  20. package/dist/{team/team-state.js.map → base/base-state.js.map} +1 -1
  21. package/dist/{team → base}/enter-banner.d.ts.map +1 -1
  22. package/dist/{team → base}/enter-banner.js +12 -12
  23. package/dist/{team → base}/enter-banner.js.map +1 -1
  24. package/dist/hud/register-map-hud.d.ts +8 -0
  25. package/dist/hud/register-map-hud.d.ts.map +1 -0
  26. package/dist/hud/register-map-hud.js +0 -0
  27. package/dist/hud/register-map-hud.js.map +1 -0
  28. package/dist/index.d.ts +1 -1
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +1 -1
  31. package/dist/index.js.map +1 -1
  32. package/dist/map-tool.d.ts.map +1 -1
  33. package/dist/map-tool.js +69 -34
  34. package/dist/map-tool.js.map +1 -1
  35. package/dist/plugin.d.ts.map +1 -1
  36. package/dist/plugin.js +16 -30
  37. package/dist/plugin.js.map +1 -1
  38. package/dist/range-erase-state.d.ts +2 -2
  39. package/dist/range-erase-state.js +1 -1
  40. package/dist/range-erase.d.ts +1 -1
  41. package/dist/range-erase.d.ts.map +1 -1
  42. package/dist/range-erase.js +13 -13
  43. package/dist/range-erase.js.map +1 -1
  44. package/dist/tool-state.d.ts +7 -1
  45. package/dist/tool-state.d.ts.map +1 -1
  46. package/dist/tool-state.js +1 -0
  47. package/dist/tool-state.js.map +1 -1
  48. package/package.json +3 -3
  49. package/dist/team/team-layer.d.ts.map +0 -1
  50. package/dist/team/team-layer.js.map +0 -1
  51. package/dist/team/team-map-shape.d.ts +0 -20
  52. package/dist/team/team-state.d.ts +0 -9
  53. package/dist/team/team-state.js +0 -13
  54. package/dist/ui/palette.d.ts +0 -7
  55. package/dist/ui/palette.d.ts.map +0 -1
  56. package/dist/ui/palette.js +0 -178
  57. package/dist/ui/palette.js.map +0 -1
  58. package/dist/ui/range-erase-palette.d.ts +0 -5
  59. package/dist/ui/range-erase-palette.d.ts.map +0 -1
  60. package/dist/ui/range-erase-palette.js +0 -42
  61. package/dist/ui/range-erase-palette.js.map +0 -1
  62. /package/dist/{team → base}/enter-banner.d.ts +0 -0
@@ -1,9 +1,9 @@
1
1
  import { cellsBounds, parseCellKey } from "./autotile.js";
2
- import { isTeamMap, ownerBounds } from "./team/team-map-shape.js";
2
+ import { isBaseMap, ownerBounds } from "./base/base-map-shape.js";
3
3
  import { isTileMap } from "./tilemap-shape.js";
4
4
  // One shape's box-clear: sparse-scan existing keys, remove those in `box`. Returns
5
5
  // the store patch pair (or null when nothing changes). `field` is the intrinsic
6
- // sparse map ("cells" for tilemap, "owner" for team-map).
6
+ // sparse map ("cells" for tilemap, "owner" for base-map).
7
7
  function boxClearOp(shapeId, map, field, box, bounds) {
8
8
  const toDelete = [];
9
9
  for (const key of Object.keys(map)) {
@@ -24,23 +24,23 @@ function boxClearOp(shapeId, map, field, box, bounds) {
24
24
  };
25
25
  }
26
26
  /**
27
- * Clear the selected targets (terrain and/or team ownership) inside `box` as one
27
+ * Clear the selected targets (terrain and/or base ownership) inside `box` as one
28
28
  * undoable command (no-op if nothing is selected or nothing changes).
29
29
  */
30
30
  export function eraseRangeBox(deps, box, targets) {
31
31
  const { store, commands, tile } = deps;
32
- if (!targets.terrain && !targets.team)
32
+ if (!targets.terrain && !targets.base)
33
33
  return;
34
- // tilemap / team-map are single shared substrates (like resolveTilemap /
35
- // resolveTeamMap), so target the first of each.
34
+ // tilemap / base-map are single shared substrates (like resolveTilemap /
35
+ // resolveBaseMap), so target the first of each.
36
36
  let tilemap;
37
- let teammap;
37
+ let basemap;
38
38
  for (const [, s] of store.getShapes()) {
39
39
  if (!tilemap && isTileMap(s))
40
40
  tilemap = s;
41
- else if (!teammap && isTeamMap(s))
42
- teammap = s;
43
- if (tilemap && teammap)
41
+ else if (!basemap && isBaseMap(s))
42
+ basemap = s;
43
+ if (tilemap && basemap)
44
44
  break;
45
45
  }
46
46
  const ops = [];
@@ -51,9 +51,9 @@ export function eraseRangeBox(deps, box, targets) {
51
51
  if (op)
52
52
  ops.push(op);
53
53
  }
54
- if (targets.team && teammap) {
55
- const t = teammap.tile ?? tile;
56
- const op = boxClearOp(teammap.id, teammap.owner, "owner", box, (m) => ownerBounds(m, t));
54
+ if (targets.base && basemap) {
55
+ const t = basemap.tile ?? tile;
56
+ const op = boxClearOp(basemap.id, basemap.owner, "owner", box, (m) => ownerBounds(m, t));
57
57
  if (op)
58
58
  ops.push(op);
59
59
  }
@@ -1 +1 @@
1
- {"version":3,"file":"range-erase.js","sourceRoot":"","sources":["../src/range-erase.ts"],"names":[],"mappings":"AASA,OAAO,EAAgB,WAAW,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAExE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAyB,MAAM,0BAA0B,CAAC;AACzF,OAAO,EAAE,SAAS,EAAyB,MAAM,oBAAoB,CAAC;AActE,mFAAmF;AACnF,gFAAgF;AAChF,0DAA0D;AAC1D,SAAS,UAAU,CAClB,OAAe,EACf,GAAM,EACN,KAAwB,EACxB,GAAY,EACZ,MAA6B;IAE7B,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACpC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI;YAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC1F,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC,CAAC,sBAAsB;IAC9D,MAAM,OAAO,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC;IAC3B,MAAM,OAAO,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC;IAC3B,KAAK,MAAM,CAAC,IAAI,QAAQ;QAAE,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5C,OAAO;QACN,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,EAAwB;QACpE,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,EAAwB;KACpE,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAC5B,IAAoB,EACpB,GAAY,EACZ,OAA0B;IAE1B,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;IACvC,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI;QAAE,OAAO;IAC9C,yEAAyE;IACzE,gDAAgD;IAChD,IAAI,OAAqC,CAAC;IAC1C,IAAI,OAAqC,CAAC;IAC1C,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC;QACvC,IAAI,CAAC,OAAO,IAAI,SAAS,CAAC,CAAC,CAAC;YAAE,OAAO,GAAG,CAAC,CAAC;aACrC,IAAI,CAAC,OAAO,IAAI,SAAS,CAAC,CAAC,CAAC;YAAE,OAAO,GAAG,CAAC,CAAC;QAC/C,IAAI,OAAO,IAAI,OAAO;YAAE,MAAM;IAC/B,CAAC;IACD,MAAM,GAAG,GAAc,EAAE,CAAC;IAC1B,4EAA4E;IAC5E,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,EAAE,CAAC;QAChC,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC;QAC/B,MAAM,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACzF,IAAI,EAAE;YAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtB,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC;QAC/B,MAAM,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACzF,IAAI,EAAE;YAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtB,CAAC;IACD,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAC7B,MAAM,OAAO,GAAY;QACxB,OAAO,EAAE,GAAG,EAAE;YACb,KAAK,MAAM,CAAC,IAAI,GAAG;gBAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QACtD,CAAC;QACD,IAAI,EAAE,GAAG,EAAE;YACV,KAAK,MAAM,CAAC,IAAI,GAAG;gBAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QACtD,CAAC;KACD,CAAC;IACF,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AAC3B,CAAC"}
1
+ {"version":3,"file":"range-erase.js","sourceRoot":"","sources":["../src/range-erase.ts"],"names":[],"mappings":"AASA,OAAO,EAAgB,WAAW,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EAAyB,SAAS,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEzF,OAAO,EAAE,SAAS,EAAyB,MAAM,oBAAoB,CAAC;AActE,mFAAmF;AACnF,gFAAgF;AAChF,0DAA0D;AAC1D,SAAS,UAAU,CAClB,OAAe,EACf,GAAM,EACN,KAAwB,EACxB,GAAY,EACZ,MAA6B;IAE7B,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACpC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI;YAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC1F,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC,CAAC,sBAAsB;IAC9D,MAAM,OAAO,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC;IAC3B,MAAM,OAAO,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC;IAC3B,KAAK,MAAM,CAAC,IAAI,QAAQ;QAAE,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5C,OAAO;QACN,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,EAAwB;QACpE,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,EAAwB;KACpE,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAC5B,IAAoB,EACpB,GAAY,EACZ,OAA0B;IAE1B,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;IACvC,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI;QAAE,OAAO;IAC9C,yEAAyE;IACzE,gDAAgD;IAChD,IAAI,OAAqC,CAAC;IAC1C,IAAI,OAAqC,CAAC;IAC1C,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC;QACvC,IAAI,CAAC,OAAO,IAAI,SAAS,CAAC,CAAC,CAAC;YAAE,OAAO,GAAG,CAAC,CAAC;aACrC,IAAI,CAAC,OAAO,IAAI,SAAS,CAAC,CAAC,CAAC;YAAE,OAAO,GAAG,CAAC,CAAC;QAC/C,IAAI,OAAO,IAAI,OAAO;YAAE,MAAM;IAC/B,CAAC;IACD,MAAM,GAAG,GAAc,EAAE,CAAC;IAC1B,4EAA4E;IAC5E,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,EAAE,CAAC;QAChC,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC;QAC/B,MAAM,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACzF,IAAI,EAAE;YAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtB,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC;QAC/B,MAAM,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACzF,IAAI,EAAE;YAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtB,CAAC;IACD,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAC7B,MAAM,OAAO,GAAY;QACxB,OAAO,EAAE,GAAG,EAAE;YACb,KAAK,MAAM,CAAC,IAAI,GAAG;gBAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QACtD,CAAC;QACD,IAAI,EAAE,GAAG,EAAE;YACV,KAAK,MAAM,CAAC,IAAI,GAAG;gBAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QACtD,CAAC;KACD,CAAC;IACF,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AAC3B,CAAC"}
@@ -1,10 +1,16 @@
1
1
  import type { TerrainKey } from "./terrain.js";
2
- export type MapMode = "brush" | "eraser" | "fill" | "stamp" | "generate" | "team";
2
+ export type MapMode = "brush" | "eraser" | "fill" | "region" | "stamp" | "generate" | "base";
3
3
  export interface MapToolState {
4
4
  mode: MapMode;
5
5
  terrain: TerrainKey;
6
6
  /** Icon key (from ICONS) used by the "stamp" mode. */
7
7
  iconKey: string;
8
+ /**
9
+ * Terrains protected from the "region" fill: cells of these terrains are never
10
+ * overwritten, and clicking one is a no-op. Lets the user fill a connected
11
+ * same-terrain area while keeping specific tiles (e.g. water) safe.
12
+ */
13
+ excludeTerrains: TerrainKey[];
8
14
  }
9
15
  export declare const toolStateStore: import("./reactive-store.js").ReactiveStore<MapToolState>;
10
16
  /** Subscribe a component to the current map-tool state. */
@@ -1 +1 @@
1
- {"version":3,"file":"tool-state.d.ts","sourceRoot":"","sources":["../src/tool-state.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,MAAM,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,MAAM,CAAC;AAElF,MAAM,WAAW,YAAY;IAC5B,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,UAAU,CAAC;IACpB,sDAAsD;IACtD,OAAO,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,cAAc,2DAIzB,CAAC;AAEH,2DAA2D;AAC3D,wBAAgB,eAAe,IAAI,YAAY,CAE9C"}
1
+ {"version":3,"file":"tool-state.d.ts","sourceRoot":"","sources":["../src/tool-state.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,MAAM,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,UAAU,GAAG,MAAM,CAAC;AAE7F,MAAM,WAAW,YAAY;IAC5B,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,UAAU,CAAC;IACpB,sDAAsD;IACtD,OAAO,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,eAAe,EAAE,UAAU,EAAE,CAAC;CAC9B;AAED,eAAO,MAAM,cAAc,2DAKzB,CAAC;AAEH,2DAA2D;AAC3D,wBAAgB,eAAe,IAAI,YAAY,CAE9C"}
@@ -6,6 +6,7 @@ export const toolStateStore = createReactiveStore({
6
6
  mode: "brush",
7
7
  terrain: "grass",
8
8
  iconKey: "town",
9
+ excludeTerrains: [],
9
10
  });
10
11
  /** Subscribe a component to the current map-tool state. */
11
12
  export function useMapToolState() {
@@ -1 +1 @@
1
- {"version":3,"file":"tool-state.js","sourceRoot":"","sources":["../src/tool-state.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,yCAAyC;AACzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAY1D,MAAM,CAAC,MAAM,cAAc,GAAG,mBAAmB,CAAe;IAC/D,IAAI,EAAE,OAAO;IACb,OAAO,EAAE,OAAO;IAChB,OAAO,EAAE,MAAM;CACf,CAAC,CAAC;AAEH,2DAA2D;AAC3D,MAAM,UAAU,eAAe;IAC9B,OAAO,oBAAoB,CAAC,cAAc,CAAC,SAAS,EAAE,cAAc,CAAC,GAAG,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC;AAC/F,CAAC"}
1
+ {"version":3,"file":"tool-state.js","sourceRoot":"","sources":["../src/tool-state.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,yCAAyC;AACzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAkB1D,MAAM,CAAC,MAAM,cAAc,GAAG,mBAAmB,CAAe;IAC/D,IAAI,EAAE,OAAO;IACb,OAAO,EAAE,OAAO;IAChB,OAAO,EAAE,MAAM;IACf,eAAe,EAAE,EAAE;CACnB,CAAC,CAAC;AAEH,2DAA2D;AAC3D,MAAM,UAAU,eAAe;IAC9B,OAAO,oBAAoB,CAAC,cAAc,CAAC,SAAS,EAAE,cAAc,CAAC,GAAG,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC;AAC/F,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@edv4h/usketch-plugin-map",
3
- "version": "0.2.0",
3
+ "version": "0.4.0",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -12,8 +12,8 @@
12
12
  }
13
13
  },
14
14
  "dependencies": {
15
- "@edv4h/usketch-shared": "4.6.0",
16
- "@edv4h/usketch-store": "3.4.0"
15
+ "@edv4h/usketch-shared": "4.8.0",
16
+ "@edv4h/usketch-store": "3.5.0"
17
17
  },
18
18
  "peerDependencies": {
19
19
  "react": ">=19"
@@ -1 +0,0 @@
1
- {"version":3,"file":"team-layer.d.ts","sourceRoot":"","sources":["../../src/team/team-layer.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAoGpE,wBAAgB,aAAa,CAAC,EAC7B,KAAK,EACL,UAAU,GACV,EAAE;IACF,KAAK,EAAE,UAAU,CAAC;IAClB,UAAU,CAAC,EAAE,UAAU,CAAC;CACxB,sCAwEA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"team-layer.js","sourceRoot":"","sources":["../../src/team/team-layer.tsx"],"names":[],"mappings":"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"}
@@ -1,20 +0,0 @@
1
- import type { BoundingBox, ShapeData, ShapeDefinition } from "@edv4h/usketch-shared";
2
- export declare const TEAM_MAP_TYPE = "team-map";
3
- export interface TeamInfo {
4
- name: string;
5
- color: string;
6
- }
7
- /** cellKey("c,r") → teamId (sparse ownership map). */
8
- export type OwnerMap = Record<string, string>;
9
- export interface TeamMapShapeData extends ShapeData {
10
- type: "team-map";
11
- tile: number;
12
- teams: Record<string, TeamInfo>;
13
- owner: OwnerMap;
14
- }
15
- export declare function isTeamMap(shape: ShapeData): shape is TeamMapShapeData;
16
- export declare function makeTeamMap(tile: number): TeamMapShapeData;
17
- /** Bounds of all owned cells (keys are cellKeys). */
18
- export declare function ownerBounds(owner: OwnerMap, tile: number): BoundingBox;
19
- export declare function createTeamMapShapeDefinition(tile?: number): ShapeDefinition;
20
- //# sourceMappingURL=team-map-shape.d.ts.map
@@ -1,9 +0,0 @@
1
- export type TeamMode = "assign" | "erase" | "island";
2
- export interface TeamToolState {
3
- /** Currently selected team id, or null when none is chosen yet. */
4
- activeTeamId: string | null;
5
- mode: TeamMode;
6
- }
7
- export declare const teamStateStore: import("../reactive-store.js").ReactiveStore<TeamToolState>;
8
- export declare function useTeamState(): TeamToolState;
9
- //# sourceMappingURL=team-state.d.ts.map
@@ -1,13 +0,0 @@
1
- // Active team-tool interaction state, shared between the palette and the tool.
2
- // Module-scoped, app-local (not synced). Team data itself lives in the synced
3
- // `team-map` shape; this is only which team/mode the local user is editing with.
4
- import { useSyncExternalStore } from "react";
5
- import { createReactiveStore } from "../reactive-store.js";
6
- export const teamStateStore = createReactiveStore({
7
- activeTeamId: null,
8
- mode: "assign",
9
- });
10
- export function useTeamState() {
11
- return useSyncExternalStore(teamStateStore.subscribe, teamStateStore.get, teamStateStore.get);
12
- }
13
- //# sourceMappingURL=team-state.js.map
@@ -1,7 +0,0 @@
1
- import type { BoardStore, CommandRegistry } from "@edv4h/usketch-shared";
2
- export declare function MapPalette({ store, commands, tile, }: {
3
- store: BoardStore;
4
- commands: CommandRegistry;
5
- tile: number;
6
- }): import("react").JSX.Element | null;
7
- //# sourceMappingURL=palette.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"palette.d.ts","sourceRoot":"","sources":["../../src/ui/palette.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAiEzE,wBAAgB,UAAU,CAAC,EAC1B,KAAK,EACL,QAAQ,EACR,IAAI,GACJ,EAAE;IACF,KAAK,EAAE,UAAU,CAAC;IAClB,QAAQ,EAAE,eAAe,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;CACb,sCA+YA"}
@@ -1,178 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useEffect, useState } from "react";
3
- import { genStateStore, useGenState } from "../gen-state.js";
4
- import { generateIntoBox, viewportCellBox } from "../generate.js";
5
- import { defaultParams, GENERATORS, GENERATORS_BY_ID } from "../generators/index.js";
6
- import { ICON_CATEGORIES, ICONS } from "../icons.js";
7
- import { WOBBLE_FILTER_ID } from "../map-layer.js";
8
- import { MAP_TOOL_ID } from "../map-tool-id.js";
9
- import { terrainCssVars } from "../palette.js";
10
- import { renderConfigStore, useRenderConfig } from "../render-config.js";
11
- import { renderSvgNodes } from "../svg-nodes.js";
12
- import { createTeam, getTeamMap } from "../team/team-ops.js";
13
- import { teamStateStore, useTeamState } from "../team/team-state.js";
14
- import { TERRAINS, terrainPatternId } from "../terrain.js";
15
- import { toolStateStore, useMapToolState } from "../tool-state.js";
16
- const TEAM_COLORS = [
17
- "#EF5350",
18
- "#4A7FB8",
19
- "#6C5CD6",
20
- "#2AA1A8",
21
- "#F6C124",
22
- "#25A05B",
23
- "#F48CB4",
24
- "#F0913E",
25
- ];
26
- const TEAM_MODES = [
27
- { id: "assign", label: "割り当て" },
28
- { id: "erase", label: "消す" },
29
- { id: "island", label: "島に割当" },
30
- ];
31
- const MODES = [
32
- { id: "brush", label: "ブラシ" },
33
- { id: "eraser", label: "消しゴム" },
34
- { id: "fill", label: "塗りつぶし" },
35
- { id: "stamp", label: "アイコン" },
36
- { id: "generate", label: "生成" },
37
- { id: "team", label: "チーム" },
38
- ];
39
- function useActiveTool(store) {
40
- const [id, setId] = useState(store.getActiveToolId());
41
- useEffect(() => {
42
- const u = store.subscribe(() => setId(store.getActiveToolId()));
43
- return u;
44
- }, [store]);
45
- return id;
46
- }
47
- const CARD = "#FFFFFF";
48
- const STROKE = "#141414";
49
- function chipStyle(active) {
50
- return {
51
- border: `2px solid ${STROKE}`,
52
- borderRadius: 10,
53
- background: active ? "#F6C124" : CARD,
54
- padding: "5px 10px",
55
- font: "600 12px system-ui, sans-serif",
56
- cursor: "pointer",
57
- lineHeight: 1,
58
- };
59
- }
60
- export function MapPalette({ store, commands, tile, }) {
61
- const activeTool = useActiveTool(store);
62
- const tool = useMapToolState();
63
- const cfg = useRenderConfig();
64
- const gen = useGenState();
65
- const teamState = useTeamState();
66
- const [cat, setCat] = useState("landmark");
67
- const [teamName, setTeamName] = useState("");
68
- const [teamColor, setTeamColor] = useState(TEAM_COLORS[0]);
69
- if (activeTool !== MAP_TOOL_ID)
70
- return null;
71
- const generator = GENERATORS_BY_ID.get(gen.algorithmId) ?? GENERATORS[0];
72
- const runGenerate = (box) => generateIntoBox({ store, commands, tile }, { generatorId: gen.algorithmId, seed: gen.seed, params: gen.params, box });
73
- const cssVars = terrainCssVars(cfg.colorMode, cfg.strokeScale);
74
- const wobble = cfg.lineStyle === "wobble" ? `url(#${WOBBLE_FILTER_ID})` : undefined;
75
- return (_jsx("div", { style: { position: "absolute", inset: 0, pointerEvents: "none" }, children: _jsxs("div", { style: {
76
- position: "absolute",
77
- left: 14,
78
- top: "50%",
79
- transform: "translateY(-50%)",
80
- pointerEvents: "auto",
81
- width: 244,
82
- maxHeight: "84vh",
83
- overflowY: "auto",
84
- background: "#FBF9F4",
85
- border: `2.6px dashed ${STROKE}`,
86
- borderRadius: 16,
87
- padding: 14,
88
- boxShadow: "0 6px 24px rgba(0,0,0,.14)",
89
- ...cssVars,
90
- }, children: [_jsx("div", { style: { font: "700 15px system-ui, sans-serif", marginBottom: 10 }, children: "\uD83D\uDDFA RPG \u30DE\u30C3\u30D7" }), _jsx("div", { style: { display: "flex", flexWrap: "wrap", gap: 6, marginBottom: 12 }, children: MODES.map((m) => (_jsx("button", { type: "button", onClick: () => toolStateStore.set({ mode: m.id }), style: chipStyle(tool.mode === m.id), children: m.label }, m.id))) }), (tool.mode === "brush" || tool.mode === "eraser" || tool.mode === "fill") && (_jsxs("div", { style: { marginBottom: 12 }, children: [_jsx("div", { style: { font: "600 11px system-ui", color: "#8a8a88", marginBottom: 6 }, children: "\u5730\u5F62" }), tool.mode === "eraser" && (_jsx("div", { style: { font: "600 11px system-ui", color: "#8a8a88", marginBottom: 6 }, children: "\u30A2\u30A4\u30B3\u30F3\u306F\u30AF\u30EA\u30C3\u30AF\u3067\u524A\u9664" })), _jsx("div", { style: { display: "grid", gridTemplateColumns: "repeat(4,1fr)", gap: 6 }, children: TERRAINS.map((t) => (_jsx("button", { type: "button", title: `${t.name} / ${t.en}`, onClick: () => toolStateStore.set({ terrain: t.key }), style: {
91
- border: `2px solid ${tool.terrain === t.key ? "#EF5350" : STROKE}`,
92
- borderRadius: 8,
93
- padding: 0,
94
- overflow: "hidden",
95
- cursor: "pointer",
96
- aspectRatio: "1",
97
- background: CARD,
98
- }, children: _jsx("svg", { width: "100%", height: "100%", viewBox: "0 0 40 40", style: { display: "block" }, children: _jsx("rect", { width: "40", height: "40", fill: `url(#${terrainPatternId(t.key)})` }) }) }, t.key))) })] })), tool.mode === "stamp" && (_jsxs("div", { style: { marginBottom: 12 }, children: [_jsx("div", { style: { display: "flex", gap: 6, marginBottom: 8 }, children: ICON_CATEGORIES.map((c) => (_jsx("button", { type: "button", onClick: () => setCat(c.id), style: chipStyle(cat === c.id), children: c.label }, c.id))) }), _jsx("div", { style: { display: "grid", gridTemplateColumns: "repeat(4,1fr)", gap: 6 }, children: ICONS.filter((i) => i.category === cat).map((i) => (_jsx("button", { type: "button", title: `${i.ja} / ${i.en}`, onClick: () => toolStateStore.set({ iconKey: i.key }), style: {
99
- border: `2px solid ${tool.iconKey === i.key ? "#EF5350" : STROKE}`,
100
- borderRadius: 8,
101
- padding: 3,
102
- cursor: "pointer",
103
- aspectRatio: "1",
104
- background: CARD,
105
- }, children: _jsx("svg", { width: "100%", height: "100%", viewBox: i.viewBox, filter: wobble, children: renderSvgNodes(i.nodes, `pal-${i.key}`) }) }, i.key))) })] })), tool.mode === "generate" && (_jsxs("div", { style: { marginBottom: 12 }, children: [_jsx("div", { style: { font: "600 11px system-ui", color: "#8a8a88", marginBottom: 6 }, children: "\u30A2\u30EB\u30B4\u30EA\u30BA\u30E0" }), _jsx("select", { value: gen.algorithmId, onChange: (e) => {
106
- const g = GENERATORS_BY_ID.get(e.target.value);
107
- if (g)
108
- genStateStore.set({ algorithmId: g.id, params: defaultParams(g) });
109
- }, style: {
110
- width: "100%",
111
- border: `2px solid ${STROKE}`,
112
- borderRadius: 8,
113
- padding: "5px 8px",
114
- font: "600 12px system-ui",
115
- background: CARD,
116
- marginBottom: 10,
117
- }, children: GENERATORS.map((g) => (_jsx("option", { value: g.id, children: g.label }, g.id))) }), _jsxs("div", { style: { display: "flex", alignItems: "center", gap: 6, marginBottom: 10 }, children: [_jsx("span", { style: { font: "600 11px system-ui" }, children: "seed" }), _jsx("input", { type: "number", value: gen.seed, onChange: (e) => genStateStore.set({ seed: Number(e.target.value) >>> 0 }), style: {
118
- flex: 1,
119
- minWidth: 0,
120
- border: `2px solid ${STROKE}`,
121
- borderRadius: 8,
122
- padding: "4px 6px",
123
- font: "600 12px system-ui",
124
- } }), _jsx("button", { type: "button", title: "\u65B0\u3057\u3044\u30B7\u30FC\u30C9", onClick: () => genStateStore.set({ seed: Math.floor(Math.random() * 0xffffffff) >>> 0 }), style: chipStyle(false), children: "\uD83C\uDFB2" })] }), generator.params.map((p) => (_jsxs("label", { style: {
125
- display: "flex",
126
- alignItems: "center",
127
- gap: 6,
128
- font: "600 11px system-ui",
129
- marginBottom: 6,
130
- }, children: [_jsx("span", { style: { width: 96 }, children: p.label }), _jsx("input", { type: "range", min: p.min, max: p.max, step: p.step, value: gen.params[p.name] ?? p.default, onChange: (e) => genStateStore.set({
131
- params: { ...gen.params, [p.name]: Number(e.target.value) },
132
- }), style: { flex: 1, minWidth: 0 } })] }, p.name))), _jsxs("div", { style: { display: "flex", flexWrap: "wrap", gap: 6, marginTop: 8 }, children: [_jsx("button", { type: "button", onClick: () => runGenerate(viewportCellBox(store, tile)), style: chipStyle(true), children: "\u30D3\u30E5\u30FC\u5168\u4F53\u306B\u751F\u6210" }), _jsx("button", { type: "button", disabled: !gen.lastBox, onClick: () => gen.lastBox && runGenerate(gen.lastBox), style: { ...chipStyle(false), opacity: gen.lastBox ? 1 : 0.5 }, children: "\u518D\u751F\u6210" })] }), _jsx("div", { style: { font: "600 11px system-ui", color: "#8a8a88", marginTop: 8 }, children: "\u30AD\u30E3\u30F3\u30D0\u30B9\u3092\u30C9\u30E9\u30C3\u30B0\u3067\u7BC4\u56F2\u751F\u6210" })] })), tool.mode === "team" &&
133
- (() => {
134
- const teamMap = getTeamMap(store);
135
- const teams = teamMap ? Object.entries(teamMap.teams) : [];
136
- const doCreate = () => {
137
- const name = teamName.trim() || `チーム${teams.length + 1}`;
138
- const id = createTeam({ store, commands, tile }, name, teamColor);
139
- teamStateStore.set({ activeTeamId: id });
140
- setTeamName("");
141
- };
142
- return (_jsxs("div", { style: { marginBottom: 12 }, children: [_jsx("div", { style: { font: "600 11px system-ui", color: "#8a8a88", marginBottom: 6 }, children: "\u30C1\u30FC\u30E0" }), _jsxs("div", { style: { display: "flex", flexWrap: "wrap", gap: 6, marginBottom: 8 }, children: [teams.length === 0 && (_jsx("span", { style: { font: "600 11px system-ui", color: "#a6a6a4" }, children: "\u307E\u3060\u30C1\u30FC\u30E0\u304C\u3042\u308A\u307E\u305B\u3093" })), teams.map(([id, info]) => (_jsxs("button", { type: "button", onClick: () => teamStateStore.set({ activeTeamId: id }), style: {
143
- display: "flex",
144
- alignItems: "center",
145
- gap: 5,
146
- border: `2px solid ${teamState.activeTeamId === id ? STROKE : "#d3d5db"}`,
147
- borderRadius: 20,
148
- background: CARD,
149
- padding: "4px 9px",
150
- font: "700 12px system-ui",
151
- cursor: "pointer",
152
- }, children: [_jsx("span", { style: {
153
- width: 11,
154
- height: 11,
155
- borderRadius: "50%",
156
- background: info.color,
157
- flex: "none",
158
- } }), info.name] }, id)))] }), _jsxs("div", { style: { display: "flex", alignItems: "center", gap: 6, marginBottom: 8 }, children: [_jsx("input", { value: teamName, placeholder: "\u65B0\u3057\u3044\u30C1\u30FC\u30E0\u540D", onChange: (e) => setTeamName(e.target.value), onKeyDown: (e) => e.key === "Enter" && doCreate(), style: {
159
- flex: 1,
160
- minWidth: 0,
161
- border: `2px solid ${STROKE}`,
162
- borderRadius: 8,
163
- padding: "4px 6px",
164
- font: "600 12px system-ui",
165
- } }), _jsx("button", { type: "button", onClick: doCreate, style: chipStyle(true), children: "\u4F5C\u6210" })] }), _jsx("div", { style: { display: "flex", flexWrap: "wrap", gap: 5, marginBottom: 10 }, children: TEAM_COLORS.map((col) => (_jsx("button", { type: "button", onClick: () => setTeamColor(col), "aria-label": col, style: {
166
- width: 20,
167
- height: 20,
168
- borderRadius: "50%",
169
- background: col,
170
- border: `2px solid ${teamColor === col ? STROKE : "#fff"}`,
171
- cursor: "pointer",
172
- padding: 0,
173
- } }, col))) }), _jsx("div", { style: { display: "flex", flexWrap: "wrap", gap: 6 }, children: TEAM_MODES.map((m) => (_jsx("button", { type: "button", onClick: () => teamStateStore.set({ mode: m.id }), style: chipStyle(teamState.mode === m.id), children: m.label }, m.id))) }), _jsx("div", { style: { font: "600 11px system-ui", color: "#8a8a88", marginTop: 8 }, children: "\u30C1\u30FC\u30E0\u3092\u9078\u3073\u3001\u5730\u56F3\u3092\u30C9\u30E9\u30C3\u30B0\u3067\u30A8\u30EA\u30A2\u3092\u5857\u308B\uFF08\u5CF6\u306B\u5272\u5F53\u306F\u30AF\u30EA\u30C3\u30AF\uFF09" })] }));
174
- })(), _jsxs("div", { style: { borderTop: `2px dashed ${STROKE}`, paddingTop: 10 }, children: [_jsx("div", { style: { font: "600 11px system-ui", color: "#8a8a88", marginBottom: 6 }, children: "Tweaks" }), _jsxs("div", { style: { display: "flex", flexWrap: "wrap", gap: 6, alignItems: "center" }, children: [_jsx("button", { type: "button", onClick: () => renderConfigStore.set({ colorMode: cfg.colorMode === "color" ? "mono" : "color" }), style: chipStyle(false), children: cfg.colorMode === "color" ? "カラフル" : "モノクロ" }), _jsx("button", { type: "button", onClick: () => renderConfigStore.set({
175
- lineStyle: cfg.lineStyle === "wobble" ? "clean" : "wobble",
176
- }), style: chipStyle(false), children: cfg.lineStyle === "wobble" ? "揺らぎ線" : "クリーン線" }), _jsxs("label", { style: { font: "600 11px system-ui", display: "flex", alignItems: "center", gap: 4 }, children: ["\u7DDA", _jsx("input", { type: "range", min: 0.5, max: 2, step: 0.1, value: cfg.strokeScale, onChange: (e) => renderConfigStore.set({ strokeScale: Number(e.target.value) }), style: { width: 80 } })] })] })] })] }) }));
177
- }
178
- //# sourceMappingURL=palette.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"palette.js","sourceRoot":"","sources":["../../src/ui/palette.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- import type { BoardStore } from "@edv4h/usketch-shared";
2
- export declare function RangeErasePalette({ store }: {
3
- store: BoardStore;
4
- }): import("react").JSX.Element | null;
5
- //# sourceMappingURL=range-erase-palette.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"range-erase-palette.d.ts","sourceRoot":"","sources":["../../src/ui/range-erase-palette.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AA2BxD,wBAAgB,iBAAiB,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,UAAU,CAAA;CAAE,sCA8CjE"}
@@ -1,42 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useEffect, useState } from "react";
3
- import { rangeEraseStore, useRangeEraseTargets } from "../range-erase-state.js";
4
- import { RANGE_ERASE_TOOL_ID } from "../range-erase-tool.js";
5
- const CARD = "#FFFFFF";
6
- const STROKE = "#141414";
7
- function useActiveTool(store) {
8
- const [id, setId] = useState(store.getActiveToolId());
9
- useEffect(() => store.subscribe(() => setId(store.getActiveToolId())), [store]);
10
- return id;
11
- }
12
- function toggle(active) {
13
- return {
14
- border: `2px solid ${STROKE}`,
15
- borderRadius: 10,
16
- background: active ? "#EF5350" : CARD,
17
- color: active ? "#fff" : "#1c1c1c",
18
- padding: "5px 12px",
19
- font: "700 12px system-ui, sans-serif",
20
- cursor: "pointer",
21
- lineHeight: 1,
22
- };
23
- }
24
- export function RangeErasePalette({ store }) {
25
- const activeTool = useActiveTool(store);
26
- const targets = useRangeEraseTargets();
27
- if (activeTool !== RANGE_ERASE_TOOL_ID)
28
- return null;
29
- return (_jsx("div", { style: { position: "absolute", inset: 0, pointerEvents: "none" }, children: _jsxs("div", { style: {
30
- position: "absolute",
31
- left: 14,
32
- top: "50%",
33
- transform: "translateY(-50%)",
34
- pointerEvents: "auto",
35
- background: "#FBF9F4",
36
- border: `2.6px dashed ${STROKE}`,
37
- borderRadius: 16,
38
- padding: 14,
39
- boxShadow: "0 6px 24px rgba(0,0,0,.14)",
40
- }, children: [_jsx("div", { style: { font: "700 14px system-ui, sans-serif", marginBottom: 4 }, children: "\uD83E\uDDFD \u7BC4\u56F2\u6D88\u53BB" }), _jsx("div", { style: { font: "600 11px system-ui", color: "#8a8a88", marginBottom: 10 }, children: "\u6D88\u3059\u5BFE\u8C61\u3092\u9078\u629E\uFF08\u30C9\u30E9\u30C3\u30B0\u3067\u7BC4\u56F2\u6307\u5B9A\uFF09" }), _jsxs("div", { style: { display: "flex", gap: 8 }, children: [_jsx("button", { type: "button", "aria-pressed": targets.terrain, onClick: () => rangeEraseStore.set({ terrain: !targets.terrain }), style: toggle(targets.terrain), children: "\u5730\u5F62" }), _jsx("button", { type: "button", "aria-pressed": targets.team, onClick: () => rangeEraseStore.set({ team: !targets.team }), style: toggle(targets.team), children: "\u30C1\u30FC\u30E0" })] })] }) }));
41
- }
42
- //# sourceMappingURL=range-erase-palette.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"range-erase-palette.js","sourceRoot":"","sources":["../../src/ui/range-erase-palette.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D,MAAM,IAAI,GAAG,SAAS,CAAC;AACvB,MAAM,MAAM,GAAG,SAAS,CAAC;AAEzB,SAAS,aAAa,CAAC,KAAiB;IACvC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC;IACtD,SAAS,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAChF,OAAO,EAAE,CAAC;AACX,CAAC;AAED,SAAS,MAAM,CAAC,MAAe;IAC9B,OAAO;QACN,MAAM,EAAE,aAAa,MAAM,EAAE;QAC7B,YAAY,EAAE,EAAE;QAChB,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI;QACrC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;QAClC,OAAO,EAAE,UAAU;QACnB,IAAI,EAAE,gCAAgC;QACtC,MAAM,EAAE,SAAS;QACjB,UAAU,EAAE,CAAC;KACb,CAAC;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,EAAE,KAAK,EAAyB;IACjE,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,oBAAoB,EAAE,CAAC;IACvC,IAAI,UAAU,KAAK,mBAAmB;QAAE,OAAO,IAAI,CAAC;IAEpD,OAAO,CACN,cAAK,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,YACpE,eACC,KAAK,EAAE;gBACN,QAAQ,EAAE,UAAU;gBACpB,IAAI,EAAE,EAAE;gBACR,GAAG,EAAE,KAAK;gBACV,SAAS,EAAE,kBAAkB;gBAC7B,aAAa,EAAE,MAAM;gBACrB,UAAU,EAAE,SAAS;gBACrB,MAAM,EAAE,gBAAgB,MAAM,EAAE;gBAChC,YAAY,EAAE,EAAE;gBAChB,OAAO,EAAE,EAAE;gBACX,SAAS,EAAE,4BAA4B;aACvC,aAED,cAAK,KAAK,EAAE,EAAE,IAAI,EAAE,gCAAgC,EAAE,YAAY,EAAE,CAAC,EAAE,sDAAe,EACtF,cAAK,KAAK,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,EAAE,EAAE,6HAExE,EACN,eAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,aACtC,iBACC,IAAI,EAAC,QAAQ,kBACC,OAAO,CAAC,OAAO,EAC7B,OAAO,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,EACjE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,6BAGtB,EACT,iBACC,IAAI,EAAC,QAAQ,kBACC,OAAO,CAAC,IAAI,EAC1B,OAAO,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,EAC3D,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,mCAGnB,IACJ,IACD,GACD,CACN,CAAC;AACH,CAAC"}
File without changes