force-3d-graph 1.3.7 → 1.3.9

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/index.d.ts CHANGED
@@ -49,6 +49,8 @@ export declare class ForceGraph3D {
49
49
  private edgeManager;
50
50
  private graphEngine;
51
51
  private rendererManager;
52
+ private physicsWorkerBridge;
53
+ private useWorkerPhysics;
52
54
  private materialFactory;
53
55
  private nodeFactory;
54
56
  private edgeFactory;
@@ -67,6 +69,15 @@ export declare class ForceGraph3D {
67
69
  private devControls;
68
70
  private viewMode;
69
71
  private graphData;
72
+ private simulationStride;
73
+ private simulationTick;
74
+ private labelUpdateIntervalMs;
75
+ private lastLabelUpdateAt;
76
+ private performanceCheckIntervalMs;
77
+ private lastPerformanceCheckAt;
78
+ private currentPixelRatio;
79
+ private edgeInteractionsEnabled;
80
+ private physicsWorkerNeedsSync;
70
81
  constructor(container?: HTMLElement | null, options?: ForceGraph3DOptions);
71
82
  /**
72
83
  * Sets up internal callbacks
@@ -96,6 +107,22 @@ export declare class ForceGraph3D {
96
107
  * Updates bottom-right legend counts
97
108
  */
98
109
  private updateLegendCounts;
110
+ /**
111
+ * Applies baseline performance preset from constructor options
112
+ */
113
+ private applyPerformanceModeSettings;
114
+ /**
115
+ * Applies adaptive quality tuning based on runtime FPS
116
+ */
117
+ private tunePerformanceForCurrentFPS;
118
+ /**
119
+ * Chooses edge rendering strategy based on graph size and mode
120
+ */
121
+ private refreshPerformanceRenderingMode;
122
+ /**
123
+ * Enables worker-based physics on large graphs when requested
124
+ */
125
+ private refreshPhysicsBackend;
99
126
  /**
100
127
  * Sets the graph data
101
128
  */
@@ -257,6 +284,16 @@ export declare interface ForceGraph3DOptions {
257
284
  showLegend?: boolean;
258
285
  targetFPS?: number;
259
286
  maxVisibleNodes?: number;
287
+ performanceMode?: 'quality' | 'balanced' | 'low';
288
+ enableAdaptivePerformance?: boolean;
289
+ minPixelRatio?: number;
290
+ maxPixelRatio?: number;
291
+ labelRenderMode?: 'all' | 'adaptive' | 'none';
292
+ labelDistance?: number;
293
+ disableEdgeInteractionsInLowMode?: boolean;
294
+ edgeBatchThreshold?: number;
295
+ enableWorkerPhysics?: boolean;
296
+ workerPhysicsNodeThreshold?: number;
260
297
  onNodeClick?: (nodeData: NodeData) => void;
261
298
  onNodeHover?: (nodeData: NodeData | null) => void;
262
299
  onEdgeHover?: (edge: Edge | null, sourceNode: NodeData | null, targetNode: NodeData | null) => void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "force-3d-graph",
3
- "version": "1.3.7",
3
+ "version": "1.3.9",
4
4
  "description": "A 3D force-directed graph visualization library built with Three.js",
5
5
  "type": "module",
6
6
  "main": "./dist/force-3d-graph.umd.cjs",