@industry-theme/repository-composition-panels 0.7.14 → 0.7.16

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 (147) hide show
  1. package/dist/assets/orchestrators/index.d.ts +28 -0
  2. package/dist/assets/orchestrators/index.d.ts.map +1 -0
  3. package/dist/browserAll-XNN46GKF.js +7 -0
  4. package/dist/browserAll-XNN46GKF.js.map +1 -0
  5. package/dist/{index-pPFTSf2O.js → index-Bt-XsLNt.js} +16092 -689
  6. package/dist/{index-pPFTSf2O.js.map → index-Bt-XsLNt.js.map} +1 -1
  7. package/dist/index.d.ts +35 -0
  8. package/dist/index.d.ts.map +1 -0
  9. package/dist/init-Ccb5WXmw.js +4 -0
  10. package/dist/init-Ccb5WXmw.js.map +1 -0
  11. package/dist/mocks/panelContext.d.ts +24 -0
  12. package/dist/mocks/panelContext.d.ts.map +1 -0
  13. package/dist/panels/CollectionMapPanel.d.ts +132 -0
  14. package/dist/panels/CollectionMapPanel.d.ts.map +1 -0
  15. package/dist/panels/GitChangesPanel.d.ts +48 -0
  16. package/dist/panels/GitChangesPanel.d.ts.map +1 -0
  17. package/dist/panels/PackageCompositionPanel.d.ts +37 -0
  18. package/dist/panels/PackageCompositionPanel.d.ts.map +1 -0
  19. package/dist/panels/SearchPanel.d.ts +33 -0
  20. package/dist/panels/SearchPanel.d.ts.map +1 -0
  21. package/dist/panels/TelemetryCoveragePanel.d.ts +48 -0
  22. package/dist/panels/TelemetryCoveragePanel.d.ts.map +1 -0
  23. package/dist/panels/components/DependencyInfoModal.d.ts +8 -0
  24. package/dist/panels/components/DependencyInfoModal.d.ts.map +1 -0
  25. package/dist/panels/components/DependencyRow.d.ts +8 -0
  26. package/dist/panels/components/DependencyRow.d.ts.map +1 -0
  27. package/dist/panels/components/EmptyDependencies.d.ts +7 -0
  28. package/dist/panels/components/EmptyDependencies.d.ts.map +1 -0
  29. package/dist/panels/components/FilterBar.d.ts +19 -0
  30. package/dist/panels/components/FilterBar.d.ts.map +1 -0
  31. package/dist/panels/components/InheritedConfigIndicator.d.ts +27 -0
  32. package/dist/panels/components/InheritedConfigIndicator.d.ts.map +1 -0
  33. package/dist/panels/components/LensReadinessSection.d.ts +8 -0
  34. package/dist/panels/components/LensReadinessSection.d.ts.map +1 -0
  35. package/dist/panels/components/OrchestratorBadge.d.ts +11 -0
  36. package/dist/panels/components/OrchestratorBadge.d.ts.map +1 -0
  37. package/dist/panels/components/OtherScriptsSection.d.ts +9 -0
  38. package/dist/panels/components/OtherScriptsSection.d.ts.map +1 -0
  39. package/dist/panels/components/PackageDetailCard.d.ts +18 -0
  40. package/dist/panels/components/PackageDetailCard.d.ts.map +1 -0
  41. package/dist/panels/components/PackageLoadingGraph.d.ts +3 -0
  42. package/dist/panels/components/PackageLoadingGraph.d.ts.map +1 -0
  43. package/dist/panels/components/PackageManagerIcon.d.ts +10 -0
  44. package/dist/panels/components/PackageManagerIcon.d.ts.map +1 -0
  45. package/dist/panels/components/PackageSummaryCard.d.ts +10 -0
  46. package/dist/panels/components/PackageSummaryCard.d.ts.map +1 -0
  47. package/dist/panels/components/index.d.ts +11 -0
  48. package/dist/panels/components/index.d.ts.map +1 -0
  49. package/dist/panels/dependency-graph/DependencyGraphPanel.d.ts +20 -0
  50. package/dist/panels/dependency-graph/DependencyGraphPanel.d.ts.map +1 -0
  51. package/dist/panels/dependency-graph/dependencyToCanvas.d.ts +20 -0
  52. package/dist/panels/dependency-graph/dependencyToCanvas.d.ts.map +1 -0
  53. package/dist/panels/dependency-graph/forceLayout.d.ts +38 -0
  54. package/dist/panels/dependency-graph/forceLayout.d.ts.map +1 -0
  55. package/dist/panels/dependency-graph/index.d.ts +5 -0
  56. package/dist/panels/dependency-graph/index.d.ts.map +1 -0
  57. package/dist/panels/overworld-map/BuildingSizeTest.d.ts +11 -0
  58. package/dist/panels/overworld-map/BuildingSizeTest.d.ts.map +1 -0
  59. package/dist/panels/overworld-map/LayoutEngineTest.d.ts +24 -0
  60. package/dist/panels/overworld-map/LayoutEngineTest.d.ts.map +1 -0
  61. package/dist/panels/overworld-map/LicenseSignTest.d.ts +7 -0
  62. package/dist/panels/overworld-map/LicenseSignTest.d.ts.map +1 -0
  63. package/dist/panels/overworld-map/OverworldMapPanel.d.ts +62 -0
  64. package/dist/panels/overworld-map/OverworldMapPanel.d.ts.map +1 -0
  65. package/dist/panels/overworld-map/PackageExpansionTest.d.ts +25 -0
  66. package/dist/panels/overworld-map/PackageExpansionTest.d.ts.map +1 -0
  67. package/dist/panels/overworld-map/RegionEditingTest.d.ts +10 -0
  68. package/dist/panels/overworld-map/RegionEditingTest.d.ts.map +1 -0
  69. package/dist/panels/overworld-map/collaboratorDecoration.d.ts +38 -0
  70. package/dist/panels/overworld-map/collaboratorDecoration.d.ts.map +1 -0
  71. package/dist/panels/overworld-map/components/IsometricInteractionManager.d.ts +159 -0
  72. package/dist/panels/overworld-map/components/IsometricInteractionManager.d.ts.map +1 -0
  73. package/dist/panels/overworld-map/components/IsometricPathManager.d.ts +50 -0
  74. package/dist/panels/overworld-map/components/IsometricPathManager.d.ts.map +1 -0
  75. package/dist/panels/overworld-map/components/IsometricPixiCanvas.d.ts +88 -0
  76. package/dist/panels/overworld-map/components/IsometricPixiCanvas.d.ts.map +1 -0
  77. package/dist/panels/overworld-map/components/IsometricRenderer.d.ts +141 -0
  78. package/dist/panels/overworld-map/components/IsometricRenderer.d.ts.map +1 -0
  79. package/dist/panels/overworld-map/components/RegionTracker.d.ts +62 -0
  80. package/dist/panels/overworld-map/components/RegionTracker.d.ts.map +1 -0
  81. package/dist/panels/overworld-map/components/RepoSprite.d.ts +47 -0
  82. package/dist/panels/overworld-map/components/RepoSprite.d.ts.map +1 -0
  83. package/dist/panels/overworld-map/components/buildingSpriteGenerator.d.ts +19 -0
  84. package/dist/panels/overworld-map/components/buildingSpriteGenerator.d.ts.map +1 -0
  85. package/dist/panels/overworld-map/components/collaboratorDecorationSprites.d.ts +25 -0
  86. package/dist/panels/overworld-map/components/collaboratorDecorationSprites.d.ts.map +1 -0
  87. package/dist/panels/overworld-map/components/licenseSignSprites.d.ts +122 -0
  88. package/dist/panels/overworld-map/components/licenseSignSprites.d.ts.map +1 -0
  89. package/dist/panels/overworld-map/components/starDecorationSprites.d.ts +18 -0
  90. package/dist/panels/overworld-map/components/starDecorationSprites.d.ts.map +1 -0
  91. package/dist/panels/overworld-map/genericMapper.d.ts +81 -0
  92. package/dist/panels/overworld-map/genericMapper.d.ts.map +1 -0
  93. package/dist/panels/overworld-map/index.d.ts +13 -0
  94. package/dist/panels/overworld-map/index.d.ts.map +1 -0
  95. package/dist/panels/overworld-map/isometricUtils.d.ts +150 -0
  96. package/dist/panels/overworld-map/isometricUtils.d.ts.map +1 -0
  97. package/dist/panels/overworld-map/packageExpansion.d.ts +15 -0
  98. package/dist/panels/overworld-map/packageExpansion.d.ts.map +1 -0
  99. package/dist/panels/overworld-map/spriteLayoutEngine.d.ts +103 -0
  100. package/dist/panels/overworld-map/spriteLayoutEngine.d.ts.map +1 -0
  101. package/dist/panels/overworld-map/starDecoration.d.ts +37 -0
  102. package/dist/panels/overworld-map/starDecoration.d.ts.map +1 -0
  103. package/dist/panels/overworld-map/test-setup.d.ts +6 -0
  104. package/dist/panels/overworld-map/test-setup.d.ts.map +1 -0
  105. package/dist/panels/overworld-map/types.d.ts +228 -0
  106. package/dist/panels/overworld-map/types.d.ts.map +1 -0
  107. package/dist/panels.bundle.js +32 -31
  108. package/dist/services/LocalSearchService.d.ts +70 -0
  109. package/dist/services/LocalSearchService.d.ts.map +1 -0
  110. package/dist/tools/index.d.ts +32 -0
  111. package/dist/tools/index.d.ts.map +1 -0
  112. package/dist/tools.bundle.js +106 -0
  113. package/dist/types/composition.d.ts +22 -0
  114. package/dist/types/composition.d.ts.map +1 -0
  115. package/dist/types/dependencies.d.ts +26 -0
  116. package/dist/types/dependencies.d.ts.map +1 -0
  117. package/dist/types/index.d.ts +94 -0
  118. package/dist/types/index.d.ts.map +1 -0
  119. package/dist/utils/envParser.d.ts +29 -0
  120. package/dist/utils/envParser.d.ts.map +1 -0
  121. package/dist/utils/licenseColors.d.ts +13 -0
  122. package/dist/utils/licenseColors.d.ts.map +1 -0
  123. package/dist/utils/repositoryAging.d.ts +26 -0
  124. package/dist/utils/repositoryAging.d.ts.map +1 -0
  125. package/dist/utils/repositoryScaling.d.ts +40 -0
  126. package/dist/utils/repositoryScaling.d.ts.map +1 -0
  127. package/dist/webworkerAll-Ez5pUZRt.js +3 -0
  128. package/dist/webworkerAll-Ez5pUZRt.js.map +1 -0
  129. package/package.json +1 -1
  130. package/dist/BufferResource-DME1VWVJ.js +0 -593
  131. package/dist/BufferResource-DME1VWVJ.js.map +0 -1
  132. package/dist/CanvasRenderer-Md8Ayshs.js +0 -1525
  133. package/dist/CanvasRenderer-Md8Ayshs.js.map +0 -1
  134. package/dist/Filter-Bi2t_gmW.js +0 -81
  135. package/dist/Filter-Bi2t_gmW.js.map +0 -1
  136. package/dist/RenderTargetSystem-D98tiHim.js +0 -3046
  137. package/dist/RenderTargetSystem-D98tiHim.js.map +0 -1
  138. package/dist/WebGLRenderer-2YtxQhbh.js +0 -3884
  139. package/dist/WebGLRenderer-2YtxQhbh.js.map +0 -1
  140. package/dist/WebGPURenderer-kS6gO2Xc.js +0 -2142
  141. package/dist/WebGPURenderer-kS6gO2Xc.js.map +0 -1
  142. package/dist/browserAll-TZZf5l7B.js +0 -2687
  143. package/dist/browserAll-TZZf5l7B.js.map +0 -1
  144. package/dist/init-CfSmqCnm.js +0 -670
  145. package/dist/init-CfSmqCnm.js.map +0 -1
  146. package/dist/webworkerAll-TcJuZTza.js +0 -3
  147. package/dist/webworkerAll-TcJuZTza.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IsometricPixiCanvas.d.ts","sourceRoot":"","sources":["../../../../src/panels/overworld-map/components/IsometricPixiCanvas.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAM,WAAW,yBAAyB;IACxC,SAAS,EAAE,WAAW,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,yBAAyB;IACxC,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAClC;AAUD,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,IAAI,CAA4B;IACxC,OAAO,CAAC,SAAS,CAAyB;IAC1C,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,gBAAgB,CAAuB;gBAEnC,MAAM,EAAE,yBAAyB,EAAE,MAAM,GAAE,yBAA8B;IAKrF;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC;QAAE,GAAG,EAAE,WAAW,CAAC;QAAC,QAAQ,EAAE,QAAQ,CAAA;KAAE,CAAC;IAuD/D;;OAEG;IACH,IAAI,GAAG,IAAI,WAAW,CAKrB;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,QAAQ,CAKvB;IAED;;OAEG;IACH,IAAI,MAAM,IAAI,iBAAiB,CAE9B;IAED;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAgB3B;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAU3C;;OAEG;IACH,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,UAAQ,GAAG,IAAI;IAazD;;;OAGG;IACG,SAAS,CACb,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,QAAQ,SAAM,EACd,MAAM,GAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAqB,GAC3C,OAAO,CAAC,IAAI,CAAC;IAsChB;;;OAGG;IACH,WAAW,CACT,MAAM,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAC/D,OAAO,SAAK,GACX,IAAI;IAoBP;;OAEG;IACH,OAAO,IAAI,IAAI;CAyBhB"}
