@363045841yyt/klinechart-core 0.8.1-alpha.2 → 0.8.1-alpha.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/dist/config/chartSettings.d.ts +15 -5
  2. package/dist/config/chartSettings.d.ts.map +1 -1
  3. package/dist/config/chartSettings.js +6 -2
  4. package/dist/config/chartSettings.js.map +1 -1
  5. package/dist/engine/chart.d.ts +12 -0
  6. package/dist/engine/chart.d.ts.map +1 -1
  7. package/dist/engine/chart.js +161 -11
  8. package/dist/engine/chart.js.map +1 -1
  9. package/dist/engine/controller/interaction.d.ts +3 -1
  10. package/dist/engine/controller/interaction.d.ts.map +1 -1
  11. package/dist/engine/controller/interaction.js +5 -3
  12. package/dist/engine/controller/interaction.js.map +1 -1
  13. package/dist/engine/indicators/scheduler.d.ts +1 -1
  14. package/dist/engine/indicators/scheduler.d.ts.map +1 -1
  15. package/dist/engine/indicators/scheduler.js +2 -0
  16. package/dist/engine/indicators/scheduler.js.map +1 -1
  17. package/dist/engine/layout/pane.d.ts.map +1 -1
  18. package/dist/engine/layout/pane.js +8 -0
  19. package/dist/engine/layout/pane.js.map +1 -1
  20. package/dist/engine/renderers/candle.js +1 -1
  21. package/dist/engine/renderers/candle.js.map +1 -1
  22. package/dist/engine/renderers/comparisonLine.d.ts +3 -0
  23. package/dist/engine/renderers/comparisonLine.d.ts.map +1 -0
  24. package/dist/engine/renderers/comparisonLine.js +83 -0
  25. package/dist/engine/renderers/comparisonLine.js.map +1 -0
  26. package/dist/engine/renderers/gridLines.d.ts.map +1 -1
  27. package/dist/engine/renderers/gridLines.js +6 -5
  28. package/dist/engine/renderers/gridLines.js.map +1 -1
  29. package/dist/engine/renderers/yAxis.d.ts.map +1 -1
  30. package/dist/engine/renderers/yAxis.js +29 -5
  31. package/dist/engine/renderers/yAxis.js.map +1 -1
  32. package/dist/engine/scale/priceScale.d.ts +21 -0
  33. package/dist/engine/scale/priceScale.d.ts.map +1 -1
  34. package/dist/engine/scale/priceScale.js +87 -72
  35. package/dist/engine/scale/priceScale.js.map +1 -1
  36. package/dist/engine/utils/tickPosition.d.ts +1 -1
  37. package/dist/engine/utils/tickPosition.d.ts.map +1 -1
  38. package/dist/engine/utils/tickPosition.js +57 -0
  39. package/dist/engine/utils/tickPosition.js.map +1 -1
  40. package/dist/plugin/types.d.ts +10 -1
  41. package/dist/plugin/types.d.ts.map +1 -1
  42. package/dist/plugin/types.js +4 -0
  43. package/dist/plugin/types.js.map +1 -1
  44. package/dist/version.d.ts +1 -1
  45. package/dist/version.js +1 -1
  46. package/package.json +1 -1
  47. package/src/config/chartSettings.ts +6 -2
  48. package/src/engine/chart.d.ts +2 -1
  49. package/src/engine/chart.ts +163 -12
  50. package/src/engine/controller/__tests__/interaction.dpr.test.ts +1 -0
  51. package/src/engine/controller/interaction.ts +5 -3
  52. package/src/engine/indicators/scheduler.ts +3 -1
  53. package/src/engine/layout/pane.ts +8 -0
  54. package/src/engine/renderers/__tests__/yAxis.renderer.test.ts +4 -0
  55. package/src/engine/renderers/candle.ts +1 -1
  56. package/src/engine/renderers/comparisonLine.ts +89 -0
  57. package/src/engine/renderers/gridLines.ts +6 -5
  58. package/src/engine/renderers/yAxis.ts +32 -5
  59. package/src/engine/scale/priceScale.ts +94 -73
  60. package/src/engine/utils/__tests__/tickPosition.test.ts +53 -0
  61. package/src/engine/utils/tickPosition.ts +78 -1
  62. package/src/plugin/types.ts +11 -1
  63. package/src/version.ts +1 -1
