lazy-render-virtual-scroll 1.0.6 → 1.0.7

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/README.md CHANGED
@@ -28,8 +28,11 @@ A framework-agnostic virtual scrolling and lazy rendering solution that efficien
28
28
  - **Framework Agnostic Core**: Pure logic implementation that works across different environments
29
29
  - **Virtual Scrolling**: Only renders visible items to improve performance
30
30
  - **Intelligent Scroll Detection**: Analyzes scroll velocity, direction, and patterns
31
- - **Adaptive Buffer Management**: Dynamically adjusts buffer size based on scroll behavior
31
+ - **Adaptive Buffer Management**: Dynamically adjusts buffer size based on multiple factors
32
32
  - **Smart Prefetching**: Loads data ahead of user scroll to prevent loading gaps
33
+ - **Network Awareness**: Adapts to network conditions and bandwidth limitations
34
+ - **Device Performance Monitoring**: Adjusts behavior based on device capabilities
35
+ - **Content Complexity Analysis**: Optimizes for different content types and complexity
33
36
  - **Memory Efficient**: Automatically cleans up off-screen elements
34
37
  - **React Adapter**: Easy integration with React applications
35
38
  - **Configurable Buffer**: Adjustable buffer size for optimal performance
@@ -0,0 +1,46 @@
1
+ export declare class AdaptiveBufferCalculator {
2
+ private scrollFactor;
3
+ private networkFactor;
4
+ private performanceFactor;
5
+ private contentFactor;
6
+ private performanceMonitor;
7
+ private contentAnalyzer;
8
+ constructor();
9
+ calculateOptimalBuffer(params: {
10
+ scrollVelocity: number;
11
+ networkQuality: 'excellent' | 'good' | 'poor' | 'offline';
12
+ baseBuffer: number;
13
+ visibleItems: any[];
14
+ }): Promise<number>;
15
+ private calculateScrollBuffer;
16
+ private calculateNetworkAdjustment;
17
+ private calculatePerformanceAdjustment;
18
+ private calculateContentAdjustment;
19
+ getAdaptiveInsights(params: {
20
+ scrollVelocity: number;
21
+ networkQuality: 'excellent' | 'good' | 'poor' | 'offline';
22
+ baseBuffer: number;
23
+ visibleItems: any[];
24
+ }): Promise<{
25
+ currentBuffer: number;
26
+ performance: {
27
+ frameRate: number;
28
+ score: number;
29
+ };
30
+ network: {
31
+ quality: string;
32
+ adjustment: number;
33
+ };
34
+ complexity: {
35
+ score: number;
36
+ breakdown: any;
37
+ };
38
+ factors: {
39
+ scroll: number;
40
+ network: number;
41
+ performance: number;
42
+ content: number;
43
+ };
44
+ }>;
45
+ }
46
+ //# sourceMappingURL=AdaptiveBufferCalculator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AdaptiveBufferCalculator.d.ts","sourceRoot":"","sources":["../../src/core/AdaptiveBufferCalculator.ts"],"names":[],"mappings":"AAGA,qBAAa,wBAAwB;IACnC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,aAAa,CAAe;IACpC,OAAO,CAAC,iBAAiB,CAAe;IACxC,OAAO,CAAC,aAAa,CAAe;IAEpC,OAAO,CAAC,kBAAkB,CAA2B;IACrD,OAAO,CAAC,eAAe,CAA4B;;IAQ7C,sBAAsB,CAAC,MAAM,EAAE;QACnC,cAAc,EAAE,MAAM,CAAC;QACvB,cAAc,EAAE,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;QAC1D,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,GAAG,EAAE,CAAC;KACrB,GAAG,OAAO,CAAC,MAAM,CAAC;IA2BnB,OAAO,CAAC,qBAAqB;IAQ7B,OAAO,CAAC,0BAA0B;IAUlC,OAAO,CAAC,8BAA8B;IAKtC,OAAO,CAAC,0BAA0B;IAM5B,mBAAmB,CAAC,MAAM,EAAE;QAChC,cAAc,EAAE,MAAM,CAAC;QACvB,cAAc,EAAE,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;QAC1D,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,GAAG,EAAE,CAAC;KACrB,GAAG,OAAO,CAAC;QACV,aAAa,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE;YAAE,SAAS,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC;QAClD,OAAO,EAAE;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAA;SAAE,CAAC;QACjD,UAAU,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,GAAG,CAAA;SAAE,CAAC;QAC9C,OAAO,EAAE;YACP,MAAM,EAAE,MAAM,CAAC;YACf,OAAO,EAAE,MAAM,CAAC;YAChB,WAAW,EAAE,MAAM,CAAC;YACpB,OAAO,EAAE,MAAM,CAAC;SACjB,CAAC;KACH,CAAC;CA2BH"}
@@ -0,0 +1,13 @@
1
+ export declare class ContentComplexityAnalyzer {
2
+ analyzeContentComplexity(items: any[]): number;
3
+ private analyzeTextComplexity;
4
+ private analyzeMediaComplexity;
5
+ private analyzeComponentComplexity;
6
+ getComplexityInsights(items: any[]): {
7
+ averageComplexity: number;
8
+ textComplexity: number;
9
+ mediaComplexity: number;
10
+ componentComplexity: number;
11
+ };
12
+ }
13
+ //# sourceMappingURL=ContentComplexityAnalyzer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContentComplexityAnalyzer.d.ts","sourceRoot":"","sources":["../../src/core/ContentComplexityAnalyzer.ts"],"names":[],"mappings":"AAAA,qBAAa,yBAAyB;IAEpC,wBAAwB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,MAAM;IAkB9C,OAAO,CAAC,qBAAqB;IAmB7B,OAAO,CAAC,sBAAsB;IAgB9B,OAAO,CAAC,0BAA0B;IAiBlC,qBAAqB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG;QACnC,iBAAiB,EAAE,MAAM,CAAC;QAC1B,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,EAAE,MAAM,CAAC;QACxB,mBAAmB,EAAE,MAAM,CAAC;KAC7B;CAyBF"}
@@ -0,0 +1,22 @@
1
+ export declare class DevicePerformanceMonitor {
2
+ private frameRateHistory;
3
+ private memoryUsageHistory;
4
+ private gcMonitoring;
5
+ private readonly HISTORY_SIZE;
6
+ constructor();
7
+ getFrameRate(): Promise<number>;
8
+ getAverageFrameRate(): number;
9
+ getMemoryInfo(): {
10
+ used: number;
11
+ total: number;
12
+ } | null;
13
+ assessPerformance(): Promise<number>;
14
+ private setupPerformanceMonitoring;
15
+ getPerformanceInsights(): {
16
+ frameRate: number;
17
+ performanceScore: number;
18
+ memoryUsed: number | null;
19
+ memoryTotal: number | null;
20
+ };
21
+ }
22
+ //# sourceMappingURL=DevicePerformanceMonitor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DevicePerformanceMonitor.d.ts","sourceRoot":"","sources":["../../src/core/DevicePerformanceMonitor.ts"],"names":[],"mappings":"AAAA,qBAAa,wBAAwB;IACnC,OAAO,CAAC,gBAAgB,CAAgB;IACxC,OAAO,CAAC,kBAAkB,CAAgB;IAC1C,OAAO,CAAC,YAAY,CAAkB;IACtC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAM;;IAO7B,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;IAyBrC,mBAAmB,IAAI,MAAM;IAO7B,aAAa,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;KAAE,GAAG,IAAI;IAelD,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC;IAgB1C,OAAO,CAAC,0BAA0B;IAQlC,sBAAsB,IAAI;QACxB,SAAS,EAAE,MAAM,CAAC;QAClB,gBAAgB,EAAE,MAAM,CAAC;QACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;KAC5B;CAcF"}
@@ -8,6 +8,7 @@ export declare class Engine {
8
8
  private networkDetector;
9
9
  private networkAwarePrefetchManager;
10
10
  private networkAwareRequestQueue;
11
+ private adaptiveBufferCalculator;
11
12
  private state;
12
13
  private fetchMoreCallback;
13
14
  private totalItems;
@@ -15,7 +16,7 @@ export declare class Engine {
15
16
  /**
16
17
  * Update scroll position and recalculate visible range with intelligent detection
17
18
  */
18
- updateScrollPosition(scrollTop: number): void;
19
+ updateScrollPosition(scrollTop: number): Promise<void>;
19
20
  /**
20
21
  * Get the current visible range
21
22
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Engine.d.ts","sourceRoot":"","sources":["../../src/core/Engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AASrF,qBAAa,MAAM;IACjB,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,yBAAyB,CAA4B;IAC7D,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,2BAA2B,CAA8B;IACjE,OAAO,CAAC,wBAAwB,CAA2B;IAE3D,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,iBAAiB,CAAkC;IAC3D,OAAO,CAAC,UAAU,CAAS;gBAEf,MAAM,EAAE,YAAY;IA6BhC;;OAEG;IACH,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAoB7C;;OAEG;IACH,eAAe,IAAI,YAAY;IAI/B;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;IAmBzC;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAkBhC;;OAEG;IACH,oBAAoB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI;IAIvD;;OAEG;IACH,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIrC;;OAEG;IACH,QAAQ,IAAI,WAAW;IAIvB;;OAEG;IACH,gBAAgB,CAAC,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAQlE;;OAEG;IACH,OAAO,IAAI,IAAI;CAMhB"}
1
+ {"version":3,"file":"Engine.d.ts","sourceRoot":"","sources":["../../src/core/Engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAUrF,qBAAa,MAAM;IACjB,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,yBAAyB,CAA4B;IAC7D,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,2BAA2B,CAA8B;IACjE,OAAO,CAAC,wBAAwB,CAA2B;IAC3D,OAAO,CAAC,wBAAwB,CAA2B;IAE3D,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,iBAAiB,CAAkC;IAC3D,OAAO,CAAC,UAAU,CAAS;gBAEf,MAAM,EAAE,YAAY;IA8BhC;;OAEG;IACG,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA4B5D;;OAEG;IACH,eAAe,IAAI,YAAY;IAI/B;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;IAsBzC;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAkBhC;;OAEG;IACH,oBAAoB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI;IAIvD;;OAEG;IACH,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIrC;;OAEG;IACH,QAAQ,IAAI,WAAW;IAIvB;;OAEG;IACH,gBAAgB,CAAC,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAQlE;;OAEG;IACH,OAAO,IAAI,IAAI;CAMhB"}
@@ -6,6 +6,9 @@ export { IntelligentScrollDetector } from './core/IntelligentScrollDetector';
6
6
  export { NetworkSpeedDetector } from './core/NetworkSpeedDetector';
7
7
  export { NetworkAwarePrefetchManager } from './core/NetworkAwarePrefetchManager';
8
8
  export { NetworkAwareRequestQueue } from './core/NetworkAwareRequestQueue';
9
+ export { AdaptiveBufferCalculator } from './core/AdaptiveBufferCalculator';
10
+ export { DevicePerformanceMonitor } from './core/DevicePerformanceMonitor';
11
+ export { ContentComplexityAnalyzer } from './core/ContentComplexityAnalyzer';
9
12
  export type { EngineConfig, VisibleRange, FetchMoreCallback, EngineState, ScrollAnalysis } from './core/types';
10
13
  export { ScrollObserver } from './platform/browser/ScrollObserver';
11
14
  export { useLazyList } from './adapters/react/useLazyList';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AACjF,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAG/G,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAGnE,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAGrD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AACjF,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAC7E,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAG/G,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAGnE,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAGrD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC"}
package/dist/cjs/index.js CHANGED
@@ -488,6 +488,263 @@ class NetworkAwareRequestQueue {
488
488
  }
489
489
  }
490
490
 
491
+ class DevicePerformanceMonitor {
492
+ constructor() {
493
+ this.frameRateHistory = [];
494
+ this.memoryUsageHistory = [];
495
+ this.gcMonitoring = false;
496
+ this.HISTORY_SIZE = 10;
497
+ this.setupPerformanceMonitoring();
498
+ }
499
+ // Monitor frame rate
500
+ async getFrameRate() {
501
+ return new Promise(resolve => {
502
+ const start = performance.now();
503
+ let frames = 0;
504
+ const measure = () => {
505
+ frames++;
506
+ if (frames >= 60) { // Measure over 60 frames
507
+ const elapsed = performance.now() - start;
508
+ const fps = Math.round((frames / elapsed) * 1000);
509
+ this.frameRateHistory.push(fps);
510
+ if (this.frameRateHistory.length > this.HISTORY_SIZE) {
511
+ this.frameRateHistory.shift();
512
+ }
513
+ resolve(fps);
514
+ }
515
+ else {
516
+ requestAnimationFrame(measure);
517
+ }
518
+ };
519
+ requestAnimationFrame(measure);
520
+ });
521
+ }
522
+ // Get average frame rate
523
+ getAverageFrameRate() {
524
+ if (this.frameRateHistory.length === 0)
525
+ return 60;
526
+ const sum = this.frameRateHistory.reduce((a, b) => a + b, 0);
527
+ return sum / this.frameRateHistory.length;
528
+ }
529
+ // Monitor memory usage (where available)
530
+ getMemoryInfo() {
531
+ if ('memory' in performance) {
532
+ // @ts-ignore - memory property is non-standard
533
+ const mem = performance.memory;
534
+ if (mem) {
535
+ return {
536
+ used: mem.usedJSHeapSize,
537
+ total: mem.jsHeapSizeLimit
538
+ };
539
+ }
540
+ }
541
+ return null;
542
+ }
543
+ // Assess overall device performance
544
+ async assessPerformance() {
545
+ const frameRate = await this.getFrameRate();
546
+ const memoryInfo = this.getMemoryInfo();
547
+ // Normalize frame rate (60fps = excellent, 30fps = poor)
548
+ const frameRateScore = Math.min(frameRate / 60, 1);
549
+ // If we have memory info, factor it in
550
+ if (memoryInfo) {
551
+ const memoryScore = 1 - (memoryInfo.used / memoryInfo.total);
552
+ return (frameRateScore * 0.7) + (memoryScore * 0.3);
553
+ }
554
+ return frameRateScore;
555
+ }
556
+ setupPerformanceMonitoring() {
557
+ // Set up performance monitoring intervals
558
+ setInterval(() => {
559
+ this.getFrameRate(); // Update frame rate history
560
+ }, 5000); // Every 5 seconds
561
+ }
562
+ // Get performance insights
563
+ getPerformanceInsights() {
564
+ const frameRate = this.getAverageFrameRate();
565
+ const memoryInfo = this.getMemoryInfo();
566
+ // Calculate performance score based on frame rate
567
+ const performanceScore = Math.min(frameRate / 60, 1);
568
+ return {
569
+ frameRate,
570
+ performanceScore,
571
+ memoryUsed: (memoryInfo === null || memoryInfo === void 0 ? void 0 : memoryInfo.used) || null,
572
+ memoryTotal: (memoryInfo === null || memoryInfo === void 0 ? void 0 : memoryInfo.total) || null
573
+ };
574
+ }
575
+ }
576
+
577
+ class ContentComplexityAnalyzer {
578
+ // Analyze content complexity based on various factors
579
+ analyzeContentComplexity(items) {
580
+ if (items.length === 0)
581
+ return 0.1; // Minimal complexity for empty
582
+ let totalComplexity = 0;
583
+ for (const item of items) {
584
+ // Analyze different aspects of complexity
585
+ const textComplexity = this.analyzeTextComplexity(item);
586
+ const mediaComplexity = this.analyzeMediaComplexity(item);
587
+ const componentComplexity = this.analyzeComponentComplexity(item);
588
+ totalComplexity += (textComplexity + mediaComplexity + componentComplexity) / 3;
589
+ }
590
+ // Return average complexity normalized to 0-1 scale
591
+ return Math.min(totalComplexity / items.length, 1);
592
+ }
593
+ analyzeTextComplexity(item) {
594
+ let complexity = 0;
595
+ // Length of text content
596
+ if (typeof item.text === 'string') {
597
+ complexity += Math.min(item.text.length / 1000, 0.5); // Max 0.5 for text
598
+ }
599
+ // Number of text elements
600
+ if (Array.isArray(item.textElements)) {
601
+ complexity += Math.min(item.textElements.length / 10, 0.3); // Max 0.3 for elements
602
+ }
603
+ // Formatting complexity
604
+ if (item.hasRichText)
605
+ complexity += 0.2;
606
+ return Math.min(complexity, 1);
607
+ }
608
+ analyzeMediaComplexity(item) {
609
+ let complexity = 0;
610
+ // Number of media elements
611
+ if (Array.isArray(item.media)) {
612
+ complexity += Math.min(item.media.length * 0.2, 0.5);
613
+ }
614
+ // Media types (images, videos are more complex than icons)
615
+ if (item.hasVideo)
616
+ complexity += 0.3;
617
+ if (item.hasImage)
618
+ complexity += 0.15;
619
+ if (item.hasSVG)
620
+ complexity += 0.1;
621
+ return Math.min(complexity, 1);
622
+ }
623
+ analyzeComponentComplexity(item) {
624
+ let complexity = 0;
625
+ // Number of nested components
626
+ if (typeof item.componentDepth === 'number') {
627
+ complexity += Math.min(item.componentDepth * 0.1, 0.4);
628
+ }
629
+ // Interactivity
630
+ if (item.interactive)
631
+ complexity += 0.2;
632
+ if (item.hasAnimations)
633
+ complexity += 0.2;
634
+ if (item.hasState)
635
+ complexity += 0.1;
636
+ return Math.min(complexity, 1);
637
+ }
638
+ // Get complexity insights
639
+ getComplexityInsights(items) {
640
+ if (items.length === 0) {
641
+ return {
642
+ averageComplexity: 0.1,
643
+ textComplexity: 0,
644
+ mediaComplexity: 0,
645
+ componentComplexity: 0
646
+ };
647
+ }
648
+ let totalText = 0, totalMedia = 0, totalComponent = 0;
649
+ for (const item of items) {
650
+ totalText += this.analyzeTextComplexity(item);
651
+ totalMedia += this.analyzeMediaComplexity(item);
652
+ totalComponent += this.analyzeComponentComplexity(item);
653
+ }
654
+ return {
655
+ averageComplexity: this.analyzeContentComplexity(items),
656
+ textComplexity: totalText / items.length,
657
+ mediaComplexity: totalMedia / items.length,
658
+ componentComplexity: totalComponent / items.length
659
+ };
660
+ }
661
+ }
662
+
663
+ class AdaptiveBufferCalculator {
664
+ constructor() {
665
+ this.scrollFactor = 0.3; // Weight for scroll velocity
666
+ this.networkFactor = 0.3; // Weight for network quality
667
+ this.performanceFactor = 0.2; // Weight for device performance
668
+ this.contentFactor = 0.2; // Weight for content complexity
669
+ this.performanceMonitor = new DevicePerformanceMonitor();
670
+ this.contentAnalyzer = new ContentComplexityAnalyzer();
671
+ }
672
+ // Calculate optimal buffer size based on multiple factors
673
+ async calculateOptimalBuffer(params) {
674
+ // Calculate scroll-based buffer
675
+ const scrollBuffer = this.calculateScrollBuffer(params.scrollVelocity, params.baseBuffer);
676
+ // Calculate network-based adjustment
677
+ const networkAdjustment = this.calculateNetworkAdjustment(params.networkQuality);
678
+ // Calculate performance-based adjustment
679
+ const performanceScore = await this.performanceMonitor.assessPerformance();
680
+ const performanceAdjustment = this.calculatePerformanceAdjustment(performanceScore);
681
+ // Calculate content-based adjustment
682
+ const contentComplexity = this.contentAnalyzer.analyzeContentComplexity(params.visibleItems);
683
+ const contentAdjustment = this.calculateContentAdjustment(contentComplexity);
684
+ // Combine all factors
685
+ const weightedBuffer = (scrollBuffer * this.scrollFactor +
686
+ (params.baseBuffer * networkAdjustment) * this.networkFactor +
687
+ (params.baseBuffer * performanceAdjustment) * this.performanceFactor +
688
+ (params.baseBuffer * contentAdjustment) * this.contentFactor);
689
+ // Apply reasonable bounds
690
+ return Math.max(3, Math.min(50, Math.round(weightedBuffer)));
691
+ }
692
+ calculateScrollBuffer(velocity, baseBuffer) {
693
+ const absVelocity = Math.abs(velocity);
694
+ if (absVelocity > 2.0)
695
+ return baseBuffer * 4; // Very fast scroll
696
+ if (absVelocity > 1.0)
697
+ return baseBuffer * 2.5; // Fast scroll
698
+ if (absVelocity > 0.3)
699
+ return baseBuffer * 1.5; // Medium scroll
700
+ return baseBuffer * 0.8; // Slow scroll
701
+ }
702
+ calculateNetworkAdjustment(quality) {
703
+ switch (quality) {
704
+ case 'excellent': return 1.5; // More buffer on fast networks
705
+ case 'good': return 1.2; // Slightly more
706
+ case 'poor': return 0.7; // Less buffer on slow networks
707
+ case 'offline': return 0.5; // Minimal buffer when offline
708
+ default: return 1.0;
709
+ }
710
+ }
711
+ calculatePerformanceAdjustment(performance) {
712
+ // performance is 0-1 scale (0 = poor, 1 = excellent)
713
+ return 0.5 + (performance * 0.8); // Range from 0.5 to 1.3
714
+ }
715
+ calculateContentAdjustment(complexity) {
716
+ // complexity is 0-1 scale (0 = simple, 1 = complex)
717
+ return 1.5 - (complexity * 0.8); // Range from 0.7 to 1.5
718
+ }
719
+ // Get adaptive insights
720
+ async getAdaptiveInsights(params) {
721
+ const buffer = await this.calculateOptimalBuffer(params);
722
+ const perfInsights = this.performanceMonitor.getPerformanceInsights();
723
+ const complexityInsights = this.contentAnalyzer.getComplexityInsights(params.visibleItems);
724
+ return {
725
+ currentBuffer: buffer,
726
+ performance: {
727
+ frameRate: perfInsights.frameRate,
728
+ score: perfInsights.performanceScore
729
+ },
730
+ network: {
731
+ quality: params.networkQuality,
732
+ adjustment: this.calculateNetworkAdjustment(params.networkQuality)
733
+ },
734
+ complexity: {
735
+ score: this.contentAnalyzer.analyzeContentComplexity(params.visibleItems),
736
+ breakdown: complexityInsights
737
+ },
738
+ factors: {
739
+ scroll: this.calculateScrollBuffer(params.scrollVelocity, params.baseBuffer),
740
+ network: this.calculateNetworkAdjustment(params.networkQuality),
741
+ performance: this.calculatePerformanceAdjustment(perfInsights.performanceScore),
742
+ content: this.calculateContentAdjustment(complexityInsights.averageComplexity)
743
+ }
744
+ };
745
+ }
746
+ }
747
+
491
748
  class Engine {
492
749
  constructor(config) {
493
750
  this.fetchMoreCallback = null;
@@ -502,6 +759,7 @@ class Engine {
502
759
  this.networkDetector = new NetworkSpeedDetector();
503
760
  this.networkAwarePrefetchManager = new NetworkAwarePrefetchManager(this.networkDetector);
504
761
  this.networkAwareRequestQueue = new NetworkAwareRequestQueue(this.networkDetector);
762
+ this.adaptiveBufferCalculator = new AdaptiveBufferCalculator();
505
763
  this.totalItems = this.config.totalItems || Number.MAX_SAFE_INTEGER;
506
764
  this.state = {
507
765
  scrollTop: 0,
@@ -513,19 +771,26 @@ class Engine {
513
771
  /**
514
772
  * Update scroll position and recalculate visible range with intelligent detection
515
773
  */
516
- updateScrollPosition(scrollTop) {
774
+ async updateScrollPosition(scrollTop) {
517
775
  // Calculate velocity and other intelligent metrics
518
776
  const velocity = this.intelligentScrollDetector.calculateVelocity(scrollTop);
519
777
  this.intelligentScrollDetector.getDirection(velocity);
520
- // Calculate adaptive buffer based on scroll behavior
521
- const adaptiveBuffer = this.intelligentScrollDetector.calculateBuffer(velocity);
778
+ // Get network quality for adaptive buffering
779
+ const networkQuality = await this.networkDetector.assessConnectionQuality();
780
+ // Calculate adaptive buffer considering all factors
781
+ const adaptiveBuffer = await this.adaptiveBufferCalculator.calculateOptimalBuffer({
782
+ scrollVelocity: velocity,
783
+ networkQuality,
784
+ baseBuffer: this.intelligentScrollDetector.calculateBuffer(velocity),
785
+ visibleItems: [] // In a real implementation, this would be the actual visible items
786
+ });
522
787
  // Update window manager with adaptive buffer
523
788
  this.windowManager.updateBufferSize(adaptiveBuffer);
524
789
  this.state.scrollTop = scrollTop;
525
790
  this.state.visibleRange = this.windowManager.calculateVisibleRange(scrollTop);
526
791
  // Check if we need to fetch more items
527
- if (this.shouldFetchMore()) {
528
- this.fetchMore();
792
+ if (await this.shouldFetchMore()) {
793
+ await this.fetchMore();
529
794
  }
530
795
  }
531
796
  /**
@@ -546,6 +811,8 @@ class Engine {
546
811
  return false;
547
812
  // Get current velocity for intelligent prefetching
548
813
  const velocity = this.intelligentScrollDetector.calculateVelocity(this.state.scrollTop);
814
+ // Get network quality for adaptive prefetching
815
+ await this.networkDetector.assessConnectionQuality();
549
816
  // Calculate network-adjusted prefetch distance
550
817
  const prefetchDistance = await this.networkAwarePrefetchManager.calculateNetworkAdjustedPrefetch(velocity);
551
818
  // Use intelligent prefetch logic
@@ -842,6 +1109,9 @@ function throttle(func, limit) {
842
1109
  };
843
1110
  }
844
1111
 
1112
+ exports.AdaptiveBufferCalculator = AdaptiveBufferCalculator;
1113
+ exports.ContentComplexityAnalyzer = ContentComplexityAnalyzer;
1114
+ exports.DevicePerformanceMonitor = DevicePerformanceMonitor;
845
1115
  exports.Engine = Engine;
846
1116
  exports.IntelligentScrollDetector = IntelligentScrollDetector;
847
1117
  exports.LazyList = LazyList;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/core/WindowManager.ts","../../src/core/PrefetchManager.ts","../../src/core/RequestQueue.ts","../../src/core/IntelligentScrollDetector.ts","../../src/core/NetworkSpeedDetector.ts","../../src/core/NetworkAwarePrefetchManager.ts","../../src/core/NetworkAwareRequestQueue.ts","../../src/core/Engine.ts","../../src/platform/browser/ScrollObserver.ts","../../src/adapters/react/useLazyList.ts","../../src/adapters/react/LazyList.tsx","../../src/utils/debounce.ts","../../src/utils/throttle.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["useRef","useState","useEffect","useCallback","forwardRef"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../src/core/WindowManager.ts","../../src/core/PrefetchManager.ts","../../src/core/RequestQueue.ts","../../src/core/IntelligentScrollDetector.ts","../../src/core/NetworkSpeedDetector.ts","../../src/core/NetworkAwarePrefetchManager.ts","../../src/core/NetworkAwareRequestQueue.ts","../../src/core/DevicePerformanceMonitor.ts","../../src/core/ContentComplexityAnalyzer.ts","../../src/core/AdaptiveBufferCalculator.ts","../../src/core/Engine.ts","../../src/platform/browser/ScrollObserver.ts","../../src/adapters/react/useLazyList.ts","../../src/adapters/react/LazyList.tsx","../../src/utils/debounce.ts","../../src/utils/throttle.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["useRef","useState","useEffect","useCallback","forwardRef"],"mappings":"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"}