@industry-theme/repository-composition-panels 0.7.14 → 0.7.15
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.
- package/dist/assets/orchestrators/index.d.ts +28 -0
- package/dist/assets/orchestrators/index.d.ts.map +1 -0
- package/dist/index.d.ts +35 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/mocks/panelContext.d.ts +24 -0
- package/dist/mocks/panelContext.d.ts.map +1 -0
- package/dist/panels/CollectionMapPanel.d.ts +132 -0
- package/dist/panels/CollectionMapPanel.d.ts.map +1 -0
- package/dist/panels/GitChangesPanel.d.ts +48 -0
- package/dist/panels/GitChangesPanel.d.ts.map +1 -0
- package/dist/panels/PackageCompositionPanel.d.ts +37 -0
- package/dist/panels/PackageCompositionPanel.d.ts.map +1 -0
- package/dist/panels/SearchPanel.d.ts +33 -0
- package/dist/panels/SearchPanel.d.ts.map +1 -0
- package/dist/panels/TelemetryCoveragePanel.d.ts +48 -0
- package/dist/panels/TelemetryCoveragePanel.d.ts.map +1 -0
- package/dist/panels/components/DependencyInfoModal.d.ts +8 -0
- package/dist/panels/components/DependencyInfoModal.d.ts.map +1 -0
- package/dist/panels/components/DependencyRow.d.ts +8 -0
- package/dist/panels/components/DependencyRow.d.ts.map +1 -0
- package/dist/panels/components/EmptyDependencies.d.ts +7 -0
- package/dist/panels/components/EmptyDependencies.d.ts.map +1 -0
- package/dist/panels/components/FilterBar.d.ts +19 -0
- package/dist/panels/components/FilterBar.d.ts.map +1 -0
- package/dist/panels/components/InheritedConfigIndicator.d.ts +27 -0
- package/dist/panels/components/InheritedConfigIndicator.d.ts.map +1 -0
- package/dist/panels/components/LensReadinessSection.d.ts +8 -0
- package/dist/panels/components/LensReadinessSection.d.ts.map +1 -0
- package/dist/panels/components/OrchestratorBadge.d.ts +11 -0
- package/dist/panels/components/OrchestratorBadge.d.ts.map +1 -0
- package/dist/panels/components/OtherScriptsSection.d.ts +9 -0
- package/dist/panels/components/OtherScriptsSection.d.ts.map +1 -0
- package/dist/panels/components/PackageDetailCard.d.ts +18 -0
- package/dist/panels/components/PackageDetailCard.d.ts.map +1 -0
- package/dist/panels/components/PackageLoadingGraph.d.ts +3 -0
- package/dist/panels/components/PackageLoadingGraph.d.ts.map +1 -0
- package/dist/panels/components/PackageManagerIcon.d.ts +10 -0
- package/dist/panels/components/PackageManagerIcon.d.ts.map +1 -0
- package/dist/panels/components/PackageSummaryCard.d.ts +10 -0
- package/dist/panels/components/PackageSummaryCard.d.ts.map +1 -0
- package/dist/panels/components/index.d.ts +11 -0
- package/dist/panels/components/index.d.ts.map +1 -0
- package/dist/panels/dependency-graph/DependencyGraphPanel.d.ts +20 -0
- package/dist/panels/dependency-graph/DependencyGraphPanel.d.ts.map +1 -0
- package/dist/panels/dependency-graph/dependencyToCanvas.d.ts +20 -0
- package/dist/panels/dependency-graph/dependencyToCanvas.d.ts.map +1 -0
- package/dist/panels/dependency-graph/forceLayout.d.ts +38 -0
- package/dist/panels/dependency-graph/forceLayout.d.ts.map +1 -0
- package/dist/panels/dependency-graph/index.d.ts +5 -0
- package/dist/panels/dependency-graph/index.d.ts.map +1 -0
- package/dist/panels/overworld-map/BuildingSizeTest.d.ts +11 -0
- package/dist/panels/overworld-map/BuildingSizeTest.d.ts.map +1 -0
- package/dist/panels/overworld-map/LayoutEngineTest.d.ts +24 -0
- package/dist/panels/overworld-map/LayoutEngineTest.d.ts.map +1 -0
- package/dist/panels/overworld-map/LicenseSignTest.d.ts +7 -0
- package/dist/panels/overworld-map/LicenseSignTest.d.ts.map +1 -0
- package/dist/panels/overworld-map/OverworldMapPanel.d.ts +62 -0
- package/dist/panels/overworld-map/OverworldMapPanel.d.ts.map +1 -0
- package/dist/panels/overworld-map/PackageExpansionTest.d.ts +25 -0
- package/dist/panels/overworld-map/PackageExpansionTest.d.ts.map +1 -0
- package/dist/panels/overworld-map/RegionEditingTest.d.ts +10 -0
- package/dist/panels/overworld-map/RegionEditingTest.d.ts.map +1 -0
- package/dist/panels/overworld-map/collaboratorDecoration.d.ts +38 -0
- package/dist/panels/overworld-map/collaboratorDecoration.d.ts.map +1 -0
- package/dist/panels/overworld-map/components/IsometricInteractionManager.d.ts +159 -0
- package/dist/panels/overworld-map/components/IsometricInteractionManager.d.ts.map +1 -0
- package/dist/panels/overworld-map/components/IsometricPathManager.d.ts +50 -0
- package/dist/panels/overworld-map/components/IsometricPathManager.d.ts.map +1 -0
- package/dist/panels/overworld-map/components/IsometricPixiCanvas.d.ts +88 -0
- package/dist/panels/overworld-map/components/IsometricPixiCanvas.d.ts.map +1 -0
- package/dist/panels/overworld-map/components/IsometricRenderer.d.ts +141 -0
- package/dist/panels/overworld-map/components/IsometricRenderer.d.ts.map +1 -0
- package/dist/panels/overworld-map/components/RegionTracker.d.ts +62 -0
- package/dist/panels/overworld-map/components/RegionTracker.d.ts.map +1 -0
- package/dist/panels/overworld-map/components/buildingSpriteGenerator.d.ts +19 -0
- package/dist/panels/overworld-map/components/buildingSpriteGenerator.d.ts.map +1 -0
- package/dist/panels/overworld-map/components/collaboratorDecorationSprites.d.ts +25 -0
- package/dist/panels/overworld-map/components/collaboratorDecorationSprites.d.ts.map +1 -0
- package/dist/panels/overworld-map/components/licenseSignSprites.d.ts +122 -0
- package/dist/panels/overworld-map/components/licenseSignSprites.d.ts.map +1 -0
- package/dist/panels/overworld-map/components/starDecorationSprites.d.ts +18 -0
- package/dist/panels/overworld-map/components/starDecorationSprites.d.ts.map +1 -0
- package/dist/panels/overworld-map/genericMapper.d.ts +81 -0
- package/dist/panels/overworld-map/genericMapper.d.ts.map +1 -0
- package/dist/panels/overworld-map/index.d.ts +11 -0
- package/dist/panels/overworld-map/index.d.ts.map +1 -0
- package/dist/panels/overworld-map/isometricUtils.d.ts +150 -0
- package/dist/panels/overworld-map/isometricUtils.d.ts.map +1 -0
- package/dist/panels/overworld-map/packageExpansion.d.ts +15 -0
- package/dist/panels/overworld-map/packageExpansion.d.ts.map +1 -0
- package/dist/panels/overworld-map/spriteGenerator.d.ts +53 -0
- package/dist/panels/overworld-map/spriteGenerator.d.ts.map +1 -0
- package/dist/panels/overworld-map/spriteLayoutEngine.d.ts +103 -0
- package/dist/panels/overworld-map/spriteLayoutEngine.d.ts.map +1 -0
- package/dist/panels/overworld-map/starDecoration.d.ts +37 -0
- package/dist/panels/overworld-map/starDecoration.d.ts.map +1 -0
- package/dist/panels/overworld-map/test-setup.d.ts +6 -0
- package/dist/panels/overworld-map/test-setup.d.ts.map +1 -0
- package/dist/panels/overworld-map/types.d.ts +228 -0
- package/dist/panels/overworld-map/types.d.ts.map +1 -0
- package/dist/services/LocalSearchService.d.ts +70 -0
- package/dist/services/LocalSearchService.d.ts.map +1 -0
- package/dist/tools/index.d.ts +32 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools.bundle.js +106 -0
- package/dist/types/composition.d.ts +22 -0
- package/dist/types/composition.d.ts.map +1 -0
- package/dist/types/dependencies.d.ts +26 -0
- package/dist/types/dependencies.d.ts.map +1 -0
- package/dist/types/index.d.ts +94 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/utils/envParser.d.ts +29 -0
- package/dist/utils/envParser.d.ts.map +1 -0
- package/dist/utils/licenseColors.d.ts +13 -0
- package/dist/utils/licenseColors.d.ts.map +1 -0
- package/dist/utils/repositoryAging.d.ts +26 -0
- package/dist/utils/repositoryAging.d.ts.map +1 -0
- package/dist/utils/repositoryScaling.d.ts +40 -0
- package/dist/utils/repositoryScaling.d.ts.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* IsometricPixiCanvas - Manages Pixi Application lifecycle and pixi-viewport integration
|
|
3
|
+
*
|
|
4
|
+
* This component handles:
|
|
5
|
+
* - Pixi.js Application initialization and cleanup
|
|
6
|
+
* - pixi-viewport integration with plugins (drag, wheel, pinch, decelerate)
|
|
7
|
+
* - Camera animation with easing
|
|
8
|
+
* - Responsive resize handling
|
|
9
|
+
* - Region-aware viewport scaling
|
|
10
|
+
*/
|
|
11
|
+
import { Application } from 'pixi.js';
|
|
12
|
+
import { Viewport } from 'pixi-viewport';
|
|
13
|
+
export interface IsometricPixiCanvasConfig {
|
|
14
|
+
container: HTMLElement;
|
|
15
|
+
width: number;
|
|
16
|
+
height: number;
|
|
17
|
+
worldWidth: number;
|
|
18
|
+
worldHeight: number;
|
|
19
|
+
backgroundColor?: number;
|
|
20
|
+
minZoom?: number;
|
|
21
|
+
maxZoom?: number;
|
|
22
|
+
}
|
|
23
|
+
export interface IsometricPixiCanvasEvents {
|
|
24
|
+
onViewportMove?: (x: number, y: number) => void;
|
|
25
|
+
onZoom?: (scale: number) => void;
|
|
26
|
+
}
|
|
27
|
+
export declare class IsometricPixiCanvas {
|
|
28
|
+
private _app;
|
|
29
|
+
private _viewport;
|
|
30
|
+
private config;
|
|
31
|
+
private events;
|
|
32
|
+
private resizeObserver;
|
|
33
|
+
private animationFrameId;
|
|
34
|
+
constructor(config: IsometricPixiCanvasConfig, events?: IsometricPixiCanvasEvents);
|
|
35
|
+
/**
|
|
36
|
+
* Initialize Pixi Application and viewport
|
|
37
|
+
* Returns the app and viewport instances for further setup
|
|
38
|
+
*/
|
|
39
|
+
init(): Promise<{
|
|
40
|
+
app: Application;
|
|
41
|
+
viewport: Viewport;
|
|
42
|
+
}>;
|
|
43
|
+
/**
|
|
44
|
+
* Get the Pixi Application instance
|
|
45
|
+
*/
|
|
46
|
+
get app(): Application;
|
|
47
|
+
/**
|
|
48
|
+
* Get the pixi-viewport instance
|
|
49
|
+
*/
|
|
50
|
+
get viewport(): Viewport;
|
|
51
|
+
/**
|
|
52
|
+
* Get the HTML canvas element
|
|
53
|
+
*/
|
|
54
|
+
get canvas(): HTMLCanvasElement;
|
|
55
|
+
/**
|
|
56
|
+
* Setup resize observer for responsive handling
|
|
57
|
+
* Extracted from OverworldMapPanel.tsx lines 830-886
|
|
58
|
+
*/
|
|
59
|
+
private setupResizeObserver;
|
|
60
|
+
/**
|
|
61
|
+
* Resize the canvas and viewport
|
|
62
|
+
*/
|
|
63
|
+
resize(width: number, height: number): void;
|
|
64
|
+
/**
|
|
65
|
+
* Move viewport center immediately or smoothly
|
|
66
|
+
*/
|
|
67
|
+
moveCenter(x: number, y: number, immediate?: boolean): void;
|
|
68
|
+
/**
|
|
69
|
+
* Animate viewport to a position with easing
|
|
70
|
+
* Extracted from OverworldMapPanel.tsx lines 772-825
|
|
71
|
+
*/
|
|
72
|
+
animateTo(targetX: number, targetY: number, duration?: number, easing?: (t: number) => number): Promise<void>;
|
|
73
|
+
/**
|
|
74
|
+
* Fit viewport to a region with padding
|
|
75
|
+
* Extracted from OverworldMapPanel.tsx lines 772-800 (scale calculation)
|
|
76
|
+
*/
|
|
77
|
+
fitToRegion(bounds: {
|
|
78
|
+
x: number;
|
|
79
|
+
y: number;
|
|
80
|
+
width: number;
|
|
81
|
+
height: number;
|
|
82
|
+
}, padding?: number): void;
|
|
83
|
+
/**
|
|
84
|
+
* Cleanup resources
|
|
85
|
+
*/
|
|
86
|
+
destroy(): void;
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=IsometricPixiCanvas.d.ts.map
|
|
@@ -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,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,11 @@
|
|
|
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
|
+
//# 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,EACV,WAAW,EACX,oBAAoB,GACrB,MAAM,iBAAiB,CAAC"}
|