@industry-theme/repository-composition-panels 0.6.27 → 0.6.29

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 (32) hide show
  1. package/dist/{BufferResource-C47OKi0O.js → BufferResource-YswoFLTX.js} +2 -2
  2. package/dist/{BufferResource-C47OKi0O.js.map → BufferResource-YswoFLTX.js.map} +1 -1
  3. package/dist/{CanvasRenderer-DhUZFLbi.js → CanvasRenderer-DiE9xoC1.js} +3 -3
  4. package/dist/{CanvasRenderer-DhUZFLbi.js.map → CanvasRenderer-DiE9xoC1.js.map} +1 -1
  5. package/dist/{Filter-noYxQPld.js → Filter-BDSWHfT_.js} +2 -2
  6. package/dist/{Filter-noYxQPld.js.map → Filter-BDSWHfT_.js.map} +1 -1
  7. package/dist/{RenderTargetSystem-CMsce37q.js → RenderTargetSystem-siAGRAs8.js} +3 -3
  8. package/dist/{RenderTargetSystem-CMsce37q.js.map → RenderTargetSystem-siAGRAs8.js.map} +1 -1
  9. package/dist/{WebGLRenderer-DSxUjrMa.js → WebGLRenderer-Bk97mqCL.js} +4 -4
  10. package/dist/{WebGLRenderer-DSxUjrMa.js.map → WebGLRenderer-Bk97mqCL.js.map} +1 -1
  11. package/dist/{WebGPURenderer-tD3JsvvF.js → WebGPURenderer-CSx7jyoo.js} +4 -4
  12. package/dist/{WebGPURenderer-tD3JsvvF.js.map → WebGPURenderer-CSx7jyoo.js.map} +1 -1
  13. package/dist/{browserAll-DxhH90WQ.js → browserAll-pibszWlK.js} +3 -3
  14. package/dist/{browserAll-DxhH90WQ.js.map → browserAll-pibszWlK.js.map} +1 -1
  15. package/dist/{index-Bpxci5n3.js → index-D7jhhj0e.js} +89 -8
  16. package/dist/{index-Bpxci5n3.js.map → index-D7jhhj0e.js.map} +1 -1
  17. package/dist/{init-BpPH8764.js → init-BzMZo9gP.js} +3 -3
  18. package/dist/{init-BpPH8764.js.map → init-BzMZo9gP.js.map} +1 -1
  19. package/dist/panels/CollectionMapPanel.d.ts +10 -4
  20. package/dist/panels/CollectionMapPanel.d.ts.map +1 -1
  21. package/dist/panels/overworld-map/OverworldMapPanel.d.ts +8 -2
  22. package/dist/panels/overworld-map/OverworldMapPanel.d.ts.map +1 -1
  23. package/dist/panels/overworld-map/components/IsometricInteractionManager.d.ts +12 -1
  24. package/dist/panels/overworld-map/components/IsometricInteractionManager.d.ts.map +1 -1
  25. package/dist/panels/overworld-map/components/IsometricRenderer.d.ts +10 -0
  26. package/dist/panels/overworld-map/components/IsometricRenderer.d.ts.map +1 -1
  27. package/dist/panels.bundle.js +1 -1
  28. package/dist/webworkerAll-Cru5_fTr.js +3 -0
  29. package/dist/webworkerAll-Cru5_fTr.js.map +1 -0
  30. package/package.json +1 -1
  31. package/dist/webworkerAll-B32qMs3y.js +0 -3
  32. package/dist/webworkerAll-B32qMs3y.js.map +0 -1
@@ -105943,7 +105943,7 @@ const browserExt = {
105943
105943
  },
105944
105944
  test: () => true,
105945
105945
  load: async () => {
105946
- await import("./browserAll-DxhH90WQ.js");
105946
+ await import("./browserAll-pibszWlK.js");
105947
105947
  }
105948
105948
  };