@@ -31,11 +31,21 @@ export declare const DEFAULT_SETTINGS: readonly [{
31
31
  readonly default: false;
32
32
  readonly group: "main";
33
33
  }, {
34
- readonly key: "logarithmicScale";
35
- readonly label: "对数价格轴";
36
- readonly type: "boolean";
37
- readonly default: false;
34
+ readonly key: "axisType";
35
+ readonly label: "轴类型";
36
+ readonly type: "select";
37
+ readonly default: "linear";
38
38
  readonly group: "main";
39
+ readonly options: readonly [{
40
+ readonly value: "linear";
41
+ readonly label: "常规轴";
42
+ }, {
43
+ readonly value: "log";
44
+ readonly label: "对数轴";
45
+ }, {
46
+ readonly value: "percent";
47
+ readonly label: "百分比轴";
48
+ }];
39
49
  }, {
40
50
  readonly key: "disableMainPaneVerticalScroll";
41
51
  readonly label: "主图纵轴刻度自适应调整";
@@ -47,7 +57,7 @@ export declare const DEFAULT_SETTINGS: readonly [{
47
57
  readonly label: "亚洲市场颜色(红涨绿跌)";
48
58
  readonly type: "boolean";
49
59
  readonly default: false;
50
- readonly group: "main";
60
+ readonly group: "style";
51
61
  }, {
52
62
  readonly key: "enableWebGLRendering";
53
63
  readonly label: "启用 WebGL 硬件加速渲染";
@@ -1 +1 @@
1
- {"version":3,"file":"chartSettings.d.ts","sourceRoot":"","sources":["../../src/config/chartSettings.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,SAAS,GAAG,QAAQ,CAAA;IAC1B,OAAO,EAAE,OAAO,GAAG,MAAM,CAAA;IACzB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CAC7C;AAED;;;GAGG;AACH,wBAAgB,aAAa,IAAI,QAAQ,GAAG,QAAQ,GAAG,SAAS,CA0B/D;AAKD,aAAa;AACb,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAanB,CAAA;AAEV,6CAA6C;AAC7C,MAAM,MAAM,aAAa,GAAG;KACzB,CAAC,IAAI,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM;CACnE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,mBAAmB,GAAG,SAAS,CAAC,GAAG;IACvE,mBAAmB,CAAC,EAAE,mBAAmB,CAAA;CAC1C,CAAA;AAED,wBAAwB;AACxB,eAAO,MAAM,oBAAoB,yBAAyB,CAAA;AAC1D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAA"}
1
+ {"version":3,"file":"chartSettings.d.ts","sourceRoot":"","sources":["../../src/config/chartSettings.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,SAAS,GAAG,QAAQ,CAAA;IAC1B,OAAO,EAAE,OAAO,GAAG,MAAM,CAAA;IACzB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CAC7C;AAED;;;GAGG;AACH,wBAAgB,aAAa,IAAI,QAAQ,GAAG,QAAQ,GAAG,SAAS,CA0B/D;AAKD,aAAa;AACb,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiBnB,CAAA;AAEV,6CAA6C;AAC7C,MAAM,MAAM,aAAa,GAAG;KACzB,CAAC,IAAI,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM;CACnE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,mBAAmB,GAAG,SAAS,CAAC,GAAG;IACvE,mBAAmB,CAAC,EAAE,mBAAmB,CAAA;CAC1C,CAAA;AAED,wBAAwB;AACxB,eAAO,MAAM,oBAAoB,yBAAyB,CAAA;AAC1D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAA"}
@@ -39,9 +39,13 @@ const ENABLE_WEBGL_DEFAULT = getDeviceType() === 'desktop';
39
39
  export const DEFAULT_SETTINGS = [
40
40
  { key: 'showGridLines', label: '显示网格', type: 'boolean', default: true, group: 'main' },
41
41
  { key: 'showVolumePriceMarkers', label: '显示量价关系标记', type: 'boolean', default: false, group: 'main' },
42
- { key: 'logarithmicScale', label: '对数价格轴', type: 'boolean', default: false, group: 'main' },
42
+ { key: 'axisType', label: '轴类型', type: 'select', default: 'linear', group: 'main', options: [
43
+ { value: 'linear', label: '常规轴' },
44
+ { value: 'log', label: '对数轴' },
45
+ { value: 'percent', label: '百分比轴' },
46
+ ] },
43
47
  { key: 'disableMainPaneVerticalScroll', label: '主图纵轴刻度自适应调整', type: 'boolean', default: true, group: 'main' },
44
- { key: 'isAsiaMarket', label: '亚洲市场颜色(红涨绿跌)', type: 'boolean', default: false, group: 'main' },
48
+ { key: 'isAsiaMarket', label: '亚洲市场颜色(红涨绿跌)', type: 'boolean', default: false, group: 'style' },
45
49
  { key: 'enableWebGLRendering', label: '启用 WebGL 硬件加速渲染', type: 'boolean', default: ENABLE_WEBGL_DEFAULT, group: 'main' },
46
50
  { key: 'theme', label: '主题', type: 'select', default: 'light', group: 'main', options: [
47
51
  { value: 'light', label: '浅色' },
@@ -1 +1 @@
1
- {"version":3,"file":"chartSettings.js","sourceRoot":"","sources":["../../src/config/chartSettings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chartSettings.js","sourceRoot":"","sources":["../../src/config/chartSettings.ts"],"names":[],"mappings":"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"}
@@ -100,6 +100,10 @@ export declare class Chart {
100
100
  private _dataFetcher;
101
101
  private _dataBuffer;
102
102
  private _dataBufferUnsub;
103
+ private _comparisonSpecs;
104
+ private _comparisonData;
105
+ private _comparisonBuffers;
106
+ private _comparisonBufferUnsubs;
103
107
  private raf;
104
108
  private pendingUpdateLevel;
105
109
  private _internalViewport;
@@ -139,6 +143,8 @@ export declare class Chart {
139
143
  * TODO: 阶段5迁移为插件注册,Scheduler 通过事件监听 data/viewport 变更,Chart 不直接持有
140
144
  */
141
145
  private indicatorScheduler;
146
+ /** 数据已更新但 Worker 指标尚未回写,期间避免用旧指标 state 绘制中间帧 */
147
+ private pendingIndicatorDataUpdate;
142
148
  /** 上次可见范围(用于检测视口变化) */
143
149
  private lastVisibleRange;
144
150
  /** Overlay 帧复用的最近主渲染结果 */
@@ -379,6 +385,7 @@ export declare class Chart {
379
385
  * @param paneId 目标 pane ID
380
386
  */
381
387
  resetPriceOffset(paneId: string): void;
388
+ resetPriceTransform(paneId: string): void;
382
389
  /**
383
390
  * 缩放价格轴(用于右侧刻度栏上下拖动)
384
391
  * @param paneId 目标 pane ID
@@ -472,6 +479,11 @@ export declare class Chart {
472
479
  setDataFetcher(fetcher: DataFetcher | null): void;
473
480
  get dataBuffer(): DataBuffer;
474
481
  checkVisibleRangeGap(): void;
482
+ private getComparisonEquivalentPriceRange;
483
+ private findComparisonBaseline;
484
+ private mergeNumericRanges;
485
+ private syncComparisonBuffers;
486
+ private clearComparisonBuffers;
475
487
  /**
476
488
  * 设置当前符号并触发数据加载
477
489
  */
@@ -1 +1 @@
1
- {"version":3,"file":"chart.d.ts","sourceRoot":"","sources":["../../src/engine/chart.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EAA0B,KAAK,MAAM,EAAE,KAAK,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AACzF,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AAExD,OAAO,EAAQ,KAAK,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AACpE,OAAO,EAAE,qBAAqB,EAAE,KAAK,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC1F,YAAY,EAAE,mBAAmB,EAAE,CAAA;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE7C,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAC1E,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAE1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAG3D,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAEpE,OAAO,EAEH,KAAK,cAAc,EAEnB,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAG3B,KAAK,QAAQ,EACb,KAAK,gBAAgB,EAKxB,MAAM,WAAW,CAAA;AAClB,OAAO,EAA8B,KAAK,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAezF,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,CAAA;AAE/C;;;;GAIG;AACH;;;;;GAKG;AACH,MAAM,MAAM,QAAQ,GAAG;IACnB,SAAS,EAAE,cAAc,CAAA;IACzB,WAAW,EAAE,cAAc,CAAA;IAC3B,cAAc,EAAE,cAAc,CAAA;IAC9B,WAAW,EAAE,iBAAiB,CAAA;CACjC,CAAA;AAED;;;;;GAKG;AACH,MAAM,MAAM,QAAQ,GAAG;IACnB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,QAAQ,CAAA;IACf,YAAY,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAA;CAC3C,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC1B,UAAU,EAAE,iBAAiB,CAAA;IAC7B,aAAa,EAAE,iBAAiB,CAAA;IAChC,WAAW,EAAE,iBAAiB,CAAA;CACjC,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACvB,+BAA+B;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,yBAAyB;IACzB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,MAAM,CAAA;IACtB,gBAAgB,EAAE,MAAM,CAAA;IACxB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,QAAQ,EAAE,CAAA;IAEjB,2BAA2B;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB,gCAAgC;IAChC,eAAe,CAAC,EAAE,MAAM,CAAA;IAExB,4BAA4B;IAC5B,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAE/B;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IAEnB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC5B,CAAA;AAED,0DAA0D;AAC1D,MAAM,MAAM,cAAc,GAAG,MAAM,EAAE,CAAA;AAErC,MAAM,MAAM,QAAQ,GAAG;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,GAAG,EAAE,MAAM,CAAA;CACd,CAAA;AAED,KAAK,oBAAoB,GAAG,IAAI,CAAC,YAAY,EAAE,QAAQ,GAAG,MAAM,CAAC,GAAG;IAChE,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;CACf,CAAA;AAiBD,qBAAa,KAAK;IACd,OAAO,CAAC,GAAG,CAAU;IACrB,OAAO,CAAC,GAAG,CAAsB;IACjC,OAAO,CAAC,aAAa,CAAkB;IACvC,OAAO,CAAC,YAAY,CAA2B;IAC/C,OAAO,CAAC,WAAW,CAA+B;IAClD,OAAO,CAAC,gBAAgB,CAA4B;IAEpD,OAAO,CAAC,GAAG,CAAsB;IACjC,OAAO,CAAC,kBAAkB,CAA+B;IACzD,OAAO,CAAC,iBAAiB,CAAwB;IAEjD,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,aAAa,CAAe;IACpC,OAAO,CAAC,YAAY,CAAqB;IACzC,QAAQ,CAAC,WAAW,EAAE,qBAAqB,CAAA;IAE3C,WAAW;IACX,OAAO,CAAC,UAAU,CAAgB;IAElC,eAAe;IACf,OAAO,CAAC,qBAAqB,CAAuB;IAEpD,4DAA4D;IAC5D,OAAO,CAAC,UAAU,CAAI;IAEtB,uBAAuB;IACvB,OAAO,CAAC,cAAc,CAAC,CAAgB;IAEvC,iCAAiC;IACjC,OAAO,CAAC,QAAQ,CAAC,CAAY;IAE7B,mBAAmB;IACnB,OAAO,CAAC,YAAY,CAA0B;IAE9C,uDAAuD;IACvD,OAAO,CAAC,gBAAgB,CAAI;IAE5B,oCAAoC;IACpC,OAAO,CAAC,mBAAmB,CAAQ;IAEnC,qBAAqB;IACrB,OAAO,CAAC,QAAQ,CAAoB;IAEpC,iDAAiD;IACjD,OAAO,CAAC,mBAAmB,CAAiC;IAE5D,kBAAkB;IAClB,OAAO,CAAC,QAAQ,CAAwC;IAExD,qCAAqC;IACrC,OAAO,CAAC,kBAAkB,CAAoB;IAE9C,iCAAiC;IACjC,OAAO,CAAC,gBAAgB,CAAY;IAEpC,aAAa;IACb,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAQ;IAEvC;;OAEG;IACH,OAAO,CAAC,kBAAkB,CAAoB;IAE9C,uBAAuB;IACvB,OAAO,CAAC,gBAAgB,CAAqC;IAE7D,0BAA0B;IAC1B,OAAO,CAAC,eAAe,CAOR;IAEf,YAAY;IACZ,OAAO,CAAC,cAAc,CAAuB;IAE7C,2CAA2C;IAC3C,OAAO,CAAC,qBAAqB,CAAoG;IAEjI,yBAAyB;IACzB,OAAO,CAAC,MAAM,CAAC,uBAAuB,CAAyE;IAE/G,OAAO,CAAC,MAAM,KAAK,mBAAmB,GAUrC;IAED,4BAA4B;IAC5B,OAAO,CAAC,MAAM,CAAC,0BAA0B,CAAwB;IAEjE,OAAO,CAAC,MAAM,KAAK,sBAAsB,GAOxC;IAED;;;;;OAKG;IACH,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC,GAAG,OAAO;IA0CrG;;;;OAIG;IACH,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IAmBlD;;;;OAIG;IACH,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAQhE;;;OAGG;IACH,uBAAuB,IAAI,MAAM,EAAE;IAInC;;;OAGG;IACH,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IAInD;;;;OAIG;IACH,yBAAyB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC,GAAG,IAAI;IAuBvG;;;OAGG;IACH,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC,GAAG,IAAI;IAI7F;;OAEG;IACH,mBAAmB,IAAI,IAAI;IAS3B;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAgBnC;;OAEG;IACH,OAAO,CAAC,4BAA4B;IAOpC;;OAEG;IACH,OAAO,CAAC,8BAA8B;IAetC;;OAEG;IACH,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI;IAoBnD;;;;OAIG;gBACS,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,YAAY;IA+D5C,OAAO,CAAC,iBAAiB;IA+CzB,OAAO,CAAC,kBAAkB;IA8C1B,OAAO,CAAC,qBAAqB;IAiB7B,OAAO,CAAC,eAAe;IAQvB,WAAW,IAAI,QAAQ,GAAG,IAAI;IAI9B,aAAa,IAAI,MAAM;IAIvB,wCAAwC;IACxC,mBAAmB,IAAI,MAAM;IAI7B,aAAa;IACb,IAAI,MAAM,IAAI,cAAc,CAE3B;IAID,cAAc;IACd,WAAW,CAAC,MAAM,EAAE,cAAc,GAAG,sBAAsB,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAOpG,cAAc;IACd,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIlC,cAAc;IACd,WAAW,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAInF,oBAAoB;IACpB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAIzE,eAAe;IACf,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAIxD,cAAc;IACd,eAAe,IAAI,cAAc,EAAE;IAInC,mBAAmB;IACnB,cAAc,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI;IAa7C;;;OAGG;IACH,IAAI,CAAC,KAAK,GAAE,WAA6B;IAoCzC,OAAO,CAAC,gBAAgB;IAwExB,OAAO,CAAC,gBAAgB;IAkBxB,OAAO,CAAC,WAAW;IAwGnB,OAAO,CAAC,WAAW;IAuEnB;;;;OAIG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAoBxE,eAAe;IACf,iBAAiB,IAAI,MAAM;IAI3B,wBAAwB;IACxB,gBAAgB,IAAI,YAAY,EAAE;IAIlC,mDAAmD;IACnD,gBAAgB,IAAI,aAAa;IAIjC,cAAc;IACd,mBAAmB,CAAC,OAAO,EAAE,kBAAkB,EAAE,GAAG,IAAI;IAKxD,cAAc;IACd,kBAAkB,IAAI,IAAI;IAK1B,8CAA8C;IAC9C,MAAM;IAIN,kCAAkC;IAClC,SAAS;IAIT;;;;OAIG;IACH,kBAAkB,CAAC,KAAK,EAAE,YAAY,GAAG,cAAc;IAyBvD;;;OAGG;IACH,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC;IAqB5C;;;;;;OAMG;IACH,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAI;IAKzC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,IAAI;IAI1C,UAAU,CAAC,GAAG,EAAE,QAAQ,GAAG,IAAI;IAY/B,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAM1C,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC,GAAG,IAAI;IAqB5H,aAAa;IACb,WAAW,CAAC,QAAQ,EAAE,OAAO,WAAW,EAAE,aAAa,EAAE,GAAG,IAAI;IAMhE,iBAAiB;IACjB,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAM7C,8BAA8B;IAC9B,kBAAkB,IAAI,QAAQ,EAAE;IAiBhC,OAAO,CAAC,oBAAoB;IAW5B,OAAO,CAAC,oBAAoB;IAS5B;;;;OAIG;IACH,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;IAsFhE,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAc7B;;;OAGG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAQhC;;;OAGG;IACH,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAMhC;;;;;;OAMG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC,GAAG,OAAO;IAyBzH;;;OAGG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAInC;;;;;OAKG;IACH,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC,GAAG,IAAI;IAInI;;;;OAIG;IACH,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI1E;;OAEG;IACH,aAAa,IAAI,IAAI;IAkBrB;;;OAGG;IACH,oBAAoB,IAAI,gBAAgB,EAAE;IAI1C;;OAEG;IACH,iBAAiB,IAAI,YAAY,EAAE;IAInC;;;OAGG;IACH,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAIzD,OAAO,CAAC,uBAAuB;IA2C/B,wBAAwB;IACxB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAS;IAEhD;;;;OAIG;IACH,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAapD;;;OAGG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAOtC;;;;OAIG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAUhD;;;OAGG;IACH,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE;IA0C5B,4CAA4C;IAC5C,OAAO,IAAI,SAAS,EAAE;IAItB,4BAA4B;IAC5B,qBAAqB,IAAI,kBAAkB;IAI3C,OAAO,CAAC,oBAAoB;IAI5B,mBAAmB,IAAI,MAAM;IAI7B,0BAA0B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAKxD,qCAAqC;IACrC,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAWjD,+BAA+B;IAC/B,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAO9C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAK;IAC1C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAK;IAEnD,kDAAkD;IAClD,eAAe,IAAI,MAAM;IAazB,gBAAgB;IAChB,MAAM;IAaN;;;OAGG;IACH,YAAY,CAAC,KAAK,GAAE,WAA6B,GAAG,IAAI;IA+BxD,aAAa;IACP,OAAO;IAsCb,iBAAiB;IACjB,OAAO,CAAC,SAAS;IAuEjB,OAAO,CAAC,uBAAuB;IAa/B,OAAO,CAAC,qBAAqB;IAc7B,OAAO,CAAC,0BAA0B;IA0BlC,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,yBAAyB;IA6CjC,kCAAkC;IAClC,OAAO,CAAC,WAAW;IA0DnB,OAAO,CAAC,eAAe;IAiGvB,OAAO,CAAC,eAAe,CAUrB;IAEF,OAAO,CAAC,WAAW,CAA6C;IAChE,OAAO,CAAC,cAAc,CAA8C;IACpE,OAAO,CAAC,YAAY,CAA0C;IAC9D,OAAO,CAAC,kBAAkB,CAA6C;IACvE,OAAO,CAAC,eAAe,CAAqE;IAC5F,OAAO,CAAC,iBAAiB,CAAqD;IAC9E,OAAO,CAAC,iBAAiB,CAA+B;IACxD,OAAO,CAAC,kBAAkB,CAexB;IAEF,OAAO,CAAC,mBAAmB,CAqBzB;IACF,OAAO,CAAC,iBAAiB,CAQvB;IAEF,aAAa;IACb,IAAI,QAAQ,IAAI,MAAM,CAAC,aAAa,CAAC,CAEpC;IAED,WAAW;IACX,IAAI,IAAI,IAAI,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAE3C;IAED,WAAW;IACX,IAAI,OAAO,IAAI,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAE/C;IAED,WAAW;IACX,IAAI,KAAK,IAAI,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,CAEpC;IAED,iCAAiC;IACjC,IAAI,UAAU,IAAI,QAAQ,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAE3D;IAED,gCAAgC;IAChC,IAAI,QAAQ,IAAI,QAAQ,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAEnD;IAED,eAAe;IACf,IAAI,WAAW,IAAI,MAAM,CAAC,eAAe,GAAG,IAAI,CAAC,CAEhD;IAED,eAAe;IACf,IAAI,QAAQ,IAAI,MAAM,CAAC,aAAa,CAAC,OAAO,WAAW,EAAE,aAAa,CAAC,CAAC,CAEvE;IAED,aAAa;IACb,IAAI,UAAU,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAEzD;IAED,IAAI,UAAU,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC,CAEnC;IAED,aAAa;IACb,IAAI,gBAAgB,IAAI,MAAM,CAAC,mBAAmB,CAAC,CAElD;IAID;;;OAGG;IACH,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,IAAI;IAIhC;;;OAGG;IACH,UAAU,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,IAAI;IAKtC;;OAEG;IACH,cAAc,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,GAAG,IAAI;IAKjD,IAAI,UAAU,IAAI,UAAU,CAE3B;IAED,oBAAoB,IAAI,IAAI;IAqB5B;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,aAAa,CAAC,UAAU,CAAC,GAAG,IAAI;IAkDlD;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI;IAOvC;;;OAGG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAKlD;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAI9B;;OAEG;IACH,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAI/B;;;OAGG;IACH,OAAO,CAAC,SAAS;IA4CjB;;;;;;;OAOG;IACH,kBAAkB,CAAC,CAAC,EAAE,YAAY,EAAE,iBAAiB,CAAC,EAAE;QACpD,aAAa,CAAC,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,KAAK,OAAO,CAAA;QACpE,aAAa,CAAC,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,KAAK,OAAO,CAAA;QACpE,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,KAAK,OAAO,CAAA;KACrE,GAAG,OAAO;IAsDX;;;OAGG;IACH,gBAAgB,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI;IAarC;;;OAGG;IACH,iBAAiB,IAAI,IAAI;IAMzB;;;;OAIG;IACH,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI;IAQ3D;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAoB5B;;;;;;OAMG;IACH,YAAY,CACR,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,GAAG,KAAK,EACpB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,MAAM,GAAG,IAAI;IAkBhB;;;;OAIG;IACH,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAkB5C;;;;;OAKG;IACH,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO;IAmBnF;;;;OAIG;IACH,iBAAiB,CAAC,kBAAkB,EAAE,MAAM,EAAE,GAAG,OAAO;IAWxD;;;;;OAKG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;IAMtD;;;OAGG;IACH,cAAc,CAAC,IAAI,EAAE,eAAe,GAAG,IAAI,GAAG,IAAI;IAKlD;;;OAGG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAKtC;;OAEG;IACH,aAAa,IAAI,IAAI;IAMrB;;;OAGG;IACH,oBAAoB,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI7D;;;OAGG;IACH,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI;CAS5D;AAID,MAAM,MAAM,aAAa,GAAG;IACxB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,GAAG,EAAE,MAAM,CAAA;IACX,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAA;IACrC,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,KAAK,CAAA;AAE1C,MAAM,WAAW,iBAAiB;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,aAAa,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAClC;AAED,MAAM,WAAW,WAAW;IACxB,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/B,KAAK,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,MAAM,eAAe,GAAG,WAAW,GAAG,YAAY,GAAG,KAAK,GAAG,WAAW,GAAG,OAAO,CAAA;AAExF,MAAM,WAAW,aAAa;IAC1B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,eAAe,CAAA;CACxB"}
1
+ {"version":3,"file":"chart.d.ts","sourceRoot":"","sources":["../../src/engine/chart.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,7 @@ import { DrawingStore } from './drawing';
19
19
  import { createDrawingRendererPlugin, createDrawingLabelOverlayPlugin } from './drawing/plugin';
20
20
  import { createGridLinesRendererPlugin } from './renderers/gridLines';
21
21
  import { createCandleRenderer } from './renderers/candle';
22
+ import { createComparisonLineRenderer } from './renderers/comparisonLine';
22
23
  import { createLastPriceLineRendererPlugin, createLastPriceLabelRegistrarPlugin } from './renderers/lastPrice';
23
24
  import { createCustomMarkersRenderer } from './renderers/customMarkers';
24
25
  import { createExtremaMarkersRendererPlugin } from './renderers/extremaMarkers';
@@ -34,6 +35,10 @@ export class Chart {
34
35
  _dataFetcher = null;
35
36
  _dataBuffer = new DataBuffer();
36
37
  _dataBufferUnsub = null;
38
+ _comparisonSpecs = [];
39
+ _comparisonData = new Map();
40
+ _comparisonBuffers = new Map();
41
+ _comparisonBufferUnsubs = new Map();
37
42
  raf = null;
38
43
  pendingUpdateLevel = UpdateLevel.All;
39
44
  _internalViewport = null;
@@ -73,6 +78,8 @@ export class Chart {
73
78
  * TODO: 阶段5迁移为插件注册,Scheduler 通过事件监听 data/viewport 变更,Chart 不直接持有
74
79
  */
75
80
  indicatorScheduler;
81
+ /** 数据已更新但 Worker 指标尚未回写,期间避免用旧指标 state 绘制中间帧 */
82
+ pendingIndicatorDataUpdate = false;
76
83
  /** 上次可见范围(用于检测视口变化) */
77
84
  lastVisibleRange = { start: 0, end: 0 };
78
85
  /** Overlay 帧复用的最近主渲染结果 */
@@ -328,7 +335,10 @@ export class Chart {
328
335
  for (const definition of getBuiltinIndicatorDefinitions()) {
329
336
  this.indicatorScheduler.registerIndicator(definition);
330
337
  }
331
- this.indicatorScheduler.setInvalidateCallback(() => this.scheduleDraw());
338
+ this.indicatorScheduler.setInvalidateCallback(() => {
339
+ this.pendingIndicatorDataUpdate = false;
340
+ this.scheduleDraw();
341
+ });
332
342
  // 注册副图活跃列表提供者,调度器据此只计算启用的副图
333
343
  this.indicatorScheduler.setActiveSubPaneProvider(() => this.subPaneManager.getPaneIds());
334
344
  this.initPanes();
@@ -355,6 +365,7 @@ export class Chart {
355
365
  const axisWidth = this.opt.rightAxisWidth + (this.opt.priceLabelWidth ?? 0);
356
366
  this.useRenderer(createGridLinesRendererPlugin());
357
367
  this.useRenderer(createCandleRenderer());
368
+ this.useRenderer(createComparisonLineRenderer());
358
369
  this.useRenderer(createLastPriceLineRendererPlugin());
359
370
  this.useRenderer(createLastPriceLabelRegistrarPlugin());
360
371
  this.useRenderer(createCustomMarkersRenderer());
@@ -501,10 +512,12 @@ export class Chart {
501
512
  updateSettings(settings) {
502
513
  this.settings = { ...settings };
503
514
  this.interaction.updateSettings(settings);
504
- // 同步对数刻度设置到所有 pane
505
- const scaleType = settings.logarithmicScale ? 'log' : 'linear';
515
+ // 同步刻度类型设置到所有 pane(百分比仅用于主图)
516
+ const axisType = settings.axisType ?? 'linear';
506
517
  for (const renderer of this.paneRenderers) {
507
- renderer.getPane().yAxis.setScaleType(scaleType);
518
+ const pane = renderer.getPane();
519
+ const scaleType = axisType === 'percent' && pane.role !== 'price' ? 'linear' : axisType;
520
+ pane.yAxis.setScaleType(scaleType);
508
521
  }
509
522
  this.scheduleDraw();
510
523
  }
@@ -621,7 +634,12 @@ export class Chart {
621
634
  const { candleSurface, lineSurface } = renderer.getWebGL();
622
635
  if (!useCachedFrame) {
623
636
  const indicatorRange = pane.role === 'price' ? mainIndicatorRange : null;
624
- pane.updateRange(this._internalData, range, indicatorRange);
637
+ const comparisonRange = pane.id === 'main' ? this.getComparisonEquivalentPriceRange(range) : null;
638
+ const mergedRange = this.mergeNumericRanges(indicatorRange, comparisonRange);
639
+ pane.updateRange(this._internalData, range, mergedRange);
640
+ if (pane.id === 'main' && this.settings.disableMainPaneVerticalScroll) {
641
+ pane.yAxis.resetTransform();
642
+ }
625
643
  }
626
644
  const shouldUpdateMain = level === UpdateLevel.Main || level === UpdateLevel.All;
627
645
  const shouldUpdateOverlay = level === UpdateLevel.All || (level === UpdateLevel.Overlay && (hasCrosshair || this.overlayHadCrosshair));
@@ -649,6 +667,8 @@ export class Chart {
649
667
  overlayCtx: overlayCtx ?? undefined,
650
668
  pane: wrapPaneInfo(pane),
651
669
  data: this._internalData,
670
+ comparisonData: this._comparisonData,
671
+ comparisonSymbols: this._comparisonSpecs,
652
672
  range,
653
673
  scrollLeft: vp.scrollLeft,
654
674
  kWidth: this.opt.kWidth,
@@ -719,6 +739,10 @@ export class Chart {
719
739
  getPriceOffset: () => 0,
720
740
  getDisplayRange: (baseRange) => baseRange ?? { maxPrice: 0, minPrice: 0 },
721
741
  getScaleType: () => 'linear',
742
+ getBasePrice: () => null,
743
+ toPercent: () => 0,
744
+ fromPercent: () => 0,
745
+ getDisplayPercentRange: () => ({ minPct: 0, maxPct: 0 }),
722
746
  },
723
747
  priceRange: { maxPrice: 0, minPrice: 0 },
724
748
  },
@@ -1225,6 +1249,13 @@ export class Chart {
1225
1249
  renderer.getPane().yAxis.resetPriceOffset();
1226
1250
  this.scheduleDraw();
1227
1251
  }
1252
+ resetPriceTransform(paneId) {
1253
+ const renderer = this.paneRenderers.find(r => r.getPane().id === paneId);
1254
+ if (!renderer)
1255
+ return;
1256
+ renderer.getPane().yAxis.resetTransform();
1257
+ this.scheduleDraw();
1258
+ }
1228
1259
  /**
1229
1260
  * 缩放价格轴(用于右侧刻度栏上下拖动)
1230
1261
  * @param paneId 目标 pane ID
@@ -1270,8 +1301,14 @@ export class Chart {
1270
1301
  this.lastVisibleRange = { start, end };
1271
1302
  }
1272
1303
  // 触发指标计算(在 scheduleDraw 之前,确保渲染器读到最新状态)
1273
- this.indicatorScheduler.update(this._internalData, this.lastVisibleRange);
1274
- this.scheduleDraw();
1304
+ const indicatorsReady = this.indicatorScheduler.update(this._internalData, this.lastVisibleRange);
1305
+ if (indicatorsReady) {
1306
+ this.pendingIndicatorDataUpdate = false;
1307
+ this.scheduleDraw();
1308
+ }
1309
+ else {
1310
+ this.pendingIndicatorDataUpdate = true;
1311
+ }
1275
1312
  }
1276
1313
  /** 获取当前数据源(供 renderers 和 interaction 使用) */
1277
1314
  getData() {
@@ -1383,6 +1420,7 @@ export class Chart {
1383
1420
  this._dataBufferUnsub = null;
1384
1421
  }
1385
1422
  this._dataBuffer.dispose();
1423
+ this.clearComparisonBuffers();
1386
1424
  // 清理尺寸观察器
1387
1425
  this.resizeObserver?.disconnect();
1388
1426
  this.resizeObserver = undefined;
@@ -1814,6 +1852,9 @@ export class Chart {
1814
1852
  setDataFetcher(fetcher) {
1815
1853
  this._dataFetcher = fetcher;
1816
1854
  this._dataBuffer.setFetcher(fetcher);
1855
+ for (const buffer of this._comparisonBuffers.values()) {
1856
+ buffer.setFetcher(fetcher);
1857
+ }
1817
1858
  }
1818
1859
  get dataBuffer() {
1819
1860
  return this._dataBuffer;
@@ -1840,14 +1881,117 @@ export class Chart {
1840
1881
  this._dataBuffer.ensureRange(firstVisibleTs, window.earliestTs);
1841
1882
  }
1842
1883
  }
1884
+ getComparisonEquivalentPriceRange(range) {
1885
+ if (this._comparisonSpecs.length === 0 || this._comparisonData.size === 0)
1886
+ return null;
1887
+ const baseIndex = Math.max(0, range.start);
1888
+ const mainBase = this._internalData[baseIndex]?.close;
1889
+ const baseTimestamp = this._internalData[baseIndex]?.timestamp;
1890
+ if (!Number.isFinite(mainBase) || mainBase <= 0 || baseTimestamp === undefined)
1891
+ return null;
1892
+ let min = Number.POSITIVE_INFINITY;
1893
+ let max = Number.NEGATIVE_INFINITY;
1894
+ for (const spec of this._comparisonSpecs) {
1895
+ const data = this._comparisonData.get(spec.symbol);
1896
+ if (!data?.length)
1897
+ continue;
1898
+ const baseline = this.findComparisonBaseline(data, baseTimestamp);
1899
+ if (!baseline || !Number.isFinite(baseline.close) || baseline.close <= 0)
1900
+ continue;
1901
+ const byTimestamp = new Map();
1902
+ for (const item of data)
1903
+ byTimestamp.set(item.timestamp, item);
1904
+ for (let i = range.start; i < range.end && i < this._internalData.length; i++) {
1905
+ const mainItem = this._internalData[i];
1906
+ if (!mainItem)
1907
+ continue;
1908
+ const item = byTimestamp.get(mainItem.timestamp);
1909
+ if (!item || !Number.isFinite(item.close))
1910
+ continue;
1911
+ const pct = (item.close - baseline.close) / baseline.close;
1912
+ const equivalentPrice = mainBase * (1 + pct);
1913
+ if (!Number.isFinite(equivalentPrice))
1914
+ continue;
1915
+ min = Math.min(min, equivalentPrice);
1916
+ max = Math.max(max, equivalentPrice);
1917
+ }
1918
+ }
1919
+ if (!Number.isFinite(min) || !Number.isFinite(max))
1920
+ return null;
1921
+ return { min, max };
1922
+ }
1923
+ findComparisonBaseline(data, timestamp) {
1924
+ for (const item of data) {
1925
+ if (item.timestamp >= timestamp)
1926
+ return item;
1927
+ }
1928
+ return null;
1929
+ }
1930
+ mergeNumericRanges(left, right) {
1931
+ if (!left)
1932
+ return right ?? null;
1933
+ if (!right)
1934
+ return left;
1935
+ return {
1936
+ min: Math.min(left.min, right.min),
1937
+ max: Math.max(left.max, right.max),
1938
+ };
1939
+ }
1940
+ syncComparisonBuffers(specs) {
1941
+ this._comparisonSpecs = [...specs];
1942
+ const nextKeys = new Set(specs.map((spec) => spec.symbol));
1943
+ for (const [key, buffer] of this._comparisonBuffers) {
1944
+ if (nextKeys.has(key))
1945
+ continue;
1946
+ this._comparisonBufferUnsubs.get(key)?.();
1947
+ this._comparisonBufferUnsubs.delete(key);
1948
+ buffer.dispose();
1949
+ this._comparisonBuffers.delete(key);
1950
+ this._comparisonData.delete(key);
1951
+ }
1952
+ if (!this._dataFetcher)
1953
+ return;
1954
+ for (const spec of specs) {
1955
+ const key = spec.symbol;
1956
+ let buffer = this._comparisonBuffers.get(key);
1957
+ if (!buffer) {
1958
+ const newBuffer = new DataBuffer();
1959
+ newBuffer.setFetcher(this._dataFetcher);
1960
+ this._comparisonBuffers.set(key, newBuffer);
1961
+ const unsubscribe = newBuffer.data.subscribe(() => {
1962
+ this._comparisonData.set(key, [...newBuffer.data.peek()]);
1963
+ this.scheduleDraw();
1964
+ });
1965
+ this._comparisonBufferUnsubs.set(key, unsubscribe);
1966
+ buffer = newBuffer;
1967
+ }
1968
+ else {
1969
+ buffer.setFetcher(this._dataFetcher);
1970
+ }
1971
+ buffer.setSymbol(spec);
1972
+ }
1973
+ }
1974
+ clearComparisonBuffers() {
1975
+ for (const unsubscribe of this._comparisonBufferUnsubs.values())
1976
+ unsubscribe();
1977
+ this._comparisonBufferUnsubs.clear();
1978
+ for (const buffer of this._comparisonBuffers.values())
1979
+ buffer.dispose();
1980
+ this._comparisonBuffers.clear();
1981
+ this._comparisonData.clear();
1982
+ this._comparisonSpecs = [];
1983
+ }
1843
1984
  /**
1844
1985
  * 设置当前符号并触发数据加载
1845
1986
  */
1846
1987
  setSymbols(specs) {
1847
1988
  this._symbolsSignal.set(specs);
1848
- if (specs.length === 0)
1989
+ if (specs.length === 0) {
1990
+ this.clearComparisonBuffers();
1849
1991
  return;
1992
+ }
1850
1993
  const spec = specs[0];
1994
+ this.syncComparisonBuffers(specs.slice(1));
1851
1995
  if (!this._dataFetcher)
1852
1996
  return;
1853
1997
  this._dataBuffer.setFetcher(this._dataFetcher);
@@ -1875,8 +2019,14 @@ export class Chart {
1875
2019
  const { start, end } = getVisibleRange(this.cachedScrollLeft, plotWidth, this.opt.kWidth, this.opt.kGap, this._internalData.length, dpr);
1876
2020
  this.lastVisibleRange = { start, end };
1877
2021
  }
1878
- this.indicatorScheduler.update(this._internalData, this.lastVisibleRange);
1879
- this.scheduleDraw();
2022
+ const indicatorsReady = this.indicatorScheduler.update(this._internalData, this.lastVisibleRange);
2023
+ if (indicatorsReady) {
2024
+ this.pendingIndicatorDataUpdate = false;
2025
+ this.scheduleDraw();
2026
+ }
2027
+ else {
2028
+ this.pendingIndicatorDataUpdate = true;
2029
+ }
1880
2030
  });
1881
2031
  }
1882
2032
  this._dataBuffer.setSymbol(spec);
@@ -2031,7 +2181,7 @@ export class Chart {
2031
2181
  * 更新缓存的 scrollLeft 并触发交互 controller
2032
2182
  */
2033
2183
  handleScrollEvent() {
2034
- this.interaction.onScroll();
2184
+ this.interaction.onScroll({ scheduleDraw: !this.pendingIndicatorDataUpdate });
2035
2185
  // 更新 viewport signal 中的 visible range
2036
2186
  this.updateViewportSignal();
2037
2187
  }