driftdetect-galaxy 0.4.2
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/audio/index.d.ts +8 -0
- package/dist/audio/index.d.ts.map +1 -0
- package/dist/audio/index.js +8 -0
- package/dist/audio/index.js.map +1 -0
- package/dist/audio/sound-effects.d.ts +78 -0
- package/dist/audio/sound-effects.d.ts.map +1 -0
- package/dist/audio/sound-effects.js +660 -0
- package/dist/audio/sound-effects.js.map +1 -0
- package/dist/audio/useGalaxySound.d.ts +70 -0
- package/dist/audio/useGalaxySound.d.ts.map +1 -0
- package/dist/audio/useGalaxySound.js +127 -0
- package/dist/audio/useGalaxySound.js.map +1 -0
- package/dist/components/canvas/GalaxyCamera.d.ts +16 -0
- package/dist/components/canvas/GalaxyCamera.d.ts.map +1 -0
- package/dist/components/canvas/GalaxyCamera.js +74 -0
- package/dist/components/canvas/GalaxyCamera.js.map +1 -0
- package/dist/components/canvas/GalaxyCanvas.d.ts +16 -0
- package/dist/components/canvas/GalaxyCanvas.d.ts.map +1 -0
- package/dist/components/canvas/GalaxyCanvas.js +104 -0
- package/dist/components/canvas/GalaxyCanvas.js.map +1 -0
- package/dist/components/canvas/GalaxyLighting.d.ts +8 -0
- package/dist/components/canvas/GalaxyLighting.d.ts.map +1 -0
- package/dist/components/canvas/GalaxyLighting.js +36 -0
- package/dist/components/canvas/GalaxyLighting.js.map +1 -0
- package/dist/components/canvas/index.d.ts +11 -0
- package/dist/components/canvas/index.d.ts.map +1 -0
- package/dist/components/canvas/index.js +9 -0
- package/dist/components/canvas/index.js.map +1 -0
- package/dist/components/connections/DataPathLane.d.ts +26 -0
- package/dist/components/connections/DataPathLane.d.ts.map +1 -0
- package/dist/components/connections/DataPathLane.js +71 -0
- package/dist/components/connections/DataPathLane.js.map +1 -0
- package/dist/components/connections/TableRelationship.d.ts +19 -0
- package/dist/components/connections/TableRelationship.d.ts.map +1 -0
- package/dist/components/connections/TableRelationship.js +46 -0
- package/dist/components/connections/TableRelationship.js.map +1 -0
- package/dist/components/connections/index.d.ts +10 -0
- package/dist/components/connections/index.d.ts.map +1 -0
- package/dist/components/connections/index.js +8 -0
- package/dist/components/connections/index.js.map +1 -0
- package/dist/components/effects/AccessPulse.d.ts +23 -0
- package/dist/components/effects/AccessPulse.d.ts.map +1 -0
- package/dist/components/effects/AccessPulse.js +72 -0
- package/dist/components/effects/AccessPulse.js.map +1 -0
- package/dist/components/effects/GalaxyBloom.d.ts +8 -0
- package/dist/components/effects/GalaxyBloom.d.ts.map +1 -0
- package/dist/components/effects/GalaxyBloom.js +23 -0
- package/dist/components/effects/GalaxyBloom.js.map +1 -0
- package/dist/components/effects/StarField.d.ts +18 -0
- package/dist/components/effects/StarField.d.ts.map +1 -0
- package/dist/components/effects/StarField.js +86 -0
- package/dist/components/effects/StarField.js.map +1 -0
- package/dist/components/effects/index.d.ts +11 -0
- package/dist/components/effects/index.d.ts.map +1 -0
- package/dist/components/effects/index.js +9 -0
- package/dist/components/effects/index.js.map +1 -0
- package/dist/components/index.d.ts +11 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +16 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components/nodes/EntryPointStation.d.ts +22 -0
- package/dist/components/nodes/EntryPointStation.d.ts.map +1 -0
- package/dist/components/nodes/EntryPointStation.js +120 -0
- package/dist/components/nodes/EntryPointStation.js.map +1 -0
- package/dist/components/nodes/FieldMoon.d.ts +30 -0
- package/dist/components/nodes/FieldMoon.d.ts.map +1 -0
- package/dist/components/nodes/FieldMoon.js +92 -0
- package/dist/components/nodes/FieldMoon.js.map +1 -0
- package/dist/components/nodes/TablePlanet.d.ts +22 -0
- package/dist/components/nodes/TablePlanet.d.ts.map +1 -0
- package/dist/components/nodes/TablePlanet.js +101 -0
- package/dist/components/nodes/TablePlanet.js.map +1 -0
- package/dist/components/nodes/index.d.ts +12 -0
- package/dist/components/nodes/index.d.ts.map +1 -0
- package/dist/components/nodes/index.js +9 -0
- package/dist/components/nodes/index.js.map +1 -0
- package/dist/components/ui/ControlsPanel.d.ts +7 -0
- package/dist/components/ui/ControlsPanel.d.ts.map +1 -0
- package/dist/components/ui/ControlsPanel.js +59 -0
- package/dist/components/ui/ControlsPanel.js.map +1 -0
- package/dist/components/ui/DetailsPanel.d.ts +8 -0
- package/dist/components/ui/DetailsPanel.d.ts.map +1 -0
- package/dist/components/ui/DetailsPanel.js +44 -0
- package/dist/components/ui/DetailsPanel.js.map +1 -0
- package/dist/components/ui/SearchOverlay.d.ts +7 -0
- package/dist/components/ui/SearchOverlay.d.ts.map +1 -0
- package/dist/components/ui/SearchOverlay.js +68 -0
- package/dist/components/ui/SearchOverlay.js.map +1 -0
- package/dist/components/ui/SecurityPanel.d.ts +8 -0
- package/dist/components/ui/SecurityPanel.d.ts.map +1 -0
- package/dist/components/ui/SecurityPanel.js +65 -0
- package/dist/components/ui/SecurityPanel.js.map +1 -0
- package/dist/components/ui/StatsOverlay.d.ts +7 -0
- package/dist/components/ui/StatsOverlay.d.ts.map +1 -0
- package/dist/components/ui/StatsOverlay.js +29 -0
- package/dist/components/ui/StatsOverlay.js.map +1 -0
- package/dist/components/ui/index.d.ts +11 -0
- package/dist/components/ui/index.d.ts.map +1 -0
- package/dist/components/ui/index.js +11 -0
- package/dist/components/ui/index.js.map +1 -0
- package/dist/constants/index.d.ts +244 -0
- package/dist/constants/index.d.ts.map +1 -0
- package/dist/constants/index.js +289 -0
- package/dist/constants/index.js.map +1 -0
- package/dist/hooks/index.d.ts +10 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +8 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/useAccessStream.d.ts +23 -0
- package/dist/hooks/useAccessStream.d.ts.map +1 -0
- package/dist/hooks/useAccessStream.js +86 -0
- package/dist/hooks/useAccessStream.js.map +1 -0
- package/dist/hooks/useGalaxyData.d.ts +83 -0
- package/dist/hooks/useGalaxyData.d.ts.map +1 -0
- package/dist/hooks/useGalaxyData.js +176 -0
- package/dist/hooks/useGalaxyData.js.map +1 -0
- package/dist/index.d.ts +28 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +38 -0
- package/dist/index.js.map +1 -0
- package/dist/store/galaxy-store.d.ts +85 -0
- package/dist/store/galaxy-store.d.ts.map +1 -0
- package/dist/store/galaxy-store.js +254 -0
- package/dist/store/galaxy-store.js.map +1 -0
- package/dist/store/index.d.ts +5 -0
- package/dist/store/index.d.ts.map +1 -0
- package/dist/store/index.js +5 -0
- package/dist/store/index.js.map +1 -0
- package/dist/types/index.d.ts +337 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +8 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/color-utils.d.ts +100 -0
- package/dist/utils/color-utils.d.ts.map +1 -0
- package/dist/utils/color-utils.js +217 -0
- package/dist/utils/color-utils.js.map +1 -0
- package/dist/utils/geometry-utils.d.ts +97 -0
- package/dist/utils/geometry-utils.d.ts.map +1 -0
- package/dist/utils/geometry-utils.js +245 -0
- package/dist/utils/geometry-utils.js.map +1 -0
- package/dist/utils/index.d.ts +7 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +7 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/layout-engine.d.ts +40 -0
- package/dist/utils/layout-engine.d.ts.map +1 -0
- package/dist/utils/layout-engine.js +343 -0
- package/dist/utils/layout-engine.js.map +1 -0
- package/package.json +58 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"color-utils.js","sourceRoot":"","sources":["../../src/utils/color-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Geometry Utilities
|
|
3
|
+
*
|
|
4
|
+
* 3D geometry calculations for galaxy visualization.
|
|
5
|
+
*/
|
|
6
|
+
import * as THREE from 'three';
|
|
7
|
+
import type { Vector3D } from '../types/index.js';
|
|
8
|
+
/**
|
|
9
|
+
* Convert Vector3D to THREE.Vector3
|
|
10
|
+
*/
|
|
11
|
+
export declare function toThreeVector(v: Vector3D): THREE.Vector3;
|
|
12
|
+
/**
|
|
13
|
+
* Convert THREE.Vector3 to Vector3D
|
|
14
|
+
*/
|
|
15
|
+
export declare function fromThreeVector(v: THREE.Vector3): Vector3D;
|
|
16
|
+
/**
|
|
17
|
+
* Calculate distance between two points
|
|
18
|
+
*/
|
|
19
|
+
export declare function distance(a: Vector3D, b: Vector3D): number;
|
|
20
|
+
/**
|
|
21
|
+
* Calculate midpoint between two points
|
|
22
|
+
*/
|
|
23
|
+
export declare function midpoint(a: Vector3D, b: Vector3D): Vector3D;
|
|
24
|
+
/**
|
|
25
|
+
* Normalize a vector
|
|
26
|
+
*/
|
|
27
|
+
export declare function normalize(v: Vector3D): Vector3D;
|
|
28
|
+
/**
|
|
29
|
+
* Scale a vector
|
|
30
|
+
*/
|
|
31
|
+
export declare function scale(v: Vector3D, s: number): Vector3D;
|
|
32
|
+
/**
|
|
33
|
+
* Add two vectors
|
|
34
|
+
*/
|
|
35
|
+
export declare function add(a: Vector3D, b: Vector3D): Vector3D;
|
|
36
|
+
/**
|
|
37
|
+
* Subtract two vectors
|
|
38
|
+
*/
|
|
39
|
+
export declare function subtract(a: Vector3D, b: Vector3D): Vector3D;
|
|
40
|
+
/**
|
|
41
|
+
* Linear interpolation between two vectors
|
|
42
|
+
*/
|
|
43
|
+
export declare function lerp(a: Vector3D, b: Vector3D, t: number): Vector3D;
|
|
44
|
+
/**
|
|
45
|
+
* Generate a curved path between two points (for hyperspace lanes)
|
|
46
|
+
*/
|
|
47
|
+
export declare function generateCurvedPath(start: Vector3D, end: Vector3D, _segments?: number, curvature?: number): THREE.CatmullRomCurve3;
|
|
48
|
+
/**
|
|
49
|
+
* Generate points along a curve
|
|
50
|
+
*/
|
|
51
|
+
export declare function getCurvePoints(curve: THREE.CatmullRomCurve3, segments: number): THREE.Vector3[];
|
|
52
|
+
/**
|
|
53
|
+
* Calculate position on orbit
|
|
54
|
+
*/
|
|
55
|
+
export declare function getOrbitPosition(center: Vector3D, radius: number, angle: number, tilt?: number): Vector3D;
|
|
56
|
+
/**
|
|
57
|
+
* Generate orbit path points
|
|
58
|
+
*/
|
|
59
|
+
export declare function generateOrbitPath(center: Vector3D, radius: number, segments?: number, tilt?: number): Vector3D[];
|
|
60
|
+
/**
|
|
61
|
+
* Calculate bounding sphere for a set of points
|
|
62
|
+
*/
|
|
63
|
+
export declare function calculateBoundingSphere(points: Vector3D[]): {
|
|
64
|
+
center: Vector3D;
|
|
65
|
+
radius: number;
|
|
66
|
+
};
|
|
67
|
+
/**
|
|
68
|
+
* Check if a point is within camera frustum
|
|
69
|
+
*/
|
|
70
|
+
export declare function isInFrustum(point: Vector3D, camera: THREE.Camera, margin?: number): boolean;
|
|
71
|
+
/**
|
|
72
|
+
* Calculate table size based on metrics
|
|
73
|
+
*/
|
|
74
|
+
export declare function calculateTableSize(rowCount: number, accessCount: number, minSize?: number, maxSize?: number): number;
|
|
75
|
+
/**
|
|
76
|
+
* Calculate field size based on access count
|
|
77
|
+
*/
|
|
78
|
+
export declare function calculateFieldSize(accessCount: number, isSensitive: boolean, baseSize?: number): number;
|
|
79
|
+
/**
|
|
80
|
+
* Calculate path width based on frequency
|
|
81
|
+
*/
|
|
82
|
+
export declare function calculatePathWidth(frequency: number, minWidth?: number, maxWidth?: number): number;
|
|
83
|
+
/**
|
|
84
|
+
* Calculate camera position to frame a set of points
|
|
85
|
+
*/
|
|
86
|
+
export declare function calculateFramingPosition(points: Vector3D[], fov: number, _aspectRatio: number): {
|
|
87
|
+
position: Vector3D;
|
|
88
|
+
target: Vector3D;
|
|
89
|
+
};
|
|
90
|
+
/**
|
|
91
|
+
* Smooth camera transition parameters
|
|
92
|
+
*/
|
|
93
|
+
export declare function calculateCameraTransition(currentPos: Vector3D, targetPos: Vector3D, currentTarget: Vector3D, newTarget: Vector3D, progress: number): {
|
|
94
|
+
position: Vector3D;
|
|
95
|
+
target: Vector3D;
|
|
96
|
+
};
|
|
97
|
+
//# sourceMappingURL=geometry-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"geometry-utils.d.ts","sourceRoot":"","sources":["../../src/utils/geometry-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Geometry Utilities
|
|
3
|
+
*
|
|
4
|
+
* 3D geometry calculations for galaxy visualization.
|
|
5
|
+
*/
|
|
6
|
+
import * as THREE from 'three';
|
|
7
|
+
// ============================================================================
|
|
8
|
+
// Vector Operations
|
|
9
|
+
// ============================================================================
|
|
10
|
+
/**
|
|
11
|
+
* Convert Vector3D to THREE.Vector3
|
|
12
|
+
*/
|
|
13
|
+
export function toThreeVector(v) {
|
|
14
|
+
return new THREE.Vector3(v.x, v.y, v.z);
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Convert THREE.Vector3 to Vector3D
|
|
18
|
+
*/
|
|
19
|
+
export function fromThreeVector(v) {
|
|
20
|
+
return { x: v.x, y: v.y, z: v.z };
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Calculate distance between two points
|
|
24
|
+
*/
|
|
25
|
+
export function distance(a, b) {
|
|
26
|
+
const dx = b.x - a.x;
|
|
27
|
+
const dy = b.y - a.y;
|
|
28
|
+
const dz = b.z - a.z;
|
|
29
|
+
return Math.sqrt(dx * dx + dy * dy + dz * dz);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Calculate midpoint between two points
|
|
33
|
+
*/
|
|
34
|
+
export function midpoint(a, b) {
|
|
35
|
+
return {
|
|
36
|
+
x: (a.x + b.x) / 2,
|
|
37
|
+
y: (a.y + b.y) / 2,
|
|
38
|
+
z: (a.z + b.z) / 2,
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Normalize a vector
|
|
43
|
+
*/
|
|
44
|
+
export function normalize(v) {
|
|
45
|
+
const len = Math.sqrt(v.x * v.x + v.y * v.y + v.z * v.z);
|
|
46
|
+
if (len === 0)
|
|
47
|
+
return { x: 0, y: 0, z: 0 };
|
|
48
|
+
return { x: v.x / len, y: v.y / len, z: v.z / len };
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Scale a vector
|
|
52
|
+
*/
|
|
53
|
+
export function scale(v, s) {
|
|
54
|
+
return { x: v.x * s, y: v.y * s, z: v.z * s };
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Add two vectors
|
|
58
|
+
*/
|
|
59
|
+
export function add(a, b) {
|
|
60
|
+
return { x: a.x + b.x, y: a.y + b.y, z: a.z + b.z };
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Subtract two vectors
|
|
64
|
+
*/
|
|
65
|
+
export function subtract(a, b) {
|
|
66
|
+
return { x: a.x - b.x, y: a.y - b.y, z: a.z - b.z };
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Linear interpolation between two vectors
|
|
70
|
+
*/
|
|
71
|
+
export function lerp(a, b, t) {
|
|
72
|
+
return {
|
|
73
|
+
x: a.x + (b.x - a.x) * t,
|
|
74
|
+
y: a.y + (b.y - a.y) * t,
|
|
75
|
+
z: a.z + (b.z - a.z) * t,
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
// ============================================================================
|
|
79
|
+
// Curve Generation
|
|
80
|
+
// ============================================================================
|
|
81
|
+
/**
|
|
82
|
+
* Generate a curved path between two points (for hyperspace lanes)
|
|
83
|
+
*/
|
|
84
|
+
export function generateCurvedPath(start, end, _segments = 50, curvature = 0.3) {
|
|
85
|
+
const mid = midpoint(start, end);
|
|
86
|
+
const dist = distance(start, end);
|
|
87
|
+
// Calculate perpendicular offset for curve
|
|
88
|
+
const direction = normalize(subtract(end, start));
|
|
89
|
+
const perpendicular = normalize({
|
|
90
|
+
x: -direction.z,
|
|
91
|
+
y: direction.y + curvature * dist,
|
|
92
|
+
z: direction.x,
|
|
93
|
+
});
|
|
94
|
+
const controlPoint = {
|
|
95
|
+
x: mid.x + perpendicular.x * dist * curvature,
|
|
96
|
+
y: mid.y + perpendicular.y * dist * curvature,
|
|
97
|
+
z: mid.z + perpendicular.z * dist * curvature,
|
|
98
|
+
};
|
|
99
|
+
return new THREE.CatmullRomCurve3([
|
|
100
|
+
toThreeVector(start),
|
|
101
|
+
toThreeVector(controlPoint),
|
|
102
|
+
toThreeVector(end),
|
|
103
|
+
]);
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Generate points along a curve
|
|
107
|
+
*/
|
|
108
|
+
export function getCurvePoints(curve, segments) {
|
|
109
|
+
return curve.getPoints(segments);
|
|
110
|
+
}
|
|
111
|
+
// ============================================================================
|
|
112
|
+
// Orbit Calculations
|
|
113
|
+
// ============================================================================
|
|
114
|
+
/**
|
|
115
|
+
* Calculate position on orbit
|
|
116
|
+
*/
|
|
117
|
+
export function getOrbitPosition(center, radius, angle, tilt = 0) {
|
|
118
|
+
const x = center.x + Math.cos(angle) * radius;
|
|
119
|
+
const y = center.y + Math.sin(tilt) * Math.sin(angle) * radius * 0.3;
|
|
120
|
+
const z = center.z + Math.sin(angle) * radius;
|
|
121
|
+
return { x, y, z };
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Generate orbit path points
|
|
125
|
+
*/
|
|
126
|
+
export function generateOrbitPath(center, radius, segments = 64, tilt = 0) {
|
|
127
|
+
const points = [];
|
|
128
|
+
for (let i = 0; i <= segments; i++) {
|
|
129
|
+
const angle = (i / segments) * Math.PI * 2;
|
|
130
|
+
points.push(getOrbitPosition(center, radius, angle, tilt));
|
|
131
|
+
}
|
|
132
|
+
return points;
|
|
133
|
+
}
|
|
134
|
+
// ============================================================================
|
|
135
|
+
// Bounding & Frustum
|
|
136
|
+
// ============================================================================
|
|
137
|
+
/**
|
|
138
|
+
* Calculate bounding sphere for a set of points
|
|
139
|
+
*/
|
|
140
|
+
export function calculateBoundingSphere(points) {
|
|
141
|
+
if (points.length === 0) {
|
|
142
|
+
return { center: { x: 0, y: 0, z: 0 }, radius: 0 };
|
|
143
|
+
}
|
|
144
|
+
// Calculate center
|
|
145
|
+
let cx = 0, cy = 0, cz = 0;
|
|
146
|
+
for (const p of points) {
|
|
147
|
+
cx += p.x;
|
|
148
|
+
cy += p.y;
|
|
149
|
+
cz += p.z;
|
|
150
|
+
}
|
|
151
|
+
const center = {
|
|
152
|
+
x: cx / points.length,
|
|
153
|
+
y: cy / points.length,
|
|
154
|
+
z: cz / points.length,
|
|
155
|
+
};
|
|
156
|
+
// Calculate radius
|
|
157
|
+
let maxDist = 0;
|
|
158
|
+
for (const p of points) {
|
|
159
|
+
const dist = distance(center, p);
|
|
160
|
+
if (dist > maxDist)
|
|
161
|
+
maxDist = dist;
|
|
162
|
+
}
|
|
163
|
+
return { center, radius: maxDist };
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Check if a point is within camera frustum
|
|
167
|
+
*/
|
|
168
|
+
export function isInFrustum(point, camera, margin = 1) {
|
|
169
|
+
const frustum = new THREE.Frustum();
|
|
170
|
+
const matrix = new THREE.Matrix4().multiplyMatrices(camera.projectionMatrix, camera.matrixWorldInverse);
|
|
171
|
+
frustum.setFromProjectionMatrix(matrix);
|
|
172
|
+
const sphere = new THREE.Sphere(toThreeVector(point), margin);
|
|
173
|
+
return frustum.intersectsSphere(sphere);
|
|
174
|
+
}
|
|
175
|
+
// ============================================================================
|
|
176
|
+
// Size Calculations
|
|
177
|
+
// ============================================================================
|
|
178
|
+
/**
|
|
179
|
+
* Calculate table size based on metrics
|
|
180
|
+
*/
|
|
181
|
+
export function calculateTableSize(rowCount, accessCount, minSize = 0.5, maxSize = 3) {
|
|
182
|
+
// Logarithmic scaling for row count
|
|
183
|
+
const rowFactor = Math.log10(rowCount + 1) / 6; // Normalize to ~0-1 for up to 1M rows
|
|
184
|
+
// Logarithmic scaling for access count
|
|
185
|
+
const accessFactor = Math.log10(accessCount + 1) / 4; // Normalize to ~0-1 for up to 10K accesses
|
|
186
|
+
// Combine factors (row count weighted more)
|
|
187
|
+
const combined = rowFactor * 0.6 + accessFactor * 0.4;
|
|
188
|
+
// Scale to size range
|
|
189
|
+
return minSize + combined * (maxSize - minSize);
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* Calculate field size based on access count
|
|
193
|
+
*/
|
|
194
|
+
export function calculateFieldSize(accessCount, isSensitive, baseSize = 0.15) {
|
|
195
|
+
const accessFactor = Math.log10(accessCount + 1) / 3;
|
|
196
|
+
const sensitiveMultiplier = isSensitive ? 1.5 : 1;
|
|
197
|
+
return baseSize * (1 + accessFactor * 0.5) * sensitiveMultiplier;
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Calculate path width based on frequency
|
|
201
|
+
*/
|
|
202
|
+
export function calculatePathWidth(frequency, minWidth = 0.05, maxWidth = 0.3) {
|
|
203
|
+
const factor = Math.log10(frequency + 1) / 3;
|
|
204
|
+
return minWidth + factor * (maxWidth - minWidth);
|
|
205
|
+
}
|
|
206
|
+
// ============================================================================
|
|
207
|
+
// Camera Utilities
|
|
208
|
+
// ============================================================================
|
|
209
|
+
/**
|
|
210
|
+
* Calculate camera position to frame a set of points
|
|
211
|
+
*/
|
|
212
|
+
export function calculateFramingPosition(points, fov, _aspectRatio) {
|
|
213
|
+
const { center, radius } = calculateBoundingSphere(points);
|
|
214
|
+
// Calculate distance needed to frame the sphere
|
|
215
|
+
const fovRad = (fov * Math.PI) / 180;
|
|
216
|
+
const distance = radius / Math.sin(fovRad / 2);
|
|
217
|
+
// Position camera above and in front
|
|
218
|
+
const position = {
|
|
219
|
+
x: center.x,
|
|
220
|
+
y: center.y + distance * 0.5,
|
|
221
|
+
z: center.z + distance,
|
|
222
|
+
};
|
|
223
|
+
return { position, target: center };
|
|
224
|
+
}
|
|
225
|
+
/**
|
|
226
|
+
* Smooth camera transition parameters
|
|
227
|
+
*/
|
|
228
|
+
export function calculateCameraTransition(currentPos, targetPos, currentTarget, newTarget, progress // 0-1
|
|
229
|
+
) {
|
|
230
|
+
// Use easing function for smooth transition
|
|
231
|
+
const eased = easeInOutCubic(progress);
|
|
232
|
+
return {
|
|
233
|
+
position: lerp(currentPos, targetPos, eased),
|
|
234
|
+
target: lerp(currentTarget, newTarget, eased),
|
|
235
|
+
};
|
|
236
|
+
}
|
|
237
|
+
/**
|
|
238
|
+
* Cubic ease in/out
|
|
239
|
+
*/
|
|
240
|
+
function easeInOutCubic(t) {
|
|
241
|
+
return t < 0.5
|
|
242
|
+
? 4 * t * t * t
|
|
243
|
+
: 1 - Math.pow(-2 * t + 2, 3) / 2;
|
|
244
|
+
}
|
|
245
|
+
//# sourceMappingURL=geometry-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"geometry-utils.js","sourceRoot":"","sources":["../../src/utils/geometry-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Layout Engine
|
|
3
|
+
*
|
|
4
|
+
* Force-directed layout algorithm for positioning tables in 3D space.
|
|
5
|
+
* Groups tables by domain clusters and applies physics simulation.
|
|
6
|
+
*/
|
|
7
|
+
import type { TableNode, EntryPointNode, Vector3D, TableRelationship } from '../types/index.js';
|
|
8
|
+
interface LayoutResult {
|
|
9
|
+
tables: Map<string, Vector3D>;
|
|
10
|
+
entryPoints: Map<string, Vector3D>;
|
|
11
|
+
clusters: Map<string, Vector3D>;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Detect which cluster a table belongs to based on its name
|
|
15
|
+
*/
|
|
16
|
+
export declare function detectCluster(tableName: string): string;
|
|
17
|
+
/**
|
|
18
|
+
* Group tables by cluster
|
|
19
|
+
*/
|
|
20
|
+
export declare function groupByCluster(tables: readonly TableNode[]): Map<string, TableNode[]>;
|
|
21
|
+
/**
|
|
22
|
+
* Main layout calculation
|
|
23
|
+
*/
|
|
24
|
+
export declare function calculateLayout(tables: readonly TableNode[], entryPoints: readonly EntryPointNode[], relationships: readonly TableRelationship[]): LayoutResult;
|
|
25
|
+
/**
|
|
26
|
+
* Apply layout to galaxy data (mutates positions)
|
|
27
|
+
*/
|
|
28
|
+
export declare function applyLayout(tables: TableNode[], entryPoints: EntryPointNode[], relationships: readonly TableRelationship[]): void;
|
|
29
|
+
/**
|
|
30
|
+
* Compute galaxy layout and return tables/entryPoints with positions
|
|
31
|
+
*/
|
|
32
|
+
export declare function computeGalaxyLayout(tables: readonly TableNode[], entryPoints: readonly EntryPointNode[], dataPaths: readonly {
|
|
33
|
+
sourceId: string;
|
|
34
|
+
targetTableId: string;
|
|
35
|
+
}[]): {
|
|
36
|
+
tables: TableNode[];
|
|
37
|
+
entryPoints: EntryPointNode[];
|
|
38
|
+
};
|
|
39
|
+
export {};
|
|
40
|
+
//# sourceMappingURL=layout-engine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layout-engine.d.ts","sourceRoot":"","sources":["../../src/utils/layout-engine.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AA0BhG,UAAU,YAAY;IACpB,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC9B,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACnC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;CACjC;AAMD;;GAEG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAUvD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAUrF;AAsQD;;GAEG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,SAAS,SAAS,EAAE,EAC5B,WAAW,EAAE,SAAS,cAAc,EAAE,EACtC,aAAa,EAAE,SAAS,iBAAiB,EAAE,GAC1C,YAAY,CAyCd;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,SAAS,EAAE,EACnB,WAAW,EAAE,cAAc,EAAE,EAC7B,aAAa,EAAE,SAAS,iBAAiB,EAAE,GAC1C,IAAI,CAgBN;AAGD;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,SAAS,SAAS,EAAE,EAC5B,WAAW,EAAE,SAAS,cAAc,EAAE,EACtC,SAAS,EAAE,SAAS;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,EAAE,GAChE;IAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAAC,WAAW,EAAE,cAAc,EAAE,CAAA;CAAE,CA0CxD"}
|