@@ -0,0 +1,141 @@
1
+ /**
2
+ * IsometricRenderer - Unified rendering for all map elements
3
+ *
4
+ * This component handles:
5
+ * - Grid rendering with region boundaries
6
+ * - Terrain tile rendering with z-index sorting
7
+ * - Path rendering with arrows and styling
8
+ * - Sprite rendering with scaling, aging, and weathering effects
9
+ * - Dynamic updates for dragging
10
+ */
11
+ import { Container, Graphics, Sprite, Text, Texture } from 'pixi.js';
12
+ import type { Viewport } from 'pixi-viewport';
13
+ import type { OverworldMap, Tile, PathConnection, LocationNode, GridPoint } from '../types';
14
+ export interface SpriteInstance {
15
+ sprite: Sprite;
16
+ highlight: Graphics;
17
+ label: Text;
18
+ hoverLabel?: Text;
19
+ weathering?: Graphics;
20
+ licenseGround?: Graphics | Container;
21
+ licenseSign?: Container;
22
+ ownerAvatar?: Container;
23
+ starDecoration?: Container;
24
+ collaboratorDecoration?: Container;
25
+ gridPosition: {
26
+ gridX: number;
27
+ gridY: number;
28
+ };
29
+ size: number;
30
+ spriteKey: string;
31
+ update(gridX: number, gridY: number): void;
32
+ destroy(): void;
33
+ }
34
+ export interface SceneContainers {
35
+ background: Container;
36
+ tiles: Container;
37
+ licenseGrounds: Container;
38
+ bridges: Container;
39
+ paths: Container;
40
+ nodes: Container;
41
+ spriteInstances: Map<string, SpriteInstance>;
42
+ pathGraphics: Map<string, Graphics>;
43
+ }
44
+ export interface IsometricRendererConfig {
45
+ viewport: Viewport;
46
+ atlas: Record<string, Texture>;
47
+ tileWidth?: number;
48
+ tileHeight?: number;
49
+ gridColor?: number;
50
+ regionColor?: number;
51
+ /** Callback when hovering over a package within a monorepo */
52
+ onPackageHover?: (nodeId: string, packageName: string) => void;
53
+ /** Callback when hover ends on a package within a monorepo */
54
+ onPackageHoverEnd?: (nodeId: string, packageName: string) => void;
55
+ /** Callback when clicking on a package within a monorepo */
56
+ onPackageClick?: (nodeId: string, packageName: string) => void;
57
+ }
58
+ export declare class IsometricRenderer {
59
+ private viewport;
60
+ private atlas;
61
+ private tileWidth;
62
+ private tileHeight;
63
+ private gridColor;
64
+ private regionColor;
65
+ private onPackageHover?;
66
+ private onPackageHoverEnd?;
67
+ private onPackageClick?;
68
+ constructor(config: IsometricRendererConfig);
69
+ /**
70
+ * Add a texture to the atlas
71
+ */
72
+ addTexture(key: string, texture: Texture): void;
73
+ /**
74
+ * Check if a texture exists in the atlas
75
+ */
76
+ hasTexture(key: string): boolean;
77
+ /**
78
+ * Get all texture keys in the atlas
79
+ */
80
+ getTextureKeys(): string[];
81
+ /**
82
+ * Main rendering method - creates all scene elements
83
+ */
84
+ renderScene(mapData: OverworldMap, showGrid?: boolean): SceneContainers;
85
+ /**
86
+ * Render isometric grid with region boundaries
87
+ * Only draws grid cells for existing regions (not the entire world)
88
+ */
89
+ renderGrid(gridWidth: number, gridHeight: number, regions: OverworldMap['regions']): Graphics;
90
+ /**
91
+ * Render terrain tiles with z-index sorting
92
+ * Extracted from OverworldMapPanel.tsx lines 223-393
93
+ */
94
+ renderTerrain(tiles: Tile[]): Container;
95
+ /**
96
+ * Render paths with arrows and styling
97
+ * Extracted from OverworldMapPanel.tsx lines 395-455
98
+ */
99
+ renderPaths(paths: PathConnection[], nodePositions: Map<string, GridPoint>): Map<string, Graphics>;
100
+ /**
101
+ * Draw a path between two points
102
+ * @param graphics Graphics object to draw on
103
+ * @param fromPos Starting grid position
104
+ * @param toPos Ending grid position
105
+ * @param isDev Whether this is a dev dependency
106
+ */
107
+ private drawPath;
108
+ /**
109
+ * Render a node with multiple sub-packages as a grouped cluster
110
+ */
111
+ private renderSubdividedNode;
112
+ /**
113
+ * Render sprites with scaling, aging, and weathering effects
114
+ * Extracted from OverworldMapPanel.tsx lines 457-507
115
+ */
116
+ renderSprites(nodes: LocationNode[]): Map<string, SpriteInstance>;
117
+ /**
118
+ * Create highlight boundary for a sprite
119
+ * Extracted from IsometricGridTest.tsx lines 144-158
120
+ */
121
+ private createHighlight;
122
+ /**
123
+ * Create weathering overlay for aged sprites
124
+ * Extracted from OverworldMapPanel.tsx lines 478-498
125
+ */
126
+ private createWeathering;
127
+ /**
128
+ * Update a path between two positions
129
+ * Used during sprite dragging
130
+ */
131
+ updatePath(pathGraphics: Graphics, fromPos: GridPoint, toPos: GridPoint): void;
132
+ /**
133
+ * Update sprite position
134
+ */
135
+ updateSpritePosition(instance: SpriteInstance, gridX: number, gridY: number): void;
136
+ /**
137
+ * Cleanup resources
138
+ */
139
+ destroy(): void;
140
+ }
141
+ //# sourceMappingURL=IsometricRenderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IsometricRenderer.d.ts","sourceRoot":"","sources":["../../../../src/panels/overworld-map/components/IsometricRenderer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * RegionTracker - Tracks current region from viewport position
3
+ *
4
+ * This helper class handles:
5
+ * - Region detection from viewport position
6
+ * - Change detection with callback
7
+ * - Skip animation flag for user-initiated drags
8
+ */
9
+ import type { MapRegion } from '../types';
10
+ export type RegionChangeCallback = (region: MapRegion | null, skipAnimation: boolean) => void;
11
+ export declare class RegionTracker {
12
+ private regions;
13
+ private regionSize;
14
+ private currentRegion;
15
+ private changeCallback;
16
+ constructor(regions: MapRegion[], regionSize: number);
17
+ /**
18
+ * Get region at viewport center
19
+ * Extracted from OverworldMapPanel.tsx lines 148-182
20
+ */
21
+ getCurrentRegion(viewportCenterX: number, viewportCenterY: number): MapRegion | null;
22
+ /**
23
+ * Track viewport position and emit change events
24
+ * @param viewportCenterX Current viewport center X
25
+ * @param viewportCenterY Current viewport center Y
26
+ * @param skipAnimation Whether to skip animation (e.g., during user drag)
27
+ */
28
+ trackPosition(viewportCenterX: number, viewportCenterY: number, skipAnimation?: boolean): void;
29
+ /**
30
+ * Register callback for region changes
31
+ */
32
+ onRegionChange(callback: RegionChangeCallback): void;
33
+ /**
34
+ * Update region list (for dynamic maps)
35
+ */
36
+ updateRegions(regions: MapRegion[]): void;
37
+ /**
38
+ * Get the current region (read-only)
39
+ */
40
+ get current(): MapRegion | null;
41
+ /**
42
+ * Get all regions (read-only)
43
+ */
44
+ getAllRegions(): MapRegion[];
45
+ /**
46
+ * Find region by ID
47
+ */
48
+ findRegionById(id: string): MapRegion | null;
49
+ /**
50
+ * Get next region (for navigation)
51
+ */
52
+ getNextRegion(): MapRegion | null;
53
+ /**
54
+ * Get previous region (for navigation)
55
+ */
56
+ getPreviousRegion(): MapRegion | null;
57
+ /**
58
+ * Cleanup resources
59
+ */
60
+ destroy(): void;
61
+ }
62
+ //# sourceMappingURL=RegionTracker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RegionTracker.d.ts","sourceRoot":"","sources":["../../../../src/panels/overworld-map/components/RegionTracker.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C,MAAM,MAAM,oBAAoB,GAAG,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,EAAE,aAAa,EAAE,OAAO,KAAK,IAAI,CAAC;AAE9F,qBAAa,aAAa;IACxB,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,aAAa,CAA0B;IAC/C,OAAO,CAAC,cAAc,CAAqC;gBAE/C,OAAO,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM;IAKpD;;;OAGG;IACH,gBAAgB,CAAC,eAAe,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAiBpF;;;;;OAKG;IACH,aAAa,CACX,eAAe,EAAE,MAAM,EACvB,eAAe,EAAE,MAAM,EACvB,aAAa,UAAQ,GACpB,IAAI;IAcP;;OAEG;IACH,cAAc,CAAC,QAAQ,EAAE,oBAAoB,GAAG,IAAI;IAIpD;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,IAAI;IAYzC;;OAEG;IACH,IAAI,OAAO,IAAI,SAAS,GAAG,IAAI,CAE9B;IAED;;OAEG;IACH,aAAa,IAAI,SAAS,EAAE;IAI5B;;OAEG;IACH,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAI5C;;OAEG;IACH,aAAa,IAAI,SAAS,GAAG,IAAI;IAUjC;;OAEG;IACH,iBAAiB,IAAI,SAAS,GAAG,IAAI;IAUrC;;OAEG;IACH,OAAO,IAAI,IAAI;CAKhB"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * RepoSprite - Standalone component for rendering a single repository sprite
3
+ * Uses the same rendering logic as the overworld map for visual consistency
4
+ */
5
+ import React from 'react';
6
+ /** Display variant for the sprite */
7
+ export type RepoSpriteVariant = 'default' | 'card';
8
+ /** Package definition for monorepos */
9
+ export interface RepoSpritePackage {
10
+ name: string;
11
+ color?: number | string;
12
+ size?: number;
13
+ }
14
+ export interface RepoSpriteProps {
15
+ /** Size multiplier (1.0 - 4.0) */
16
+ size?: number;
17
+ /** Building color as hex number (e.g., 0xd2691e) or hex string (e.g., "#d2691e") - used for single package */
18
+ color?: number | string;
19
+ /** Packages for monorepo (renders multiple buildings) */
20
+ packages?: RepoSpritePackage[];
21
+ /** Number of files in the repository */
22
+ files?: number;
23
+ /** GitHub star count for decoration tier */
24
+ stars?: number;
25
+ /** Collaborator count for decoration tier */
26
+ collaborators?: number;
27
+ /** SPDX license identifier (e.g., 'MIT', 'Apache-2.0', 'GPL-3.0') */
28
+ license?: string;
29
+ /** Repository/package name (shown on license sign and card) */
30
+ label?: string;
31
+ /** Display variant: 'default' | 'card' */
32
+ variant?: RepoSpriteVariant;
33
+ /** Width of the canvas */
34
+ width?: number;
35
+ /** Height of the canvas */
36
+ height?: number;
37
+ /** Background color (transparent if not set) */
38
+ backgroundColor?: number;
39
+ /** Show the isometric diamond boundary */
40
+ showBoundary?: boolean;
41
+ /** Boundary color (default: yellow) */
42
+ boundaryColor?: number;
43
+ /** Show debug outline */
44
+ debug?: boolean;
45
+ }
46
+ export declare const RepoSprite: React.FC<RepoSpriteProps>;
47
+ //# sourceMappingURL=RepoSprite.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RepoSprite.d.ts","sourceRoot":"","sources":["../../../../src/panels/overworld-map/components/RepoSprite.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAA4B,MAAM,OAAO,CAAC;AA8BjD,qCAAqC;AACrC,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,MAAM,CAAC;AAEnD,uCAAuC;AACvC,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,kCAAkC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8GAA8G;IAC9G,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,yDAAyD;IACzD,QAAQ,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC/B,wCAAwC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4CAA4C;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6CAA6C;IAC7C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qEAAqE;IACrE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+DAA+D;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0CAA0C;IAC1C,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,0BAA0B;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2BAA2B;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gDAAgD;IAChD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,0CAA0C;IAC1C,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,uCAAuC;IACvC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,yBAAyB;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AA6ED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA6ZhD,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Building Sprite Generator
3
+ * Creates isometric building sprites for repository visualization
4
+ * Note: Star and collaborator decorations are handled separately in IsometricRenderer
5
+ */
6
+ import { Graphics } from 'pixi.js';
7
+ export interface BuildingSpriteConfig {
8
+ size: number;
9
+ color?: number;
10
+ }
11
+ /**
12
+ * Generate a simple isometric building sprite
13
+ * Based on the cuboid building from IsometricGridTest
14
+ *
15
+ * @param config Building configuration
16
+ * @returns Graphics object ready for texture generation
17
+ */
18
+ export declare function generateBuildingSprite(config: BuildingSpriteConfig): Graphics;
19
+ //# sourceMappingURL=buildingSpriteGenerator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildingSpriteGenerator.d.ts","sourceRoot":"","sources":["../../../../src/panels/overworld-map/components/buildingSpriteGenerator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnC,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,oBAAoB,GAAG,QAAQ,CA+E7E"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Collaborator Decoration Sprites
3
+ * Pixel art generators for community space decorations
4
+ */
5
+ import { Graphics } from 'pixi.js';
6
+ /**
7
+ * Generate a simple bench sprite (1-10 collaborators)
8
+ */
9
+ export declare function generateBenchSprite(color: number): Graphics;
10
+ /**
11
+ * Generate a pavilion sprite (11-50 collaborators)
12
+ * Simple covered structure with posts
13
+ */
14
+ export declare function generatePavilionSprite(color: number): Graphics;
15
+ /**
16
+ * Generate a gazebo sprite (51-250 collaborators)
17
+ * Octagonal structure with detailed roof
18
+ */
19
+ export declare function generateGazeboSprite(color: number): Graphics;
20
+ /**
21
+ * Generate a bandstand sprite (251+ collaborators)
22
+ * Large performance structure
23
+ */
24
+ export declare function generateBandstandSprite(color: number): Graphics;
25
+ //# sourceMappingURL=collaboratorDecorationSprites.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collaboratorDecorationSprites.d.ts","sourceRoot":"","sources":["../../../../src/panels/overworld-map/components/collaboratorDecorationSprites.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnC;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,CAwB3D;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,CAoC9D;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,CAuD5D;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,CA+D/D"}
@@ -0,0 +1,122 @@
1
+ /**
2
+ * License Sign Sprite Generators
3
+ * Creates pixel art sign/archway sprites to display repository names
4
+ * with visual treatment based on license type
5
+ *
6
+ * Dimensions are based on the footprint formula from IsometricRenderer:
7
+ * - footprintTiles = 4 * sizeMultiplier
8
+ * - footprintWidth = (footprintTiles * TILE_WIDTH) / 2 (TILE_WIDTH = 64)
9
+ * - footprintHeight = (footprintTiles * TILE_HEIGHT) / 2 (TILE_HEIGHT = 32)
10
+ *
11
+ * For size 1.0: tiles = 4, width = 128px (half), height = 64px (half)
12
+ * Full diamond footprint is 256px wide × 128px tall
13
+ */
14
+ import { Graphics, Container } from 'pixi.js';
15
+ /**
16
+ * Calculate footprint dimensions from size multiplier
17
+ * Matches the formula in IsometricRenderer.ts:405-407
18
+ *
19
+ * @returns tiles - Total tiles across (e.g., 4 for size 1.0)
20
+ * @returns width - Half-width in pixels (center to edge), use for positioning
21
+ * @returns height - Half-height in pixels (center to edge), use for positioning
22
+ *
23
+ * Example for size 1.0:
24
+ * tiles = 4, width = 128px, height = 64px
25
+ * Full diamond is 256px wide × 128px tall
26
+ */
27
+ export declare function calculateFootprint(sizeMultiplier: number): {
28
+ tiles: number;
29
+ width: number;
30
+ height: number;
31
+ };
32
+ export interface LicenseSignConfig {
33
+ /** Repository name to display */
34
+ name: string;
35
+ /** Size multiplier matching the building (1.0 - 4.0) */
36
+ sizeMultiplier: number;
37
+ /** Optional: override arch width (defaults to 50% of footprint width) */
38
+ archWidth?: number;
39
+ }
40
+ /**
41
+ * Generate a MIT license sign - wooden flower arch
42
+ * Welcoming, open feel with climbing flowers and vines
43
+ *
44
+ * The arch is positioned to span the front edge of the diamond footprint,
45
+ * with posts at 25% from the bottom corner on each side.
46
+ *
47
+ * @returns Container with origin at (0, 0) - caller should position at
48
+ * (screenX, screenY + footprint.height * 0.75) to align with diamond
49
+ */
50
+ export declare function generateMITFlowerArch(config: LicenseSignConfig): Container;
51
+ /**
52
+ * Generate open grass ground treatment (for permissive licenses)
53
+ * Returns a graphics object to render beneath the building
54
+ * Dimensions match the building's footprint (highlight area)
55
+ */
56
+ export declare function generateOpenGrassGround(sizeMultiplier: number): Graphics;
57
+ /**
58
+ * Generate an Apache 2.0 license sign - two posts with shield emblem in center
59
+ * More formal/official feel than MIT, but still welcoming
60
+ * Features a shield emblem with a feather (Apache logo reference)
61
+ * Same width as MIT sign (spans 25% from bottom corner on each side)
62
+ */
63
+ export declare function generateApacheSign(config: LicenseSignConfig): Container;
64
+ /**
65
+ * Generate a GPL license sign - iron/wrought iron arch
66
+ * More formal and sturdy looking, represents "freedom with responsibility"
67
+ * Features dark iron posts and a flag with GPL text
68
+ */
69
+ export declare function generateGPLSign(config: LicenseSignConfig): Container;
70
+ /**
71
+ * Generate picket fence ground treatment (for GPL license)
72
+ * Grass with a white picket fence around the perimeter
73
+ * Represents "open but with clear boundaries/rules"
74
+ */
75
+ export declare function generatePicketFenceGround(sizeMultiplier: number): Graphics;
76
+ /**
77
+ * Generate cobblestone path ground treatment (for Apache license)
78
+ * Grass with a cobblestone path leading to the building - welcoming but defined
79
+ */
80
+ export declare function generateCobblestoneGround(sizeMultiplier: number): Graphics;
81
+ /**
82
+ * License type enum for future expansion
83
+ */
84
+ export type LicenseType = 'MIT' | 'BSD' | 'ISC' | 'Apache-2.0' | 'GPL-3.0' | 'LGPL-3.0' | 'MPL-2.0' | 'Unlicense' | 'Proprietary' | 'Unknown';
85
+ /**
86
+ * Get the appropriate sign generator for a license type
87
+ */
88
+ export declare function generateLicenseSign(license: LicenseType, config: LicenseSignConfig): Container;
89
+ /**
90
+ * Get the appropriate ground treatment for a license type
91
+ */
92
+ export declare function generateLicenseGround(license: LicenseType, sizeMultiplier: number): Graphics;
93
+ /**
94
+ * Configuration for generating a complete licensed building
95
+ */
96
+ export interface LicensedBuildingConfig {
97
+ /** Repository name to display on sign */
98
+ name: string;
99
+ /** Size multiplier (1.0 - 4.0) */
100
+ size: number;
101
+ /** License type */
102
+ license: LicenseType;
103
+ /** Building color (optional) */
104
+ color?: number;
105
+ /** GitHub star count (optional) */
106
+ stars?: number;
107
+ /** Contributor count (optional) */
108
+ collaborators?: number;
109
+ }
110
+ /**
111
+ * Generate a complete licensed building with ground treatment and sign
112
+ * All elements are combined into a single Container that moves together
113
+ *
114
+ * The container is positioned with origin at (0, 0) which corresponds to
115
+ * the isometric grid position. The ground is centered at origin, the building
116
+ * is positioned at origin (its natural anchor point), and the sign is at the
117
+ * front edge of the diamond.
118
+ *
119
+ * @returns Container with ground, building, and sign as children
120
+ */
121
+ export declare function generateLicensedBuilding(config: LicensedBuildingConfig): Container;
122
+ //# sourceMappingURL=licenseSignSprites.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"licenseSignSprites.d.ts","sourceRoot":"","sources":["../../../../src/panels/overworld-map/components/licenseSignSprites.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,QAAQ,EAAQ,SAAS,EAAE,MAAM,SAAS,CAAC;AAWpD;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG;IAC1D,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAOA;AAyBD,MAAM,WAAW,iBAAiB;IAChC,iCAAiC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,wDAAwD;IACxD,cAAc,EAAE,MAAM,CAAC;IACvB,yEAAyE;IACzE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,iBAAiB,GAAG,SAAS,CAoQ1E;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,cAAc,EAAE,MAAM,GAAG,QAAQ,CA2CxE;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,iBAAiB,GAAG,SAAS,CAoLvE;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,iBAAiB,GAAG,SAAS,CAkNpE;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,cAAc,EAAE,MAAM,GAAG,QAAQ,CAyM1E;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,cAAc,EAAE,MAAM,GAAG,QAAQ,CAwE1E;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,GACnB,KAAK,GACL,KAAK,GACL,KAAK,GACL,YAAY,GACZ,SAAS,GACT,UAAU,GACV,SAAS,GACT,WAAW,GACX,aAAa,GACb,SAAS,CAAC;AAEd;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,iBAAiB,GACxB,SAAS,CAgBX;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,WAAW,EACpB,cAAc,EAAE,MAAM,GACrB,QAAQ,CAeV;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,kCAAkC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,mBAAmB;IACnB,OAAO,EAAE,WAAW,CAAC;IACrB,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mCAAmC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mCAAmC;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,sBAAsB,GAC7B,SAAS,CAiCX"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Star Decoration Sprite Generators
3
+ * Creates pixel art sprites for flags, trophies, and statues based on GitHub stars
4
+ */
5
+ import { Graphics } from 'pixi.js';
6
+ /**
7
+ * Generate a pixel art flag sprite
8
+ */
9
+ export declare function generateFlagSprite(color: number): Graphics;
10
+ /**
11
+ * Generate a pixel art trophy sprite
12
+ */
13
+ export declare function generateTrophySprite(color: number): Graphics;
14
+ /**
15
+ * Generate a pixel art statue sprite
16
+ */
17
+ export declare function generateStatueSprite(color: number): Graphics;
18
+ //# sourceMappingURL=starDecorationSprites.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"starDecorationSprites.d.ts","sourceRoot":"","sources":["../../../../src/panels/overworld-map/components/starDecorationSprites.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnC;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,CAkB1D;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,CAsB5D;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,CA8B5D"}
@@ -0,0 +1,81 @@
1
+ /**
2
+ * Generic mapper for converting any node/edge data to OverworldMap format
3
+ * Use this to create maps for repos, services, or any connected entities
4
+ */
5
+ import type { OverworldMap, OverworldMapCollection, BiomeTheme, LocationNodeType } from './types';
6
+ import type { CustomRegion } from '@principal-ai/alexandria-collections';
7
+ import type { AgingMetrics } from '../../utils/repositoryAging';
8
+ /**
9
+ * Generic node - represents any entity (package, repo, service, etc.)
10
+ */
11
+ export interface PackageInfo {
12
+ name: string;
13
+ size: number;
14
+ language?: string;
15
+ }
16
+ export interface GenericNode {
17
+ id: string;
18
+ name: string;
19
+ isRoot?: boolean;
20
+ category?: string;
21
+ language?: string;
22
+ importance?: number;
23
+ size?: number;
24
+ aging?: AgingMetrics;
25
+ packages?: PackageInfo[];
26
+ stars?: number;
27
+ collaborators?: number;
28
+ license?: string;
29
+ ownerAvatar?: string;
30
+ dependencies?: string[];
31
+ devDependencies?: string[];
32
+ regionId?: string;
33
+ layout?: {
34
+ gridX?: number;
35
+ gridY?: number;
36
+ };
37
+ }
38
+ /**
39
+ * Region layout configuration for multi-region maps
40
+ */
41
+ export interface RegionLayout {
42
+ /** Number of columns in the region grid */
43
+ columns: number;
44
+ /** Number of rows in the region grid */
45
+ rows: number;
46
+ /** Direction to fill regions: 'row-major' (left-to-right, then down) or 'column-major' (top-to-bottom, then right) */
47
+ fillDirection?: 'row-major' | 'column-major';
48
+ }
49
+ /**
50
+ * Options for generic mapping
51
+ */
52
+ export interface GenericMapperOptions {
53
+ includeDevDependencies?: boolean;
54
+ mapPadding?: number;
55
+ customRegions?: CustomRegion[];
56
+ regionLayout?: RegionLayout;
57
+ getCategoryTheme?: (category: string) => BiomeTheme;
58
+ getNodeType?: (node: GenericNode) => LocationNodeType;
59
+ getNodeColor?: (node: GenericNode) => string;
60
+ }
61
+ /**
62
+ * Convert generic nodes to a single OverworldMap
63
+ * Now uses automatic layout engine
64
+ */
65
+ export declare function nodesToOverworldMap(nodes: GenericNode[], options?: GenericMapperOptions): OverworldMap;
66
+ /**
67
+ * Convert generic nodes to unified OverworldMap with automatic layout
68
+ * Uses circle packing algorithm for collision-free placement
69
+ */
70
+ export declare function nodesToUnifiedOverworldMap(nodes: GenericNode[], options?: GenericMapperOptions): OverworldMap;
71
+ /**
72
+ * Convert generic nodes to single-region OverworldMap
73
+ * Uses manual positioning (kept for backward compatibility)
74
+ */
75
+ /**
76
+ * Convert generic nodes to OverworldMapCollection
77
+ * @deprecated Use nodesToUnifiedOverworldMap instead for better UX
78
+ * Automatically splits into multiple maps if too many nodes
79
+ */
80
+ export declare function nodesToOverworldMapCollection(nodes: GenericNode[], options?: GenericMapperOptions): OverworldMapCollection;
81
+ //# sourceMappingURL=genericMapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"genericMapper.d.ts","sourceRoot":"","sources":["../../../src/panels/overworld-map/genericMapper.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,sBAAsB,EAItB,UAAU,EACV,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAEjB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAMhE;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,OAAO,CAAC;IAGjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,YAAY,CAAC;IAGrB,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;IAGzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IAGvB,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,WAAW,CAAC,EAAE,MAAM,CAAC;IAGrB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAG3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAGlB,MAAM,CAAC,EAAE;QACP,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,2CAA2C;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,wCAAwC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,sHAAsH;IACtH,aAAa,CAAC,EAAE,WAAW,GAAG,cAAc,CAAC;CAC9C;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;IAG/B,YAAY,CAAC,EAAE,YAAY,CAAC;IAG5B,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,UAAU,CAAC;IACpD,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,gBAAgB,CAAC;IACtD,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,MAAM,CAAC;CAC9C;AAqKD;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,WAAW,EAAE,EACpB,OAAO,GAAE,oBAAyB,GACjC,YAAY,CAGd;AAqED;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,WAAW,EAAE,EACpB,OAAO,GAAE,oBAAyB,GACjC,YAAY,CAsdd;AAED;;;GAGG;AAEH;;;;GAIG;AACH,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,WAAW,EAAE,EACpB,OAAO,GAAE,oBAAyB,GACjC,sBAAsB,CAgCxB"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Overworld Map Panel - 8-bit dependency visualization
3
+ */
4
+ export { OverworldMapPanelContent, OverworldMapPanelPreview, } from './OverworldMapPanel';
5
+ export type { OverworldMapPanelProps } from './OverworldMapPanel';
6
+ export type { OverworldMap, OverworldMapCollection, MapRegion, LocationNode, PathConnection, Tile, BiomeTheme, LocationNodeType, Camera, GridPoint, } from './types';
7
+ export { MAX_NODES_PER_MAP, MAP_TRANSITION_THRESHOLD } from './types';
8
+ export { gridToScreen, screenToGrid, getIsometricZIndex, ISO_TILE_WIDTH, ISO_TILE_HEIGHT, } from './isometricUtils';
9
+ export { nodesToOverworldMap, nodesToUnifiedOverworldMap, nodesToOverworldMapCollection, } from './genericMapper';
10
+ export type { GenericNode, GenericMapperOptions } from './genericMapper';
11
+ export { RepoSprite } from './components/RepoSprite';
12
+ export type { RepoSpriteProps, RepoSpriteVariant, RepoSpritePackage, } from './components/RepoSprite';
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/panels/overworld-map/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAGlE,YAAY,EACV,YAAY,EACZ,sBAAsB,EACtB,SAAS,EACT,YAAY,EACZ,cAAc,EACd,IAAI,EACJ,UAAU,EACV,gBAAgB,EAChB,MAAM,EACN,SAAS,GACV,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AAGtE,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,mBAAmB,EACnB,0BAA0B,EAC1B,6BAA6B,GAC9B,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAGzE,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,YAAY,EACV,eAAe,EACf,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,yBAAyB,CAAC"}