105949
105949
  const webworkerExt = {
@@ -105954,7 +105954,7 @@ const webworkerExt = {
105954
105954
  },
105955
105955
  test: () => typeof self !== "undefined" && self.WorkerGlobalScope !== void 0,
105956
105956
  load: async () => {
105957
- await import("./webworkerAll-B32qMs3y.js");
105957
+ await import("./webworkerAll-Cru5_fTr.js");
105958
105958
  }
105959
105959
  };
105960
105960
  class ObservablePoint {
@@ -118197,19 +118197,19 @@ async function autoDetectRenderer(options) {
118197
118197
  for (let i2 = 0; i2 < preferredOrder.length; i2++) {
118198
118198
  const rendererType = preferredOrder[i2];
118199
118199
  if (rendererType === "webgpu" && await isWebGPUSupported()) {
118200
- const { WebGPURenderer } = await import("./WebGPURenderer-tD3JsvvF.js");
118200
+ const { WebGPURenderer } = await import("./WebGPURenderer-CSx7jyoo.js");
118201
118201
  RendererClass = WebGPURenderer;
118202
118202
  finalOptions = { ...options, ...options.webgpu };
118203
118203
  break;
118204
118204
  } else if (rendererType === "webgl" && isWebGLSupported(
118205
118205
  options.failIfMajorPerformanceCaveat ?? AbstractRenderer.defaultOptions.failIfMajorPerformanceCaveat
118206
118206
  )) {
118207
- const { WebGLRenderer } = await import("./WebGLRenderer-DSxUjrMa.js");
118207
+ const { WebGLRenderer } = await import("./WebGLRenderer-Bk97mqCL.js");
118208
118208
  RendererClass = WebGLRenderer;
118209
118209
  finalOptions = { ...options, ...options.webgl };
118210
118210
  break;
118211
118211
  } else if (rendererType === "canvas") {
118212
- const { CanvasRenderer } = await import("./CanvasRenderer-DhUZFLbi.js");
118212
+ const { CanvasRenderer } = await import("./CanvasRenderer-DiE9xoC1.js");
118213
118213
  RendererClass = CanvasRenderer;
118214
118214
  finalOptions = { ...options, ...options.canvasOptions };
118215
118215
  break;
@@ -132693,6 +132693,9 @@ class IsometricRenderer {
132693
132693
  constructor(config) {
132694
132694
  this.viewport = config.viewport;
132695
132695
  this.atlas = config.atlas;
132696
+ this.onPackageHover = config.onPackageHover;
132697
+ this.onPackageHoverEnd = config.onPackageHoverEnd;
132698
+ this.onPackageClick = config.onPackageClick;
132696
132699
  this.tileWidth = config.tileWidth ?? ISO_TILE_WIDTH;
132697
132700
  this.tileHeight = config.tileHeight ?? ISO_TILE_HEIGHT;
132698
132701
  this.gridColor = config.gridColor ?? 3355443;
@@ -132751,6 +132754,9 @@ class IsometricRenderer {
132751
132754
  nodes.addChild(instance.weathering);
132752
132755
  }
132753
132756
  nodes.addChild(instance.label);
132757
+ if (instance.hoverLabel) {
132758
+ nodes.addChild(instance.hoverLabel);
132759
+ }
132754
132760
  }
132755
132761
  return {
132756
132762
  background,
@@ -132955,6 +132961,19 @@ class IsometricRenderer {
132955
132961
  positions.push({ x: offsetX, y: offsetY });
132956
132962
  }
132957
132963
  }
132964
+ const hoverLabel = new Text({
132965
+ text: "",
132966
+ style: {
132967
+ fontSize: 10,
132968
+ fill: 8965375,
132969
+ // Light blue to match hover tint
132970
+ fontFamily: "Arial",
132971
+ fontWeight: "500"
132972
+ },
132973
+ resolution: 2
132974
+ });
132975
+ hoverLabel.anchor.set(0.5, 0);
132976
+ hoverLabel.visible = false;
132958
132977
  for (let i2 = 0; i2 < node2.subdivisions.length; i2++) {
132959
132978
  const sub = node2.subdivisions[i2];
132960
132979
  const texture = this.atlas[sub.sprite];
@@ -132978,6 +132997,28 @@ class IsometricRenderer {
132978
132997
  const grayValue = Math.floor((1 - fadeAmount + fadeAmount * 0.6) * 255);
132979
132998
  sprite.tint = grayValue << 16 | grayValue << 8 | grayValue;
132980
132999
  }
133000
+ sprite.eventMode = "static";
133001
+ sprite.cursor = "pointer";
133002
+ const originalTint = sprite.tint;
133003
+ const packageName = sub.name;
133004
+ const nodeId = node2.id;
133005
+ sprite.on("pointerover", () => {
133006
+ var _a;
133007
+ sprite.tint = 8965375;
133008
+ hoverLabel.text = packageName;
133009
+ hoverLabel.visible = true;
133010
+ (_a = this.onPackageHover) == null ? void 0 : _a.call(this, nodeId, packageName);
133011
+ });
133012
+ sprite.on("pointerout", () => {
133013
+ var _a;
133014
+ sprite.tint = originalTint;
133015
+ hoverLabel.visible = false;
133016
+ (_a = this.onPackageHoverEnd) == null ? void 0 : _a.call(this, nodeId, packageName);
133017
+ });
133018
+ sprite.on("pointerdown", () => {
133019
+ var _a;
133020
+ (_a = this.onPackageClick) == null ? void 0 : _a.call(this, nodeId, packageName);
133021
+ });
132981
133022
  container.addChild(sprite);
132982
133023
  if (subCount <= 5) {
132983
133024
  const subLabel = new Text({
@@ -133097,6 +133138,9 @@ class IsometricRenderer {
133097
133138
  label.y = screenY + footprintHeight * 0.6 + 12;
133098
133139
  label.anchor.set(0.5, 0);
133099
133140
  label.zIndex = highlight.zIndex + 0.2;
133141
+ hoverLabel.x = screenX;
133142
+ hoverLabel.y = label.y + 14;
133143
+ hoverLabel.zIndex = label.zIndex + 0.1;
133100
133144
  container.zIndex = highlight.zIndex;
133101
133145
  let weathering;
133102
133146
  if (node2.aging && node2.aging.weatheringLevel > 0.3) {
@@ -133114,6 +133158,7 @@ class IsometricRenderer {
133114
133158
  // Container acts as the sprite
133115
133159
  highlight,
133116
133160
  label,
133161
+ hoverLabel,
133117
133162
  weathering,
133118
133163
  gridPosition: { gridX: node2.gridX, gridY: node2.gridY },
133119
133164
  size: sizeMultiplier,
@@ -133123,6 +133168,8 @@ class IsometricRenderer {
133123
133168
  container.y = pos.screenY;
133124
133169
  label.x = pos.screenX;
133125
133170
  label.y = pos.screenY + footprintHeight * 0.6 + 12;
133171
+ hoverLabel.x = pos.screenX;
133172
+ hoverLabel.y = label.y + 14;
133126
133173
  highlight.clear();
133127
133174
  const hoverSize = 4 * sizeMultiplier;
133128
133175
  const tileWidth = hoverSize * this.tileWidth;
@@ -133147,6 +133194,7 @@ class IsometricRenderer {
133147
133194
  container.destroy({ children: true });
133148
133195
  highlight.destroy();
133149
133196
  label.destroy();
133197
+ hoverLabel.destroy();
133150
133198
  weathering == null ? void 0 : weathering.destroy();
133151
133199
  }
133152
133200
  };
@@ -133335,6 +133383,7 @@ class IsometricInteractionManager {
133335
133383
  this.selectedNodeId = null;
133336
133384
  this.draggingEnabled = true;
133337
133385
  this.mapBounds = null;
133386
+ this.clickConsumedBySprite = false;
133338
133387
  this.hoverColor = 16776960;
133339
133388
  this.onGlobalPointerMove = (event) => {
133340
133389
  var _a, _b;
@@ -133395,6 +133444,25 @@ class IsometricInteractionManager {
133395
133444
  this.events = events;
133396
133445
  this.mapBounds = config.mapBounds || null;
133397
133446
  this.selectedColor = config.selectedColor ?? 3900150;
133447
+ this.setupBackgroundDeselect();
133448
+ }
133449
+ /**
133450
+ * Set up background click handler to deselect when clicking on empty space
133451
+ */
133452
+ setupBackgroundDeselect() {
133453
+ const eventTarget = this.viewport || this.worldContainer;
133454
+ if (!eventTarget) return;
133455
+ eventTarget.eventMode = "static";
133456
+ eventTarget.on("pointerdown", () => {
133457
+ this.clickConsumedBySprite = false;
133458
+ });
133459
+ eventTarget.on("pointerup", () => {
133460
+ var _a, _b;
133461
+ if (!this.clickConsumedBySprite && this.selectedNodeId) {
133462
+ this.setSelected(null);
133463
+ (_b = (_a = this.events).onClick) == null ? void 0 : _b.call(_a, null);
133464
+ }
133465
+ });
133398
133466
  }
133399
133467
  /**
133400
133468
  * Register a sprite for interaction
@@ -133451,6 +133519,7 @@ class IsometricInteractionManager {
133451
133519
  var _a, _b;
133452
133520
  if (!this.draggingEnabled) return;
133453
133521
  event.stopPropagation();
133522
+ this.clickConsumedBySprite = true;
133454
133523
  this.dragState = {
133455
133524
  nodeId,
133456
133525
  instance,
@@ -134536,6 +134605,9 @@ const OverworldMapPanelContent = ({
134536
134605
  onProjectMoved,
134537
134606
  onNodeClicked,
134538
134607
  selectedNodeId,
134608
+ onPackageHover,
134609
+ onPackageHoverEnd,
134610
+ onPackageClick,
134539
134611
  isEditingRegions = false,
134540
134612
  customRegions = [],
134541
134613
  onAddRegion,
@@ -134690,7 +134762,10 @@ const OverworldMapPanelContent = ({
134690
134762
  tileWidth: ISO_TILE_WIDTH$1,
134691
134763
  tileHeight: ISO_TILE_HEIGHT$1,
134692
134764
  gridColor: 3355443,
134693
- regionColor: 16737792
134765
+ regionColor: 16737792,
134766
+ onPackageHover,
134767
+ onPackageHoverEnd,
134768
+ onPackageClick
134694
134769
  });
134695
134770
  rendererRef.current = renderer;
134696
134771
  const scene = renderer.renderScene(mapData, true);
@@ -135484,7 +135559,10 @@ const CollectionMapPanelContent = ({
135484
135559
  regionCallbacks,
135485
135560
  addRepositoryToCollection,
135486
135561
  onRepositoryClicked,
135487
- selectedRepositoryId
135562
+ selectedRepositoryId,
135563
+ onPackageHover,
135564
+ onPackageHoverEnd,
135565
+ onPackageClick
135488
135566
  }) => {
135489
135567
  var _a;
135490
135568
  const customRegions = React2__default.useMemo(
@@ -135979,6 +136057,9 @@ This indicates a sprite was rendered without valid backing data.`
135979
136057
  onProjectMoved: handleProjectMoved,
135980
136058
  onNodeClicked: onRepositoryClicked,
135981
136059
  selectedNodeId: selectedRepositoryId,
136060
+ onPackageHover,
136061
+ onPackageHoverEnd,
136062
+ onPackageClick,
135982
136063
  onViewportReady: handleViewportReady,
135983
136064
  onAddRegion: async (position2) => {
135984
136065
  const order2 = position2.row * 10 + position2.col;
@@ -137242,4 +137323,4 @@ export {
137242
137323
  UPDATE_PRIORITY as y,
137243
137324
  removeItems as z
137244
137325
  };
137245
- //# sourceMappingURL=index-Bpxci5n3.js.map
137326
+ //# sourceMappingURL=index-D7jhhj0e.js.map